Upload
skyseeker
View
7.725
Download
4
Embed Size (px)
DESCRIPTION
2008年2月20日(金)に開催されたCakePHP勉強会で発表した@nifty トピックイットの資料です。
Citation preview
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
2008年2月20日ニフティ株式会社
新規ビジネス開発部 寺本 和彦
ソーシャルニュースサービス「 @nifty トピックイット」のご説明
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialサービスの概要
記事の投稿数では、おそらく「日本最大」?のソーシャルニュースサービスです。
・2007年4月12日 ローンチ
・月間5000本以上の記事数
・月間?百万ページビュー
http://topic.nifty.com/最近、テレビでも紹介されて盛り上がってきまし
た。。。
50000回の投票数
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialちょっとした特徴1
活発なコミュニティと、中学生からシニアまで幅広い利用者にアプローチ
ソーシャルニュースに中学生参戦!中学1年生もユーチューブの時代!?
ちょっとびっくりの Digg 並みのポイント数果たして5桁はいけるのか?
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialちょっとした特徴2
iPod touch 版や Wii 版などのデバイスフリー志向
将来的に・・・身の回りのあらゆるデバイスでトピックイット(冷蔵庫やスペースシャトルも?)
PC版
iPod touch 版
任天堂 Wii 版モバイル版
Wii Fit で疲れたあとは
トピックイット
発表の翌日制作開始
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialちょっとした特徴3
自由度の高いAPIや画期的なコンテンツマッチ型ブログランキングなどの提供
約30種類のAPI提供自分のトピックイットが作れる!?
ブログへの集客力アップ間違いなし!コンテンツマッチ + ウェブリング
ブログランキングサービス!?
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential今後のトピックイット・・・
・中身で勝負
・モバイルに注力(モバイル検索)
・デバイスフリー
あと、負荷対策がんばります。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
で
1 年使ってみて・負荷
2008年2月20日株式会社 イー・エージェンシー
モバイルソリューション事業部 北村 佳巳
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential最初に・・・
・最初に
10分でソーシャルニュースは作れませんでした。
すみません。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
何故、 cakephp を使ったか 1
・何故、 cakephp を使ったか 1
[ 前提条件 ]
php4 で高速開発
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
何故、 cakephp を使ったか 2
・何故、 cakephp を使ったか 2
・ php4 でも使える → RHEL4 が php4.1 系のため
・ Active record
・ rails っぽい
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential開発の流れ・スケジュール
・開発の流れ 要件は固まっていたので、プロトタイプ作成とかはなく、 一気に構築。
・スケジュール 200701 中旬 開発スタート 200704 初旬 ローンチ : 開発自体は高速にできるのだが、サーバ環境や外部認証まわり といった部分で時間を使った。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialサーバ構成
・ Reverce Proxy 2 台 → apache2.0 系
・ app server 2 台 → php4.1 系(そろそろ ver あげたい)
・ Master 、 slave のレプリケーション → MySQL(innodb)
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential開発時に発生した問題点
・当時、日本語ドキュメントが少なかった → ソース読めってことで解決
・コミュニティが英語で交わされていた →英語読めってことで解決
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential開発時に発生した問題点 (しいて言うなら)
・ブックマークレット作ったとき、うまく動作しないことが・・・
↓ 原因
CAKE_SECURITY=high ini_set(‘session.referer_check’, $this->host); →セッション ID でリファラチェック。 、、そんなに意味ないのでは・・・? firefox なら変えられるし。。 ↓ medium に変更
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential開発時に発生した問題点
・ cakephp はよくできてると思います。 →慣れてしまえば高速開発 最近では、日本語の解説本もある。
[PR]
http://www.amazon.co.jp/CakePHP%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF-%E5%AE%89%E8%97%A4-%E7%A5%90%E4%BB%8B/dp/4839924317/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1203432909&sr=8-1
http://www.amazon.co.jp/Fast-CakePHP-LL%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFBOOKS-%E7%A7%8B%E7%94%B0-%E7%9C%9F%E5%AE%8F/dp/4774133418/ref=sr_1_4?ie=UTF8&s=books&qid=1203432909&sr=8-4
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential機能追加とか・・・
機能追加、拡張は次々と・・・
・ wii 版 ・ ipod touch 版
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialだんだんと・・・
機能追加、拡張は次々と・・・ ・ブログ記事レコメンド機能 ブログのエントリ内容をMecabで形態素解析してTF値とか出してレコメンド
の でレコメンド
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialそして・・・
機能追加、拡張は次々とできるが、、
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential今後のトピックイット・・・
・中身で勝負
・モバイルに注力(モバイル検索)
・デバイスフリー
あと、負荷対策がんばります。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential負荷対策・・・
負荷対策・・・がんばります。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
ActiveRecord を信用しすぎない
( cakephp に限ったことじゃないし、よく言われてる?ことですが、再度。)
・ Active record するときに注意する こと
ストレージエンジンやテーブル内容を意識してない 効率的ではない query になりがち
プログラミングは高速でできるが、サイトのレスポンスが 遅くならないように注意する。
→開発する際に意識してれば何も問題ないですが。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
負荷対策といえば、、
・ cakephp1.2 の memcached を 試してみた。 compornent http://bakery.cakephp.org/articles/view/memcache-component
wrapper http://bakery.cakephp.org/articles/view/memcache-wrapper-class
query の cache を memcache
memcached 自体は安定?してるし、早くて便利。 php なのに、複数のスレッドをまたいで共有している気分 になれました。 1.2 じゃなくても、 1.1 でもそのまま使えた (vendor) 。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
Cakephp の対応できるサイトの規模
・サイトの規模
トピックイット企画時 (2006年 11月くらい ) は、大規模サイトには向いていないって言われてた。 ↓memcached や DB分割が簡単?にできちゃうし、サービスにもよるが、設計とチューニング次第で大規模でもOK。
それに、 1.2 はキャッシュ機能がいっぱいあるし、1.2 に期待しております。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential
Cakephp の対応できるサイトの規模
・・・というよりも
Cakephp として、大規模なサイトへの対応は、「キャッシュをうまく使って対処しよう」ってことが前提で 1.2 系は開発されているのでは?
+ACL
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential今後やりたいこと
・ memcached query_cache view_cache session_id
・ ACL
・ DB分割
・(とにかく速くできるもの全部)
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential今後やりたいこと
・「今後やりたいこと」をトピックイットでやったときは、その結果とかをまた。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidential最後に・・
・開発する際に分かりづらかった点
SQL 発行の際の組み方が分かりづらい。 Where句のあたりとか、そういう部分を誰かが分かりやすく説明してくれると、、、みんな助かります。
Copyright© 2008 NIFTY Corporation. 株式会社イー・エージェンシー
Strictly Confidentialお礼
以上。
ご静聴、
ありがとうございます!!!!