第2回CakePHP勉強会にいってきた

http://events.php.gr.jp/event.php/event_show/36

いってきました。すごいちゃんとした勉強会で正直びびりました。そしてトライコーンさん(というよりもセプテーニさん、になるのかな)のバースペースもすごいですね。セミナールームには今期MVPとかが壁にはってありました。

第1回の内容をよく知らないのだけど、第2回は実際にCakePHPの運用事例を紹介する、というテーマでした。このあいだのDeNA勉強会もそうだし、みんなこういうところを考えて運用しているんだなー、というのが知れておもしろい。

addons.mozilla.org@CakePHP

yandoさんのお話。

firefoxのアドオンがおいてある、あのサイトが実はCakePHPで作られていたんだそうです。しかもそのソースが公開されていて、Remoraと名前までついているそうな。で、実際にダウンロードして localhost でそのままなサイトが動いているのをデモしていただきました。すごすぎる!!

  • サイト情報
    • Web 12台, DB master 1, slave 2台, 450万pv/day
    • 機能数 30, 対応言語 28, DBのテーブル数 47

既成の比較的大きなフレームワークを使うと、開発スピードは上がるけれど、規模が大きくなると重くて使えない、というイメージがありますが、これくらいの規模でもCakePHPでいけるんですね。もちろんある程度は重くなるので、firefox起動時にアドオンのupdateを調べにいくAPIはwwwrootにスクリプトかいちゃっているそうですが、それいがいは十分いける、と。

かつてSmartyを使っていたころがあったそうなんですが、リニューアルのタイミングでやめたんだそうです。いまはviewはphpをそのまま書いている + 多言語化対応で gettext していると。

CakePHP本体にけっこう手を入れてしまいたくなりそうですが、上に書いたAPI以外はほとんど(?)そのままで、アプリ側で必要に応じてメソッドをoverrideしているくらい。

というかんじなんですが、こんな情報を実際にRemonaの中の人(もちろん外人さん)にメールして聞いてる安藤さんの行動力が一番感動でした。おおおー。

@Niftyトピックイットの運用事例

niftyの寺本さんと、開発をされていたイーエージェンシーの北村さんのお話。

日本最大の(自称、とおっしゃっていました)ソーシャルニュースサービスである @Niftyトピックイット (http://topic.nifty.com/) もCakePHPで作られているんだそうです。

2007/01 開発スタート、2007/04にlaunchしてちょうど10ヵ月くらいたったところで、いまは月間1000万pvくらいあるそうです。PCサイトだけでなく、モバイル、iPod touchwii版もある(作る予定?)で、中身とデバイスフリーが売りなんだ、とのこと。思ったよりも規模が大きくなったので負荷対策が目下やらなきゃいけないこと。

で、なぜCakePHPを選んだのかが気になるわけですが、php4でいける、Railsぽい, ActiveRecord使える、といったところが基準だったそうです。いまではもうphp4を売りにするようなこともない気がしますが、ActiveRecordはやっぱりいいんですね。ただし、たとえばどういうSQL吐くかとかを細かく見ていくと、けっこう不満もおおいようです。

あと、CakePHPとはあまり関係ないけど、記事のレコメンド機能についても触れられていました。Mecab形態素解析してtfを使うと言っていました。tf/idfでdocumentのcosine類似度ってことなのかな。やっぱbag-of-words万歳なかんじですねぇ。

ライトニングトーク

  • Emailコンポーネントはつかえるのか?
    • suzukiさんのお話。
    • MIMEエンコーダの改行がマルチバイトで文字化け的なよくある話がやっぱりだめでした、とか、まだ細かいところは甘い所があるようです。
  • 初心者がはまりやすいCakePHP
    • なんと百式の田口さんの発表!
    • akiyanさんに勧められて初心者からCakePHPつかってみたよ、というお話でした。
    • 柔軟すぎて、なにが間違っていたのか初心者にわかりにくい、というのがすごい印象的でした。
  • あのOSSをCakeに移植する
    • p4lifeさんのお話。
    • FastladderCakePHPで書き直してました! しかも見た目はほとんどそのまま動いてるし!
    • フレームワークで移植してみて、それで比較したいですね、と。
    • Ethnaだとどうだろう。JavaScriptわかんない自分にはきつそうな感触。Mapleのkunitさん、3/1のOSC期待です!!

まとめ

てなかんじで、時間短いわりにすごい濃い内容でした。

フレームワークが目指すところって、難しいですね。開発スピード v.s. 対象とする規模とか、どこまで細かい機能をフレームワークがちゃんとサポートするとか、改めていろいろ考えさせられました。4travelのやまじさんは「次に新しいサービス作るならCake使ってみようかなー」とおっしゃってましたよ。

それと、田口さんには3年くらい前にお会いしてたんでしたけど、なんのイベントだったかな、とその場では思い出せませんでした。Y!の検索会議でしたね。ほんと、あのころと比べるといろいろ変わったなぁ、と思いました。

[追記] ↑ちょっと変だったので直しました。