2011年は、Rails3を使おう!〜masuidriveに学ぶ 参加レポート
コンテンツワンさん主催の2011年は、Rails3を使おう!〜masuidriveに学ぶの参加レポートです。
開催概要
時間と場所
2011年1月12日(水) 19:30〜
株式会社オプト1F大会議室@神保町
参加料金
1000円
第3部終了後、ビールとピザの懇親会有り
まとめ
感想
- 新規アプリはRails3で作ってOK!ということなので、今丁度抱えている小さな開発をRails3デビュー戦にしたいと思います。
- Rails情報源・Rails設計思想ともに、綺麗なまとめで非常にありがたいです。
- 英語は…氏にたくなければ勉強するしか!(RailsCastを聞いてみたけど、これが聞き取れるようになりたいな!)
以下、プレゼンのメモ
資料はWebにあるので、資料にないコメントを中心に…したかったけどあまりできていない、、、
第1部のメモ
- @knsmrさん
- 会場、パソコン雑誌を今でも読んでいる人…いない
- 今日の発表はRailsDevConfのものとほぼ同じ
- 会場の反応がまるっきり違うので驚いた。まったく笑いがない……。寂しいとその後つぶやいておられました
- Rails for Zombies、会場で知っている人は半分弱ぐらい?
- Ruby文化の良いところは、こういう変なので盛り上がれるところ
- Railsの情報は英語だと豊富
- 英語のRails情報源
- Rails公式 が一番良い
- Screencastsが良く出来ている(15分でブログを作るとか)
- 貴重なrails0.5の動画もある
- 公式のRailsGuidesも良い、この内容が本になっていたらそれ以外の本が要らないぐらい良い
- 公式のAPI rdoc、show sourceでソースがすぐ見れるのがrubyの良いところ
- 公式のブログ、セキュリティやリリース情報
- Screencastsが良く出来ている(15分でブログを作るとか)
- EdgeRailsは準公式的だが最近更新頻度が低い
- 公式BTSもあるがスパムが多い
- Rails公式 が一番良い
- ソースを読みたい人はやっぱりGitHub
- プラグインの情報源
- Q.どうやってプラグインを探すか
- ベストアンサーに選ばれた回答 Asakusa.rb (勉強会に行って詳しい人に聞こう!)
- その他の回答
- RubyGems.org
- The Ruby Toolbox、ジャンル別に探せる(例:ActiveRecordの暗号化プラグインならどれ?)
- RailsPlugins.org、railsのバージョン別に動くかどうかを教えてくれる
- スクリーンキャストの情報源
- Rails文化はスクリーンキャストが豊富で良い
- Railscasts、毎週更新でコンテンツが豊富、動画も丁寧で良い
- ただし英語は早口なので、ヒアリングが苦手な人はASCIIcastsを使うと良い
- Scaling Rails、Rails3の変更点を映像でわかりやすく解説してくれる
- Rails for Zombies、最近人気の「変な」チュートリアル
- Rails3 Cheat Sheets
- Ruby on Rails Tutorial、無料のWebと有料のPDF。丁寧な出来。ブラウザだと読みにくいのでPDFで買うというモデル。
- RailsWiki(公式)、一部日本語、時々英語。
- Confreaks、海外のカンファレンス系サイト、Rubyに特化しているわけではないが、6-7割はRubyネタ
- カンファレンス系の情報源
- 個人系の情報源
- Railsコアチーム、9人ぐらい
- DHHのページ、ビジネスとソフト開発
- スーパーカーを運転した動画とかあるらしい
- いきなり世界最高のイタリア料理店を目指すのではなく、町でなかなか良いイタリア料理店を目指せ(後記:この記事の内容に近い?http://toshio.typepad.com/b3_annex/2008/04/ruby-on-railsda.html)
- Matzにっき、時々更新されて重要なことが書いてある
- yehuda katzのページ、彗星のように現れた新星。熱意がすごい
- その他海外系の情報源
- RubyInside、この中でどれか1つならこれが良い
- RailsInside
- RailsMagazine
- rubyflow
- これら、西村さんは良いと思うけど、増井さんに聞いたら「最近は微妙っす」とのこと
- その他の情報源
- Engine Yardのブログ、注目、技術解説からrubyの動きまで
- はてダでruby/railsで検索した結果をRSSリーダーに登録しておくのも良い
- Ruby Quicktips、息抜きに良い、最近だとyコマンドの話とか
- るびま、日本語でコアな話
- コミュニティ関係の情報源
- メーリングリスト、Ruby on Rails Talk、流量が多い、スパムも多いので検索時に使うのが良い
- Stack Overflow、最近検索でよくひっかかる、質問に追記できたり投票できたりする良いQAサイト
- @ITでこれの日本語版をやりたいとずっと言っているらしい
- RailsBridge、Rails界最大のコミュニティらしいが、詳細不明
- 関東在住ならRails勉強会@東京
- 関西在住ならRails勉強会@関西
- Rails Hub、2010年末開始、これからコンテンツも増やして行く
第2部のメモ
- @masuidriveさん
- 今はTitanium(読:タイタニウム)で有名なappcelerator社のエバンジェリスト
- 翌1/13には、第14回 HTML5とか勉強会でTitanimuについて講演されていました
- 最近は完全に風呂の人として認識されている
- 今はTitanium(読:タイタニウム)で有名なappcelerator社のエバンジェリスト
- 会場挙手アンケート
- Railsを仕事で使っている人、ほぼ100%
- Rails3を仕事で使っている人も結構(半分ぐらい)いる
- Railsの設計思想等のおさらい
- Rails1の特徴
- CoC, DRY, MVC, FullStack, Generator/Scaffold
- その目的は、Write less code
- Rails1の問題点
- 不安定、遅い、メモリ喰い過ぎ
- Rails1の特徴
- Rails以外の動き
- Rails2での大きな動き
- passenger使っている人、会場、半分強?
- heroku
- New Relicでのアプリ監視
- 他にはEngine Yard App Cloud
- で、Rails3
- 一言で言うと、sexyになった(出るとこは出て、引っ込むところは引っ込んだという比喩)、綺麗に書けるようになった
- 例えば、hashでのパラメタ指定がmethod chainベースになり、可読性が上がった
- 特徴
- フルスタックなのにモジューラブル(ORMだけを変えたりとか。基本セット=ActiveRecord+Erbもある)
- Arel=ActiveRecordの新クエリエンジン=簡単にDBをRDBMS以外にも切り替えられるようになった
- 新しいRouting Engine
- Plugin API
- Bundler
- 一言で言うと、sexyになった(出るとこは出て、引っ込むところは引っ込んだという比喩)、綺麗に書けるようになった
- Rails2を3にupgradeするのか?
-
- パフォーマンスは大丈夫か?
- モジュール構造のため、メソッド呼び出し回数が多く、どうしても遅くなる
- Rails3.0.0が出た頃はARが遅かった
- Rails3 beta 4 ar 5x slower than Rails 2.3.5なんてことも
- 実際、Rails Coreの人たち、綺麗に書くことは気にしていたがパフォーマンスはそんなに気にしていなかったらしい
- 3.0.2で大きく改善し、2.3.xより早くなった
- 改善の際、ActiveRecord、ActiveModel、SQL Adapterには手を入れず、SQLを生成するArelの修正で済んだ。これはRails3のモジュール化の成果
- コードの書き直しはどれぐらいか?
- パフォーマンスは大丈夫か?
-
- コードを書き換える部分
- config/*
- config/route.rb
- rake:routesを使って書き換えて行けばなんとかなる、自動で書き換えてくれるツールもある(後述)
- app/models/* 追いきれないので資料を参照
- Rails3で一番大きな変化はAR
- 参考になるサイト
- Rails 2->3 Case Study、step by stepでやってくれてるので英語が読めなくてもコードだけ見ればなんとなくわかる
- rails-upgrade plugin、routeを自動で書き換えてくれる
- Rails3 Cheat Sheets
- Rails3 Upgrade Handbook、本来$12が今$6で買える。これを見ながら書き換えるのが一番楽!
- 日本語の本、はじめる!Rails3のβ版が今月中に出るらしい(高橋さん)
- コードを書き換える部分
- コードも交えつつ、Rails3の特徴の話に戻る
- ActiveRecord3
- 2時代: User.find(:all, :conditions => {:status => 'active'})
- 3時代: User.where(:status => 'active')
- new routing
- 自明なmapを書かかなくてもいいとか、すっきり書けるようになった
- bundler
- その他
- scriptがscript/railsになったとか
- respond_toの書き方が変わったとか
- lazy loadingによるパフォーマンスの向上とか
- ActiveRecord3
- (個人的な)rails3への期待
- plubin APIによるpluginの互換問題の減少
- モジュール化によってパフォーマンスの最適化が行いやすくなる
- 上記のARのパフォーマンス向上の話を参照
- まとめ
- 3.0.3 は、これから3.1と続いて行く上で、Rails3を使い始めるにはいいバージョンじゃないのかな!
- CM
第3部のメモ
- Data&Topics
- 試験概要
- 目的: 技術の物差し
- 受験料金: 10000円
- 設問数40、時間1時間、7割正解で合格、選択式
- 情報はRailsHubに掲載予定
- スクールプログラムもやるよ