「 2011年は、Rails3を使おう!〜masuidriveに学ぶ」に参加してきました。
- @masuidriveこと増井さんが講演されると言うことだったので、2011年は、Rails3を使おう!〜masuidriveに学ぶに参加してきました。
- 備忘録がてらメモをあげておきます。
第1部 Rails3情報源の歩き方 〜公式サイトの歩き方から定番サイト、必見コンテンツまで一挙ご紹介(西村賢氏)
- @knsmrこと西村賢さん
- Ruby on Rails は英語情報が豊富
- Rails Document の Rails Guidsがオススメ
- Ruby, Railsにはテスト文化があり、すばらしい
- いいプラグインが知りたかったら、Asakusa.rbに参加するとよい
- ジャンル別ならRuby Tool Boxを見るといい
- Rails3で動くか確認するには、RailsPlugins.orgで互換性を確認するといいよ
- screencastsが豊富
- カンファレンス
- RubyConf, RailsConf, RubyKaigi, EuRuKo, Regional RubyConf, RubyWorldConference, RailsDevCon
- 日本語情報はRailsHubを見てね!
第2部 Rails3を使おう! 〜Railsの設計思想の変化とRails2からの移行(増井雄一郎氏)
- Ruby on Railsの歴史をさらっと
- 2004/07 〜 2005/12 1.0, 2007/12 2.0, 2010/08 3.0, 2010/11 3.0.3
- Rails 1.0
- Rails 2.0
- Rails2 リリース後
- Sinatra, Merb + DataMapper
- Sinatra
- Simple
- Merb+DataMapper
- RailsがMerb から得た物
- Passenger
- Heroku
- Heroku, Engine Yard App Cloud like, New Relic アプリ管理サービスあり, Rails周辺のビジネスが成り立っている
- Rails3で何が変わったのか
- Sexy になった(出るとこは出て引っ込むところは引っ込んでいる)
- routes.rb hash => method 可読性が上がった
- Rails 3
- Full stack, but Modulable, ActiveRecordの新クエリエンジン(Arel), 新しいRouting engine, Plugin API, Bundler
- Rails2 => Rails3 Upgrade
- Rails3の安定度
- no clash, no change API, performance
- Performance
- モジュール構造になると、メソッド呼び出しが増え、どうしても遅くなる, 特にRails 3.0.0のActiveRecordが遅かった, 3.0.2で大きく改善している
- コードの書き換えをするなら
- コードの書き換え
- config/*, config/routes.rb, app/models/* あたり
- Peepcode
- screencast, Rails 3 Upgrade Handbookが参考になるよ
- 結論
- 新規アプリはRails3で
- テスト書いてないならUpgradeはあきらめる
- PluginのRails3対応度次第
- ActiveRecordは後方互換を生かしつつ
- Routingを書き換えるのはそれほど問題ではない
- Rails3の特徴
- ActiveRecord 3
- Hash > Method
- Bundler
- 依存するGemのインストール, バージョン管理, Gemfile
- And more..
- Erb, ActionMailr, etc.
- ActiveRecord 3
- Rails3に期待すること
- Plugin APIにより、Pluginの互換問題がすくなるなる, module化によってパフォーマンスの最適化が行いやすくなるといいな