Symfony事例紹介
- 4. symfony の導入実績 超有名どころ Yahoo! Bookmarks http://bookmarks.yahoo.com/ symfony の採用が一時ニュースに 系列に吸収された del.icio.us も symfony 採用予定 Id:i_ogi さんに色々聞いておけばよかった>< 日本だと Sorcefoge.jp Project Wiki http://sourceforge.jp/projects/sourceforge/wiki/ 今は Wiki のところだけの模様 採用理由とか聞きたいですね 06/02/09 ゆどうふ@ symfony 勉強会
- 5. symfony の導入実績 国内外合わせて約 500 サイト Applications Developed With Symfony より http://trac.symfony-project.com/wiki/ApplicationsDevelopedWithSymfony あくまでも「自己申告」の事例数 アシアルで出してるのも申告 してないぐらい (w) なので、 本当はもっとずっと多い 06/02/09 ゆどうふ@ symfony 勉強会
- 11. symfony 採用の動機 「アシアルが symfony を選んだ理由」ですが。 サービス会社よりも開発会社に身近な理由が多いかも。 一昨年、今後の標準 FW を選定 これまでは自社 FW を利用 軽いので今でもちょくちょく使ってる。 会社の人数が増え始めて、チーム開発を真剣に見直す時期に来ていた 環境は全て PHP5 移行済だったので、純粋に性能で 保守顧客も含め、今は1つしか PHP4 案件がない 06/02/09 ゆどうふ@ symfony 勉強会
- 12. 条件1:開発が活発である メジャーな方がノウハウを蓄積しやすい。 とはいえメジャーでも Mojavi みたいに衰退されて困る。 この時点で symfony 、 CakePHP 、 ZF 出たての Piece への期待もあった。 -> 一度使ってみた結果「まだ早い」 Ethna は以前一人泣いたので。。。 「 Yahoo! Bookmarks 」で symfony がリード Yahoo からのフィードバックも期待。 06/02/09 ゆどうふ@ symfony 勉強会
- 13. 条件2:業務利用に適している 圧倒的なドキュメント しかも勝手サイトながら日本語訳があった 英語だけなら止めていたかも。おやぢ組のおかげ! 他2つと比べて圧倒的なコード量と機能数 Cake はまだ当時おもちゃ感がぬぐえなかった。 若干印象先行だった 実際はちゃんと動くものだったけど、 symfony が作りこみ過ぎ 実は CakePHP は社内で使ってる ZF はポリシーやリリース品質の管理に不安を覚えた。 パーツとして使うのも、よほど愛着がないとめんどくさい 06/02/09 ゆどうふ@ symfony 勉強会
- 15. サーバ等構成 Web サーバ 1 台 Apache 2.2 系 PHP 5.2.5 しかも Xen 上 DB サーバ (MySQL) マスター 1 台 + スレーブ1台 (backup) 他サービスと共用 テーブル数は 28 まだまだ、こんなもん。 ユーザが増加してるので近日増築予定。 負荷分散の話はまだろくにできません。>< 06/02/09 ゆどうふ@ symfony 勉強会
- 16. 開発スケジュール 開発期間 2008/01 末~ 2008/03/21 約 2 か月 ( 内、コーディング 1 か月程度 ) 開発人員 2 名 + たまにヘルプ Web サイト自体はほぼ一人で作成 Flash ビューアや動画関連などでもう一人 Web 作った子は昨年4月入社の新人 もう俺よりデキる子ですね>< symfony 導入は全体の開発速度の向上につながった ただし、指導者が居てこそ、ではある。 06/02/09 ゆどうふ@ symfony 勉強会
- 17. DB と ORM MySQL + Doctrine を使用 それまで Propel を使用していたが、使いづらいという意見が多かった。 Propel は抽象度が高すぎて SQL と乖離しすぎる SQL 一発でとれるのに何行もクエリを発行することになったり そのくせ複雑なところは生で SQL SQL 脳でやってきた人には、切り替えコストが高い より構文が SQL に近い Doctrine を試験的に採用 06/02/09 ゆどうふ@ symfony 勉強会
- 18. DB と ORM Doctrine を採用して、どうなったか? マイページ・・・結局 orz SQL っぽく書けるようになったけど、クエリ数w クエリそのものが汚いのは ORM の宿命 クエリ数はたぶん作る側の問題。。。 正しく使うには、 ORM そのものを高いレベルで理解しないとだめなのはどれも同じですね>< 06/02/09 ゆどうふ@ symfony 勉強会
- 19. Doctrine の苦労話とか 日本語ドキュメントがなかった Propel もないけど、さらに情報がない 幸い、趣味?でうちの CTO が深く調べてたので解決 DQL の実装が中途半端すぎる 特に DATE() 関数が使えないのとか泣ける アクセス解析関連を日付ごとにカウントしたいのに。。。 こういうのは結局、生 SQL を書いてる 06/02/09 ゆどうふ@ symfony 勉強会
- 20. Doctrine の苦労話とか DQL でエイリアスをきれいに書いても 汚い SQL に作り替えられる。 FooBarBuz fbb とか書いても fbb->f に変わってるとか 見た目の問題だけど、いちいちストレス 複雑な DQL を書くとエイリアスの脳内変換がうざい それでも Propel よりは開発しやすかった ( 開発者談 ) この辺は好みの問題もありそう 06/02/09 ゆどうふ@ symfony 勉強会
- 21. schema の管理 スキーマの作成には DB Designer 最初は Propel で使える schema を書ける という理由で採用 でも。。。 外部キー参照が落ちるとかいろいろ問題 さらに Doctrine で使えるように変換するのも大変 今は結局手作業になっている。 とはいえ、便利なので継続使用。 schema 周りの管理は symfony の課題になりがち 06/02/09 ゆどうふ@ symfony 勉強会
- 22. 負荷対策 現在やっていること xcache どちらかいうと実験的に。 詳しいベンチ計測はしていない。 ざっくり調べた感じ、 50% ぐらいの向上にはなっている。 現在の規模ならまだ十分 symfony のテンプレートキャッシュは。。。 実は off 。使ってない。 開発者いわく「忘れてた」。。。ないわー orz 作り変える必要が出るので、要検討 新たに導入するぐらいなら、別の負荷対策を優先する方が? 06/02/09 ゆどうふ@ symfony 勉強会
- 23. 負荷対策 今やってることと今後の方策 APC の検討 Xcache との比較が必要 それほど差はなさそうなので「次の開発で」というレベルかも id:sotarok が超頑張ってベンチ調査してくれてます>< memcached まだ先かも? 画像類は同一クエリが多いので、効果が高そう。 今後、ユーザ数増加とともにどんどん実行 いろいろ実績が出てきたら、また報告できたらいいかも。 06/02/09 ゆどうふ@ symfony 勉強会
- 25. 最後に ご清聴ありがとうございました。 近くの鉄っちゃんに「トレイン・トレイン」を ぜひよろしく>< http://traintrain.jp/ 06/02/09 ゆどうふ@ symfony 勉強会