SlideShare a Scribd company logo
リリースノート解説編
Rails解説セミナー
http://railsguides.jp/
セミナーを
始める前に
講義中に参照したリンクはコメント欄で (質問もお気軽に)
講師のターミナルは下記 URL から閲覧できます :)
http://screenx.tv/yasulab
Slide is in SlideShare!
http://www.slideshare.net/yasulab/presentations
質問はいつでもお気軽に!
個別相談は休憩や終了後に :)
Sample App で実験 :)
https://github.com/yasslab/sample_app
1. $ git clone  

https://github.com/yasslab/sample_apps.git
2. 対象のディレクトリに移動後: $ git init ;

$ bundle exec rake db:migrate

$ bundle exec rake db:test:prepare

$ bundle exec rake db:populate
3. $ gem install rails --version 4.0.5
4. (Option) $ gem install rails --version 4.1.8
5. (Option) $ gem install rails --version 4.2.3
下準備
Ready?
解説セミナーを
進めていきましょう!
リリースノート解説編
Rails解説セミナー
http://railsguides.jp/
• 中級者∼上級者向けの大型リファレンス
• 読み進める順番は特になく、機能毎に解説:
• e.g. Active Record の基礎、バリデーション
• e.g. Action View の概要、フォームヘルパー
• e.g. Action Controller の概要、ルーティング
• 例外: Railsをはじめよう → Rails チュートリアル
• ウェブ版は全編無料! http://railsguides.jp/
Railsガイドとは?
• リリースノートを見ながら 4.0 の概要を知る
• リリースノートを見ながら 4.1 との違いを知る
• リリースノートを見ながら 4.2 との違いを知る
時間の許す限り,色々な機能を
実際に触れていきましょう :)
今日やること
Rails 4.0 リリースノート
http://railsguides.jp/4_0_release_notes.html
主要な変更点 (全体像)
主要な変更点 (左半分)
主要な変更点 (右半分)
Rails 4.0 のポイント
• Ruby 2.0 が推奨 / Ruby 1.9.3 以上がサポート対象
• Strong Parameters の導入

マスアサイメント脆弱性があるとエラーになる
• Turbolinks の導入

HTMLの一部分だけを更新する技術: ページ遷移時
にURLと、AJAXでtitleやbodyを差し替える
• Russian Doll Caching の導入

ネストしたViewの断片毎にキャッシュする。各断
片は依存関係のセットに応じて期限切れになる。
Sample App が
既に4.0.5なので
少し眺めるだけ
http://railsguides.jp/4_1_release_notes.html
Rails 4.1 リリースノート
• Active Record がよりスマートに :)

db:reset だけで test:db:prepare などが不要に!
• アプリケーションプリローダ「Spring」の導入

db:migrate 後などの再起動が不要に!
• config/secrets.yml の導入

外部API用のアクセスキーなどもここに保存

Rails.application.secrets で取り出し可能
Rails 4.1 のポイント
1. Gemfile の ‘ruby’ のバージョンを 2.0.0 にする
2. Gemfile の ‘rails’ のバージョンを 4.1.8 にする
3. $ bundle update

$ bundle exec rake rails:update
4. $ bundle exec rake db:reset

# $ bundle exec rake db:migrate

# WARNING: db:test:prepare is deprecated. 

# Change: User.all.limit(n) -> User.limit(n)
5. $ bundle exec spec spec/

# Update: gem 'rspec-rails', '~> 2.14.0.rc1'
Rails 4.1における大まかな手順
DEMO
http://railsguides.jp/4_2_release_notes.html
Rails 4.2 リリースノート
• RSpec 2.x がサポート対象外になりました

cf. https://github.com/rspec/rspec-rails/issues/1187

cf. Transpec: http://yujinakayama.me/transpec/
• Web Console が標準デバッグ環境に

ブラウザ上ですぐにデバッグできるようになった
• Active Job の導入 (非同期処理)

メール送信処理などを簡単に非同期化できる
• Adequate Record による高速化

find/find_byなどの呼び出しが最大2倍に向上!
Rails 4.2 のポイント
1. Gemfile の ‘ruby’ のバージョンを 2.2.2 にする

# Update: gem ‘sqlite’, ‘1.3.10’
2. Gemfile の ‘rails’ のバージョンを 4.2.3 にする

# RSpec 2 on Rails 4.2 is NOT supported. => ‘~> 3.1’
3. $ bundle update

$ bundle exec rake rails:update

# config/routes.rb はそのままで OK

=> 今回はRSpec絡みが多いので別紙参照
4. $ bundle exec rake db:reset

$ bundle exec spec spec/
Rails 4.2における大まかな手順
1. gem ‘rspec-rails’, ‘~> 3.1’

gem 'capybara', '~> 2.4.0'

gem 'rspec-its', '1.2.0'

gem 'turbolinks', '~> 2.5.3'
2. $ bundle update

$ bundle exec rails generate rspec:install

$ mv spec/requests spec/features
3. $ find spec/ -name "*_spec.rb" | xargs gsed -i "s/require
'spec_helper'/require ‘rails_helper'/g"
4. コメントアウト in ‘rails_helper.rb’: 

Dir[Rails.root.join(‘spec/support/**/*.rb’)].each {|f| require f}
RSpec 3.1 にする
1. ‘spec/features/authentication_pages_spec.rb’ を更新:

# 追加: describe "authorization", type: :request do

# 変更: root_url => root_path in GET request
2. ‘spec/models/user_spec.rb’ を更新:

# 変更: be_false => be_falsy
3. $ gem install transpec

$ rbenv rehash

$ transept
4. $ bundle exec rspec spec/ 2>&1
RSpec 3.1 にする
DEMO
お疲れ様でした
• リリースノートを見ながら 4.0 の概要を知る
• リリースノートを見ながら 4.1 との違いを知る
• リリースノートを見ながら 4.2 との違いを知る
時間の許す限り,色々な機能を
実際に触れていきましょう :)
今日やったこと
参考情報
Rails アップグレードガイド
http://railsguides.jp/upgrading_ruby_on_rails.html
Rails 4.0 リリースノート
http://railsguides.jp/4_0_release_notes.html
http://railsguides.jp/4_1_release_notes.html
Rails 4.1 リリースノート
http://railsguides.jp/4_2_release_notes.html
Rails 4.2 リリースノート
リリースノート解説編
Rails解説セミナー
http://railsguides.jp/

More Related Content

PDF
Rails解説セミナー: Railsのアップグレード編
PDF
Rails解説セミナー: Rails国際化 (I18n) API
PPTX
SunspotではじめるSolr入門
PDF
Sinatraでwebアプリケーション開発を学ぶ
PDF
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
PDF
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
PDF
Bundler 2 の胎動
PDF
Ruby on Rails の特徴とそのエコシステム
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Rails国際化 (I18n) API
SunspotではじめるSolr入門
Sinatraでwebアプリケーション開発を学ぶ
超簡単!? ActiveAdminで作る管理画面@Ruby / Ruby on Rails ビギナーズ勉強会 第3回
Railsバージョンアップを 段階的に行うために Rails3/4並行稼動させる仕組み を作ってる話
Bundler 2 の胎動
Ruby on Rails の特徴とそのエコシステム

What's hot (19)

PDF
Ruby on Rails 入門
PPTX
RubyでGUIアプリケーションを書く
PDF
ぼくのかんがえたさいきょうの Rails スタートダッシュ
PPTX
Ruby on Rails を用いたWEBアプリケーションの開発
PDF
ScalaにまつわるNewsな話
PDF
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
PDF
進撃のSbt
PDF
実戦Scala
PDF
【LT】 怖くない恐怖のScala.js
PPTX
POWER8サーバでMariaDBベンチマーク
PDF
minneで学ぶクラウド脳
PDF
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
PDF
Sbtのマルチプロジェクトはいいぞ
PDF
Scala.js触ってみた
PDF
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
PDF
Scalaの現状と課題
PDF
Swiftで外部ライブラリを使ってみよう
PDF
Security Advisories Checker on Travis/Circle CI
PPTX
N対1 レプリケーション + Optimizer Hint
Ruby on Rails 入門
RubyでGUIアプリケーションを書く
ぼくのかんがえたさいきょうの Rails スタートダッシュ
Ruby on Rails を用いたWEBアプリケーションの開発
ScalaにまつわるNewsな話
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
進撃のSbt
実戦Scala
【LT】 怖くない恐怖のScala.js
POWER8サーバでMariaDBベンチマーク
minneで学ぶクラウド脳
Seasar ユーザだったプログラマが目指す OSS の世界展開 #seasarcon
Sbtのマルチプロジェクトはいいぞ
Scala.js触ってみた
The state of sbt 0.13, sbt server, and sbt 1.0 (ScalaMatsuri ver)
Scalaの現状と課題
Swiftで外部ライブラリを使ってみよう
Security Advisories Checker on Travis/Circle CI
N対1 レプリケーション + Optimizer Hint
Ad

Similar to Rails解説セミナー: リリースノート解説編 (20)

PDF
Ruby In Wheezy
PDF
Rails解説セミナー: Railsアプリケーションのデバッグ
PPT
Ruby on Rails3 Tutorial Chapter3
PDF
最近のRails事情 - 4.1!
PPTX
実は怖くないDevOps
KEY
Bundler kanazawa.rb meetup #2 2012/09/19
PDF
成長を加速する minne の技術基盤戦略
PDF
Railsの開発環境作るぞ
PDF
scala-kaigi1-sbt
PPT
Ruby on Rails Tutorial Chapter5-7
PDF
Rails初心者レッスン lesson1 3rd edition
PDF
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
PDF
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
PDF
Play framework 2.0のおすすめと1.2からのアップグレード
PPTX
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
PDF
Scala2.8への移行
PDF
Scala2.8への移行
PDF
Nseg20120825
PDF
Skinny Framework 進捗どうですか? #fud_scala
PDF
はてなにおける継続的デプロイメントの現状と Docker の導入
Ruby In Wheezy
Rails解説セミナー: Railsアプリケーションのデバッグ
Ruby on Rails3 Tutorial Chapter3
最近のRails事情 - 4.1!
実は怖くないDevOps
Bundler kanazawa.rb meetup #2 2012/09/19
成長を加速する minne の技術基盤戦略
Railsの開発環境作るぞ
scala-kaigi1-sbt
Ruby on Rails Tutorial Chapter5-7
Rails初心者レッスン lesson1 3rd edition
Hive on Spark を活用した高速データ分析 - Hadoop / Spark Conference Japan 2016
第2回 松本勉強会 2012 05 25 - apache2.4とmod_lua
Play framework 2.0のおすすめと1.2からのアップグレード
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
Scala2.8への移行
Scala2.8への移行
Nseg20120825
Skinny Framework 進捗どうですか? #fud_scala
はてなにおける継続的デプロイメントの現状と Docker の導入
Ad

More from Yohei Yasukawa (9)

PDF
Railsチュートリアルの歩き方 (第4版)
PDF
Railsチュートリアルの歩き方 (第3版)
PDF
Railsガイドを支える技術 (30分版)
PDF
Rackspace howto
PDF
Work Life Balance in Czech Republic
PDF
GitHub Importを使ったfluxflexへのデプロイ例
PDF
Haribote OS with Memory Filesystem
PDF
Introduction of tango! (en)
PDF
Introduction of tango! (jp)
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第3版)
Railsガイドを支える技術 (30分版)
Rackspace howto
Work Life Balance in Czech Republic
GitHub Importを使ったfluxflexへのデプロイ例
Haribote OS with Memory Filesystem
Introduction of tango! (en)
Introduction of tango! (jp)

Rails解説セミナー: リリースノート解説編