CakeMatsuriTokyo2009に行ってきた

10/30、31に渋谷のシダックスホールで開催されたCakeMatsuriTokyo2009に行ってきました。
今年は1日目がワークショップ、2日目がカンファレンスという日程でした。
自分はカンファレンスのみの参加でしたが充実した内容でとても良いカンファレンスだったと思います。

以下、俺俺まとめメモ。

基調講演 CakePHP道(Yusuke Andoさん)

日本OSS奨励賞受賞おめでとうございます!

  • 障壁が低くいからユーザーが多い→ユーザーが多い事自体がCakePHPの価値になっている
  • Give back much as you take.
  • コードを公開することで還元できる
  • set::combine
  • 公開されているソースコードから学ぶ(remora,cookbook,croogo,candycane)
  • 技を使ってクリーンで小さいコードを目指す
  • CakePHPで世界が身近になる
事例紹介1 CakePHPで作る地域SNS(あつさん)
事例紹介2 スズキ自販サイトでの CakePHP 活用事例(syuhariさん)
  • PostgreSQL,MySQLのビューをmodelにした
  • PHP5.3を使用
  • Cakeをカスタマイズすると引き継ぎ難になる
  • syuhariは守破離
事例紹介3 nanarpiのレシピ(和田修一さん)
CakePHP: The framework strikes back(Graham Weldonさん)
  • cakephp1.3
    • jsのoutputをHtmlhelperが担当
    • jqueryがデフォルトに(prototype/mootoolsも使用可)
    • バッファリング可能
    • Bakeでテスト、テンプレート、プラグインの使用が可能
    • Routingでadmin以外のprefixも簡単に追加できる
    • DatasourceプラグインによってDatasourceへのアクセス、共有、管理が容易に
    • 下位バージョンからのMigration guideも用意
  • CakePHP2.0
    • PHP4はサポートしない(PHP5.2以降のサポート)
    • PHP6のfutureもサポートしていく
    • ActiveRecored見直し
    • モデルからオブジェクトが返される
    • 後方互換のため配列も返せる
    • モデルは必要な時のみロードされる
    • ClassRegistryは削除
    • 速度向上、メモリ使用量の削減がポイント
    • テストケースのカバレッジを100%にする
    • 日本のコミュニティの規模はアメリカに次いで2位
    • CakePHP2.0への要望を聞きたい
事例紹介4 物件紹介ポータル Expression Engineと連携でShoppingCart(bennyleeさん)
  • 俺俺フレームワークが横行→共通フレームワークが欲しい
  • 条件
    • PHP4+5対応
    • 習得コストが低い
    • 日本のコミュニティ、ドキュメントが充実
  • 権限管理は自作components
  • 無限画像アップ
  • 更新が少ないDBの検索結果はキャッシュ→外部ライブラリで実現(coreのcacheを使えば楽)
研究分野でのCakePHPの活用事例とその周辺の話(飯塚康至さん)
  • みんなの研究生活P-LabTexを使ってweb上で論文作成
  • ext.jsを使ってexcelライクなUI
  • SQLを書かなくて済むのが良い→SQLを書かない設計をする
  • pr()、pagenaitonが便利
  • bbsコントローラのモデル名はbbになってますw
  • エディタはeclipsepleiades
  • dropboxはバージョン管理もできる
  • 準委任契約→CakePHPの生産性が高くて稼げないw
プラグイン活用法(slywalkerさん)
Key-Value Stores & Non-Relational Databases(Joel Perrasさん)
LT1 ウチのCakePHP(新原雅司さん)

usesでmodelを指定せずにClassRegister::initでモデルのインスタンスを生成、例外処理を行う

  • insertとupdateを明示的に分ける実装
  • 独自behavior
  • CakePHPは懐が深いので気に入らないところは拡張しましょう
LT2 Lerning Cakephp(藤原敬弘さん)
  • とにかく作る→ブログチュートリアル
  • 好きなものを作る→マニュアル参考
  • 高度なものを作る→マニュアル参考
  • そしてハックする!
LT3 CakePHP in iPhone application(松浦晃洋さん)
  • スコア登録、ゲームランキング機能
  • 警告画面にブラウザを組み込んでランキング表示
  • iPhoneアプリ作りましょう!
  • iPhoneアプリの本書いてます!(来年発売?)
LT4 CakePHP弊社事例(渡辺翔太さん)
  • twiiterの管理、宣伝ASP
  • APIからのデータ取得独自Datasourceを作る
  • 取得したデータをmodelからまとめて取得
LT5 CakePHP + Fusic(小山健一郎さん)
LT6 CakePHP is good(こんのようすけさん)
  • バターケーキじゃなくてホイップが食べたいんだ!
  • 開発に必要なのはルール
LT7 remember me(パーハックキースさん)
  • 日本語勉強サイトを作成
  • remember meが動かない→このコードはテストしてませんw
LT8 bind,unbindはもう古い!Containable Behaviorでrecursive=3だってこわくない!(秋田真宏さん
  • containable behavior
  • unbined→いらないものを書く
  • containable→必要なものをかく
  • 必要なものを書くほうが直感的、アソシエーション増えてもOK
LT9 Hituji×Cake Story(北川大祐さん)
  • 俺俺フレームワークからの移行
  • CakePHPは開発が活発、バージョンアップ時のテストがキツイ
  • クリティカルな処理はストアドへ
  • Cakeにストアド実行関数を実装
  • cssファイルをcontroller単位で分割
LT10 基本のお菓子―とりあえずこのプラグインさえ使えれば(高橋征義さん