いつでも発展途上

猫と珈琲とゲームが大好きです。ITエンジニアらしいです。メモ代わりにいろいろ書いています。

2011年は、Rails3を使おう!〜masuidriveに学ぶ に行ってきました

1/12 に開催されました 2011年は、Rails3を使おう!〜masuidriveに学ぶ に行ってきました。
Rails3 について概要がざっくりわかり、なかなか良かったです。懇親会には出られませんでしたが…
追記:当日のつぶやきをまとめました。http://togetter.com/li/88929

以下、自分用メモです。ちっともまとまっていません。

1. Rails3情報源の歩き方 @knsmr

  • ASCII, @IT, Matzの追っかけ, Google, そしてRails
  • 英語圏だと情報がすごく多い
  • エンジニアはもちろん英語を読めたほうがいい。TOEICはペースメーカー。800点後半で講演がわかるなど
  • まずは公式サイト, Screencasts おもしろい, Document/Guides 他の本はいらない?! APIリファレンス, 公式アナウンス
  • EdgeRails はちょっと更新が止まってる
  • もっと追いたい人は公式リポジトリ github rails/rails
  • 公式BTSはスパムが増えて追いづらい
  • Githubは宇宙! Rubyコミュニティはつながる。PHP島宇宙
  • ウォッチャー数とフォーク数が人気度の指標
  • よさげなプラグインは Asakusa.rb できく
  • Ruby Toolbox ジャンル別に検索できる
  • それってRails3で動くの? メジャーなものはけっこういける
  • Screencast が豊富。Railscasts は毎日更新, 文字で読みたい人は ASCIIcasts, 公式サイトにRails3で変わったことガイドがあるので必見!
  • Rails for Zombies
  • Rails3 cheat sheets
  • Ruby on Rails Turorial PDFのほうが読みやすい
  • 公式 Rails Wiki 和訳は追いついてない
  • Confreaks カンファレンスをウォッチする
    • RubyConf, RailsConf, RubyKaigi RuRuKo
  • OSSは人が作る
    • Railsコアチーム紹介。Ruby Commiters (yaml)
    • DHHは面白い。地元で愛されるイタリア料理店を目指せ
    • Matzにっきではうっかり重要情報が。。
    • Yehuda Katz 熱いパッション
  • 海外のオンライン媒体。RubyInside おすすめ。Engine Yard ブログ, 息抜きにRuby Quicktips
  • はてダのRuby, RailsRSSに登録するのもいい
  • るびま
  • ML: Ruby on Rails Talk 流量多いので検索する
  • StackOverflow もよい
  • RailsBridge コミュニティ?
  • Rails勉強会東京, 関西
  • 日本語による情報は少ない!@ITRails Hub でやっていく

2. Rails3を使おう! @masuidrive

  • おさらい, Railsの歴史
  • Rails の特徴 CoC, DRY, MVC, Full stack, Generator : Write less code
  • Rails 1 から 2 になって使う人が増えた。1のころはRubyプログラマ自体が少なかった。
  • Rails 2 で変わったこと: RESTful, JSON, security (えらい先生に吊るし上げられる), 多言語対応, パフォーマンス改善
  • Rails 2 の問題。複雑すぎる(コードが多い)、遅い、プラグインがすぐ非互換になる、環境構築(レンタルサーバにない、依存関係が厳しいなど)
  • 2のあとの流れ。Yet another Rails 的な
    • Sinatra シンプル
    • Merb + DataMapper モジュール差し替えの自由があるが不安定(非実用)
  • Merb gets merged into Rails in 2008. モジュール構造、Plugin API, MatzRuby以外でも動作する
  • Passenger: Apache モジュール。1サーバで複数Railsアプリの管理もかんたん
  • Heroku: Railsクラウド. Railsを基盤としてビジネスする人の増加(米)
  • そして Rails3
    • Sexy になった = きれいに書けるようになった。hash 渡し→メソッドチェーン
    • フルスタックだがモジューラブル
    • Arel: ActiveRecordの新しいクエリエンジン。SQLのところを抽象化
    • Bundler: gemの管理。
  • Rails 2 を Rails 3 へあげるべきか?
    • 最新のRailsは一番いいRailsプラグイン対応、安定性、マイナーバージョンを飛ばしてあげるのは大変 2.3→3.0のうちにやるべし
    • 3.0.3以降で安定してきた by アーロン
    • モジュール構造になるとメソッド呼び出し回数が増え、どうしても遅くなる。3.0.2以降で改善
    • ActiveRecord: ActiveModel, SQLAdapter, Arel(ここだけいじって速度をあげた。モジュール化の恩恵)
  • 2からのコード書き換え
    • テスト書いてないなら諦める(会場、私もふくめ、意外にテスト書いてない人が多い)
    • まず 2.3.8 にupgrade。ここでつまづくなら諦める
    • プラグインがRails3に対応してるか?を確認する。未対応で書き換えできないと難しい。製作者にバグレポート出すなど
    • config/*, config/routes.rb, app/models/*
    • 書き換えに役立つ資料。Rails3 Upgrade Handbook
    • 達人出版会で「はじめる!Rails3」を出すらしい @takahashim
  • Rails 3 でかわったところ
    • User.find --> User.where
    • 表記の省略がおおい。すっきり書ける
    • Bundler 簡単にコマンド1つでインストール。関連gemを全部いれてくれたり
    • ERb: default HTML escape
    • ActionMailer の位置づけ
    • script/* ---> rails *
    • respond_to :html, :json, respond_with(@hoge)
    • ActiveRecord の lazy loading
    • 3でプラグイン非互換が減るかも、とかいろいろ期待される
  • Titanium mobile の宣伝がありつつ終了
  • 質疑応答
    • Q.Ruby のバージョンは? A. 1.8.7 (1.9 も試してはいる)
    • Q.Rails1 で動かしてるのはなぜ? A.終了したプロジェクトで工数をかけられない

3. Rails技術者認定試験のご案内

  • 日本には100万人のITエンジニアがいる。うち Rails は2.8%, 希望者 24% ギャップは最大
  • Ruby の成長率は高いが仕事数は Java よりまだ低い
  • ITトレメに模擬問題を出す予定
  • Rails のバージョンアップは早いので書籍は出さない(赤字になるから)
  • Rails 試験がほしいという声が多いらしい
  • Web上の教材を Rails Hub にのせる予定