RailsConf 2008まとめ(簡易版)
- 参加分のみまとめ
- 聞き取り調査したベンダのまとめは別途
2008/5/29(Tutorial)
Refactoring Your Rails Application
- リファクタリングの「つぼ」を解説するTutorial
- サンプルプロジェクトが配布され各自Hands-onで学ぶはずであったが、無線LANの容量不足や各人のRails環境差などで座学中心に
- 資料
- スライド(PDF)
- 読み物(PDF)
- 実習用コード(zip形式)←2008/6/5追加
- 資料(2008/6/19追加)
- 印象に残った事
Powering AIR Applications with Rails
- Adobe AirアプリケーションをRailsからいじくる、というお話
- Air前提知識がなかったのでちょいとつらかった。
- XMLやJavaScriptがりがり書かないといけないの? それはちょっとつらいかも。
- でも、オフラインで動くアプリを書けるのは嬉しいね。
- 関連リンク
2008/5/30
- Microsoft .NET上実装のIronRubyでもRailsが動いているよ、というお話
- コードの変更はほとんど不要。SQLServerアダプタ利用を宣言するところくらい。
- but wait... there is more!
- SilverlightアプリケーションをIronRuby on Railsから制御するためのライブラリSilverlineが紹介されていた。
- んー、でもこのためにWindows導入して苦労するのもなんだかなー。
Surviving the Big Rewrite: Moving YELLOWPAGES.COM to Rails
- YellowPages.comをRailsで全面書き換えしたプロジェクトの報告。
- 今回、一番感動した話。
- 古いコードを「資産」としてとらえるか「不良資産」としてとらえるか。
- テストコードがない、コードが汚くて保守性が低い...これらは「不良資産」。
- RailsできちんとAgile開発する事で短期間のうちに、きれいで高性能コードの成果物を届ける事ができた。
- あくまで、人の問題でもあるわけだが...
- CTO(技術担当最高役員)の理解が得られたのも大きい。
- 資料
Faster, Better, ORM with DataMapper
- ActiveRecordとはちょいと違うORM
- id map...ある行を格納するオブジェクト実態は常に一つだけ
- lazy loading...大量の行を読み込んでも、実態にローディングされるのは参照時直前
- connection poolやらdirty trackingやら、ActiveRecordよりもよさげ
- レガシーDBとのマッピング定義も多少楽になりそう
- 関連リンク
Flexible Scaling: How to Handle 1 Billion Pageviews
- Facebook上で動くWorld War Craftもどき「Warbook」の性能対策
- WarbookはAmazon EC2上で動いている。バランサはperlbalで、後ろに12台のmongrelを並べてスケールさせた。
- 使うべきツール
- firebug, iostatやmtopなどのコマンド
- 使うべきではない手段
- logging
- 使った手段...とにかくキャッシュヒット率を高めるようにした。95%達成。
- memcache (GByte単位)
- セッション情報をmemcache上に置くようにした
- no-select design
- cache_fu
2008/5/31
Assembling Pages Last: Edge Caching, ESI & Rails
- ESI (Edge Side Includes)を使った高速化の話
- ESIそのものはRailsに限った話ではない
- 画面構成部品(Railsならrender partialで描く単位)ごとにキャッシュさせる
- 商用サービスのESI(Akamai)なら、キャッシュを地域分散させることも可能。ESI実装で一番完全に近いのはAkamai。
- オープンソースだと、mongrel-esiやsquidなどが使える
- 商用製品だとWebsphare, Oracle Web Cache 10g, Big-IPなど
- ESI利点
- ESI欠点
- cache invalidationが簡単ではない。(これはESIに限らずどこでも同じ話?)
- オープンソース製品がまだ早熟
- 実装コストが高くつく
- RESTによる実装は教科書的なアプリケーションだと簡単だけど、複雑になってくると中々考えちゃうよね。
- その際に考慮するべき事項の解説。
- 資料
Fast, Sexy, and Svelte: Our Kind of Rails Testing
- テストを「効率的に」処理する方法・Tips紹介
- Unit TestでDBを叩かない... http://unit-test-ar.rubyforge.org/
- Unit Test for controllers(viewを巻き込まないテスト)... http://unit-controller.rubyforge.org/
- Functional Testでfixture依存性を減らす...Model FactoryやDeepTest
- Acceptance Test...HPricotとか
2008/6/1
The Worst Rails Code You've Ever Seen (And How Not to Write It Yourself)
- いわゆる「汚い」コードの数々と、そうならない・そうさせないためのTips集
- 悪い例
- Integration of concerns...一つのメソッドでなんでもやっつける
- Premature deoptimization...半端な非最適化(笑
- Application-wide actions...どのリクエストでも必ず実行されるメソッド...
- 巨大コントローラ...1130行の実例を見せてもらった!
- SmallTalkを知っているベテランを探し出せ。そして、その人と若手とでペアプロさせるのだ。
- 日本だと無理っぽい。
Advanced Mongrel: Handlers and Plugins
- mongrel活用の話を聞けるはずだったが、プレゼン用Macが故障したため事実上雑談に。
- あとで資料がブログに乗るらしい。 http://adam.blogs.bitscribe.net/
- すんません。つまらなかったので熟睡しちゃいました。
Advanced Active Record Techniques: Best Practice Refactoring
その他
各発表の資料へのリンクは適宜追加していく予定。
はじめてのRuby on Rails3―「Webアプリケーション」作りに定番の「フレームワーク」を使う! (I・O BOOKS)
- 作者: 清水美樹
- 出版社/メーカー: 工学社
- 発売日: 2010/11
- メディア: 単行本
- 購入: 3人 クリック: 85回
- この商品を含むブログ (6件) を見る