CakeMatsuriTokyo2009に行ってきた
10/30、31に渋谷のシダックスホールで開催されたCakeMatsuriTokyo2009に行ってきました。
今年は1日目がワークショップ、2日目がカンファレンスという日程でした。
自分はカンファレンスのみの参加でしたが充実した内容でとても良いカンファレンスだったと思います。
以下、俺俺まとめメモ。
基調講演 CakePHP道(Yusuke Andoさん)
日本OSS奨励賞受賞おめでとうございます!
事例紹介2 スズキ自販サイトでの CakePHP 活用事例(syuhariさん)
- PostgreSQL,MySQLのビューをmodelにした
- PHP5.3を使用
- Cakeをカスタマイズすると引き継ぎ難になる
- syuhariは守破離
事例紹介3 nanarpiのレシピ(和田修一さん)
- CakePHPは重い→複雑な処理はCake、速度重視の表示系はClearSilver
- Tokyo Tyrantのデータはバッチ処理でMySQLに保存
- lsyncdでディレクトリを監視、テンプレートを別サーバに転送
- 優先度の高い表示は静的なHTML、優先度の低い部分は非同期
CakePHP: The framework strikes back(Graham Weldonさん)
- cakephp1.3
- CakePHP2.0
- PHP4はサポートしない(PHP5.2以降のサポート)
- PHP6のfutureもサポートしていく
- ActiveRecored見直し
- モデルからオブジェクトが返される
- 後方互換のため配列も返せる
- モデルは必要な時のみロードされる
- ClassRegistryは削除
- 速度向上、メモリ使用量の削減がポイント
- テストケースのカバレッジを100%にする
- 日本のコミュニティの規模はアメリカに次いで2位
- CakePHP2.0への要望を聞きたい
事例紹介4 物件紹介ポータル Expression Engineと連携でShoppingCart(bennyleeさん)
- 俺俺フレームワークが横行→共通フレームワークが欲しい
- 条件
- PHP4+5対応
- 習得コストが低い
- 日本のコミュニティ、ドキュメントが充実
- 権限管理は自作components
- 無限画像アップ
- 更新が少ないDBの検索結果はキャッシュ→外部ライブラリで実現(coreのcacheを使えば楽)
プラグイン活用法(slywalkerさん)
- プラグインの基本
- エンタープライズrailsがオススメ
- bootstrapでプラグインPATHを設定→複数のアプリケーションで共通のプラグイン使える
- AccountManagerPlugin
- テーマ機能を使ってviewを分ける
- pluginのCSSを読ませるためにplugin内にカスタムDispatcherを設置、bootstrapでAPP::importで読み込む
Key-Value Stores & Non-Relational Databases(Joel Perrasさん)
LT1 ウチのCakePHP(新原雅司さん)
usesでmodelを指定せずにClassRegister::initでモデルのインスタンスを生成、例外処理を行う
- insertとupdateを明示的に分ける実装
- 独自behavior
- CakePHPは懐が深いので気に入らないところは拡張しましょう
LT5 CakePHP + Fusic(小山健一郎さん)
- DB Schema/Model Info Plugin
- DB Schemaを表示
- Model relationshipを表示
LT7 remember me(パーハックキースさん)
- 日本語勉強サイトを作成
- remember meが動かない→このコードはテストしてませんw
LT8 bind,unbindはもう古い!Containable Behaviorでrecursive=3だってこわくない!(秋田真宏さん)
- containable behavior
- unbined→いらないものを書く
- containable→必要なものをかく
- 必要なものを書くほうが直感的、アソシエーション増えてもOK