@thorikiriのてょりっき

@thorikiriがWebとかAndroidとかの技術ネタや本を読んだブログです

Ruby 2.0 & Rails 4.0先取りセミナー #webcat に行って来ました

Rubyわかんないです。先日、Railsをちょっと動かしてみた程度で止まっているので、知識はあんまりないのですが、今後やっていきたいなと思ってますよ、と。
そんな状態ですが、一応メモを残しておきます。間違ってたらごめんなさい。

Ruby 2.0 & Rails 4.0を先取りしよう

資料 → Ruby 2 and Rails 4 // Speaker Deck

  • メジャーバージョンアップ
    • Ruby 1.9.3 → Ruby 2.0.0
    • Rails 3.2.9 → Rails 4.0.0
    • 他にもメジャーバージョンが上がっている、上がろうとしているものがある
    • Ruby2.0の影響で新しい時代になろうとしている
      • 心機一転、新規参入のチャンス
      • 今しかない
  • Ruby 2.0
    • matzの長年の悲願
    • 2001年のRubyConfのKeyNoteですでに言及されている。
    • 歴史とか
      • 93年から2000年までは順調にバージョンを上げていった
      • 偶数が安定版の扱い
      • 2003年 1.8 がリリース
      • 2007年 1.9.0 がリリース 開発版、 1.9.1 が安定版
      • 2010年 1.9.2 安定版
      • 2011年 1.9.3 安定版・・・
      • 永遠に2.0にならないのではないかと・・・
      • ようやく来年に2.0が出ることが決定しました。
      • 2月24日、ちょうど誕生から20年。
    • 2.0は特別な意味があるバージョンナンバーです
      • 10年前に入れたいと思っていた機能がいくつか入っている
      • 1.8から1.9へのバージョンアップほどのインパクトのあるものは入っていない
  • 2.0の特徴
    • 最初から安定志向
    • 1.9.3からの互換性
      • 100%動くことを目標としている(100%ではない)
      • 1.9から互換性がないものは、2.1で入れる
    • パフォーマンス
      • VMが早くなっている
      • GCが早くなっている
      • Requireのパフォーマンス改善
      • Rails起動は倍くらい早くなった
    • Default Script Encodingがついにutf-8になった
      • ここが一番非互換の部分になるのではないか
  • Rails 4.0
    • 2004年から、2〜3年のサイクルで順調にリリースしていった
    • もうすぐ4.0のβがリリースされるはず
    • Railsパラダイム
      • 1.0 DRY CoC
      • 2.0 RESTFull
      • 3.0 Modularity
      • 4.0 特にない
    • 新機能はあるが、パラダイム的にはかわらない。
      • Better 3.2
      • 3.3でも良かったが、Ruby 2.0に引きづられて
      • Railsは1本道で常に新しくなっていて、バージョン番号にはあまり意味がない
    • バージョン戦略
      • 新しいバージョンで動かなくなる機能はいきなり消すことはしない
      • 消す1個前のバージョンには、非推奨の警告を出す
  • Rails 4.0の特徴
    • 最初から安定版
      • 3.2.xからの互換性を重視します
  • 最近の潮流
    • モダン
      • Ruby1.8では使えない
      • APIのさらなる洗練
      • あまり使われない機能は消している。Optionalにして、外部Gemとする。
      • 腐らないように気を使う
      • 新しいAPIもいくつかあるが、リリースノートを見て確認して欲しい
      • PATCH → RESTのPUTをPATCHとしている(PUTは再作成のイメージ、PATCHは編集の意味)
      • ActiveRecordが結構変わっている
    • スピード
      • Rails3より早い
      • Ruby1.8に対応するためのコードを削っている
      • その他細かい修正を行っている
      • threadsafe! がデフォルトオンになっているので、スレッドに注意したアプリを書いてください
    • セキュリティ
      • Githubがハックされたので(?)
    • リアルタイムウェブ
      • AC:Live
      • node.jsやmeteorに影響をうけて
    • ActiveRecord
    • Social Cording
      • 2721人のコミッタ
      • 南米が盛ん
  • Ruby2.0の話

Rails4でアプリを作ってみた話

資料 → Rails4 in Action // Speaker Deck
Blog → Rails4 in Action - delirious thoughts
Rails4 Chat Githubkentaro/rails4-chat · GitHub

  • 社内のサーバ管理WebアプリをRails4で作っている
    • まだ正式リリースはされていないけど、勉強のため
    • Githubの最新のものを使っている。Edge。
    • 色々と試行錯誤する必要がある
      • 調べて直してpull requestしていく中で、Railsの中身を知ることも出来た
  • Rails4の新しいこと
    • 沢山ありすぎて説明しきらない
    • 一般的なWebアプリを作ってて出てくるようなところを説明
    • RailsのガイドがレスポンシブWebデザインに対応したので、モバイルからでも見れる
    • index
      • 省略できる?
    • Strong Parameter
      • 今までパラメータを安全化するのがModelの責務だったが、Contollerになった
    • Queue API
      • 非同期でメールを送るなど
      • runメソッドを持ったものをQueueに入れる
    • ActionController::Live
      • Live Streaming
      • Server Send Eventで使うと良い
      • スケーラブル

ちょっと初心者過ぎて速さについていけませんでしたー。っと。