最適化計算エンジンを備えた ruby on rails アプリケーション …rails winworks one...
TRANSCRIPT
![Page 1: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/1.jpg)
最適化計算エンジンを備えた Ruby on Rails アプリケーションの
アーキテクチャーと進化
Masaki Takeuchi !
2013-12-17 Rubyアソシエーションセミナー Rubyの技術を語る1日 in 品川
![Page 2: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/2.jpg)
竹内 真樹 @m4i
ウィンワークス株式会社 Chief Scientist
![Page 3: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/3.jpg)
![Page 4: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/4.jpg)
• WINWORKS One の紹介
• Ruby on Rails 4.0 へのアップグレード
• ウィンワークスにとっての Ruby on Rails
![Page 5: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/5.jpg)
オークラフロンティアホテルつくば様
ローラアシュレイジャパン様
総就業時間13.3%削減
接客効率10%向上
WINWORKS Oneは、サービス業の現場で 勤務効率を上げるために利用されている
![Page 6: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/6.jpg)
業務量とリソース
モチベーション
コンプライアンス
売上向上コスト削減
業務量変動勤務人員
接客時間の増加 x 適正な!スキルの配置
業務量
スタッフ
変動する業務量
業務量の変動に合わせてスタッフの勤務を最適化することで、オペレーション上の様々な制約を満たしつつ、パフォーマンスの最大化を図る
![Page 7: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/7.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
![Page 8: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/8.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
日毎・時間帯の作業負荷 および必要人員数を予測
![Page 9: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/9.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
スタッフ属性を設定 • 総勤務日数・時間数 • 所有スキル • 就業可能なシフト枠
![Page 10: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/10.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
カレンダー画面設定 • 日ごとの「業務」 • メモの記述
![Page 11: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/11.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
勤務ルールを設定 • 就業規則 • 勤務、公休取得の公平性 • 働きやすさ
![Page 12: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/12.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
![Page 13: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/13.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
月別のシフト表
![Page 14: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/14.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
日別のシフト表
![Page 15: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/15.jpg)
Webアプリケーションと、整数計画法を適用した!シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望 勤務を申請
携帯へ シフト表 を配信
• スタッフの勤務可能時間の範囲で勤務を割当て • 余剰の時間帯と不足時間帯を同時に削減整数計画法の適用
最適シフト 編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を Excel出力
![Page 16: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/16.jpg)
WEB サーバ 最適化サーバ
ブラウザでWebに アクセス
計算キューを順次処理
WebサービスとしてのWINWORKS Oneは機能分散構成により計算能力のスケーラビリティを実現
![Page 17: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/17.jpg)
WINWORKS One の歴史
機能拡充マーケットニーズ
2.x
3.x
1.x
開発
開発
オンプレミス SaaS
機能高度化・対象範囲拡大案件大型化対応
2007年 2008年 2009年 2010年 2011年 2012年 2013年 2014年
![Page 18: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/18.jpg)
WINWORKS One の歴史
機能拡充マーケットニーズ
2.x
3.x
1.x
開発
開発
オンプレミス SaaS
機能高度化・対象範囲拡大案件大型化対応
2007年 2008年 2009年 2010年 2011年 2012年 2013年 2014年
ビジネス オンプレミス => SaaS
プラット フォーム
Windows => Linux Ruby on Rails 採用
![Page 19: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/19.jpg)
WINWORKS One の歴史
機能拡充マーケットニーズ
2.x
3.x
1.x
開発
開発
オンプレミス SaaS
機能高度化・対象範囲拡大案件大型化対応
2007年 2008年 2009年 2010年 2011年 2012年 2013年 2014年
ビジネス オンプレミス => SaaS
プラット フォーム
Windows => Linux Ruby on Rails 採用
ビジネス システム規模拡大
プラット フォーム
Windows 廃止 ILOG => Gurobi(性能向上)
![Page 20: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/20.jpg)
WINWORKS One を支える技術
Web 最適化
• Ruby on Rails • Ruby • MySQL • nginx + Passenger
• JRuby • Redis • Gurobi Optimizer
![Page 21: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/21.jpg)
WINWORKS One の規模
Model 281 クラス
Controller 95 クラス
JavaScript 23,000 行
テスト 3,000 examples (Coverage 90%)
最適化(JRuby) 7,000 行
![Page 22: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/22.jpg)
Rails を利用している方?
![Page 23: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/23.jpg)
Rails 4 未満のバージョンを利用中の方?
![Page 24: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/24.jpg)
Rails 4.0
![Page 25: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/25.jpg)
アップグレード手順
![Page 26: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/26.jpg)
アップグレード手順1. rails4 branch を作成
![Page 27: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/27.jpg)
アップグレード手順1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
![Page 28: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/28.jpg)
アップグレード手順1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
![Page 29: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/29.jpg)
アップグレード手順1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
![Page 30: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/30.jpg)
アップグレード手順1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
5. 停止する原因をすべて取り除く
![Page 31: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/31.jpg)
アップグレード手順1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
5. 停止する原因をすべて取り除く
6. もう一度 rspec を走らせる
![Page 32: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/32.jpg)
![Page 33: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/33.jpg)
DEPRECATION WARNING を出力しない
require 'active_support/deprecation'!ActiveSupport::Deprecation.silenced = true
spec/spec_helper.rb
![Page 34: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/34.jpg)
![Page 35: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/35.jpg)
アップグレード手順
![Page 36: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/36.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
![Page 37: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/37.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
![Page 38: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/38.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
![Page 39: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/39.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
![Page 40: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/40.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
10.すべての test 通るまで繰り返す
![Page 41: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/41.jpg)
アップグレード手順7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
10.すべての test 通るまで繰り返す
11.DEPRECATION WARNING の出力を再開する
![Page 42: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/42.jpg)
![Page 43: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/43.jpg)
アップグレード手順
![Page 44: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/44.jpg)
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
![Page 45: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/45.jpg)
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
![Page 46: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/46.jpg)
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
![Page 47: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/47.jpg)
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
15.テスト/ステージング環境にデプロイしてみる
![Page 48: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/48.jpg)
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
15.テスト/ステージング環境にデプロイしてみる
16.リリース!
![Page 49: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/49.jpg)
アップグレード作業の方針
WINWORKS One Rails WINWORKS One のソースコード
3.1.0 3.2
3.1.1 3.2
3.1.x 4.0
4.0互換のコード4.0非互換のコード
3.2/4.0 両方で動作する修正
3.2 で 動作しない修正
Rails 4.0 対応開始
![Page 50: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/50.jpg)
通常の branch 構成
master branch
![Page 51: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/51.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
![Page 52: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/52.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
修正A 修正B
![Page 53: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/53.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
修正A 修正B
不具合 発生
![Page 54: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/54.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
バグ修正
修正A 修正B
不具合 発生
![Page 55: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/55.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
バグ修正
merge
修正A 修正B
不具合 発生
![Page 56: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/56.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
バグ修正
merge
_人人人人人人人_ > Conflict !!! < ‾Y^Y^Y^Y^Y^Y‾
修正A 修正B
不具合 発生
![Page 57: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/57.jpg)
通常の branch 構成
master branch
rails4 branch
Rails4.0化
バグ修正
merge
_人人人人人人人_ > Conflict !!! < ‾Y^Y^Y^Y^Y^Y‾
ここの長さに応じて conflict の可能性が上がる
修正A 修正B
不具合 発生
![Page 58: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/58.jpg)
今回の branch 構成
master branch
![Page 59: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/59.jpg)
今回の branch 構成
master branch
rails4 branch
Rails4.0化
![Page 60: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/60.jpg)
今回の branch 構成
master branch
rails4 branch
Rails4.0化
修正A
![Page 61: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/61.jpg)
今回の branch 構成
master branch
rails4 branch
Rails4.0化
修正A
修正A
![Page 62: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/62.jpg)
今回の branch 構成
master branch
rails4 branch
修正A
rebase master
![Page 63: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/63.jpg)
今回の branch 構成
master branch
rails4 branch 修正B
修正A
rebase master
![Page 64: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/64.jpg)
今回の branch 構成
master branch
rails4 branch 修正B
修正A
rebase master
修正B
![Page 65: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/65.jpg)
今回の branch 構成
master branch
rails4 branch
修正A 修正B
rebase master
![Page 66: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/66.jpg)
今回の branch 構成
master branch
rails4 branch
修正A 修正B
rebase master
不具合 発生
![Page 67: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/67.jpg)
今回の branch 構成
master branch
rails4 branch
バグ修正修正A 修正B
rebase master
不具合 発生
![Page 68: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/68.jpg)
今回の branch 構成
master branch
rails4 branch
バグ修正修正A 修正B
rebase master
不具合 発生
![Page 69: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/69.jpg)
今回の branch 構成
master branch
rails4 branch
バグ修正修正A 修正B
rebase master
conflict の可能性を小さくできる
不具合 発生
![Page 71: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/71.jpg)
rspec で検出できなかったものへの対応が 想定より多かった(10%)
rspec を完走させるために必要 8
rspec で Failure/Error 10
DEPRECATION WARNING 12
rspec で検出できなかったもの 4機能拡張により簡単に書けるよ
うになったもの4
合計 38
![Page 72: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/72.jpg)
text_field, text_area の デフォルトサイズ指定が削除された
![Page 73: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/73.jpg)
text_field, text_area の デフォルトサイズ指定が削除された
![Page 74: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/74.jpg)
text_field, text_area の デフォルトサイズ指定が削除された
![Page 75: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/75.jpg)
原因
Rails 3.2
Rails 4.0
<%= f.text_field :name %>!<%= f.text_area :description %>
<input size="30" type="text" id="blog_name" name="blog[name]" />!<textarea cols="40" rows="20" id="blog_description" name="blog[description]">
<input type="text" id="blog_name" name="blog[name]" />!<textarea id="blog_description" name="blog[description]">
![Page 76: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/76.jpg)
原因
# actionpack-3.2.16/lib/action_view/helpers/form_helper.rb!!DEFAULT_TEXT_AREA_OPTIONS = { "cols" => 40, "rows" => 20 }!!def to_text_area_tag(options = {})! options = DEFAULT_TEXT_AREA_OPTIONS.merge(options.stringify_keys)
# actionpack-4.0.2/lib/action_view/helpers/tags/text_area.rb!!def render! options = @options.stringify_keys
Rails 3.2
Rails 4.0
![Page 77: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/77.jpg)
対応module TextAreaWithDefaultSize! DEFAULT_TEXT_AREA_OPTIONS =! { 'cols' => 40, 'rows' => 20 }!! def render! @options = DEFAULT_TEXT_AREA_OPTIONS.! merge(@options.stringify_keys)!! super! end!end!!require 'action_view/helpers/tags/text_area'!ActionView::Helpers::Tags::TextArea.! prepend TextAreaWithDefaultSize
![Page 78: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/78.jpg)
ステージング環境で サーバが立ち上がらない
![Page 79: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/79.jpg)
ステージング環境で サーバが立ち上がらない
execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect’:Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjsfor a list of available runtimes.(ExecJS::RuntimeUnavailable)
![Page 80: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/80.jpg)
ステージング環境で サーバが立ち上がらない
execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect’:Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjsfor a list of available runtimes.(ExecJS::RuntimeUnavailable)
![Page 81: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/81.jpg)
原因
http://guides.rubyonrails.org/v4.0.1/upgrading_ruby_on_rails.html#upgrading-from-rails-3-2-to-rails-4-0-gemfile
https://github.com/rails/rails/commit/49c4af43ec
![Page 82: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/82.jpg)
原因
group :assets do! gem 'sass-rails', '~> 3.2.3'! gem 'coffee-rails', '~> 3.2.1'! # gem 'therubyracer', :platforms => :ruby! gem 'uglifier', '>= 1.0.3'!end
gem 'sass-rails', '~> 4.0.0'!gem 'uglifier', '>= 1.3.0'!gem 'coffee-rails', '~> 4.0.0'!# gem 'therubyracer', platforms: :ruby
Rails 4.0 - Gemfile
Rails 3.2 - Gemfile
![Page 83: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/83.jpg)
WINWORKS One の環境
![Page 84: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/84.jpg)
開発環境
ビルド/デプロイ 環境
本番環境
WINWORKS One の環境
![Page 85: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/85.jpg)
開発環境 • bundle install • Node.js あり
ビルド/デプロイ 環境
本番環境
WINWORKS One の環境
![Page 86: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/86.jpg)
開発環境 • bundle install • Node.js あり
• bundle install ̶without development test • Node.js あり
ビルド/デプロイ 環境
本番環境
WINWORKS One の環境
![Page 87: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/87.jpg)
開発環境 • bundle install • Node.js あり
• bundle install ̶without development test • Node.js あり
• bundle install ̶without development test assets • Node.js なし
ビルド/デプロイ 環境
本番環境
WINWORKS One の環境
![Page 88: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/88.jpg)
対応
-gem 'sass-rails', '~> 4.0.0'!-gem 'uglifier', '>= 1.3.0'!-gem 'coffee-rails', '~> 4.0.0'!+gem 'sass-rails', '~> 4.0.0', group: :assets!+gem 'uglifier', '>= 1.3.0', group: :assets!+gem 'coffee-rails', '~> 4.0.0', group: :assets
Gemfile
![Page 89: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/89.jpg)
Rails 4.0 へ アップグレードすべきか?
![Page 90: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/90.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 91: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/91.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One Version 2 の開発
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 92: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/92.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One Version 2 の開発
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 93: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/93.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One Version 2 の開発
WINWORKS One Version 3 の開発
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 94: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/94.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One Version 2 の開発
WINWORKS One Version 3 の開発
Rails 2.3 => 3.2
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 95: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/95.jpg)
WINWORKS One の Rails バージョン遷移
1.2.x
2.0.x2.1.x2.2.x2.3.x
3.0.x
3.1.x
3.2.x
4.0.x
2007 2008 2009 2010 2011 2012 2013
WINWORKS One Version 2 の開発
WINWORKS One Version 3 の開発
Rails 2.3 => 3.2
Rails 3.2 => 4.0
WINWORKS One の Rails アップグレード
Rails のリリース
![Page 96: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/96.jpg)
何を学んだか
![Page 97: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/97.jpg)
何を学んだか
• テスト重要
![Page 98: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/98.jpg)
何を学んだか
• テスト重要
• こまめなアップグレードが開発のリスクとコストを抑える
![Page 99: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/99.jpg)
本当に?
![Page 100: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/100.jpg)
事業のコアはなにか?
![Page 101: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/101.jpg)
利用しているサービス
• GitHub
• CircleCI
• HipChat
• AWS
• NewRelic
• Airbrake
![Page 102: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/102.jpg)
ウィンワークスの結論
![Page 103: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/103.jpg)
ウィンワークスの結論
ユーザベースの拡大
![Page 104: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/104.jpg)
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
![Page 105: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/105.jpg)
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
海外ユーザ
![Page 106: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/106.jpg)
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
海外ユーザ
モバイルデバイス
![Page 107: 最適化計算エンジンを備えた Ruby on Rails アプリケーション …Rails WINWORKS One のソースコード 3.1.0 3.2 3.1.1 3.2 3.1.x 4.0 4.0非互換のコード 4.0互換のコード](https://reader034.vdocuments.site/reader034/viewer/2022050301/5f6ab303a1165e6469131f40/html5/thumbnails/107.jpg)
ウィンワークスの結論
Rails の進化に
WINWORKS One を追随させる
ユーザベースの拡大
利用形態の進化
海外ユーザ
モバイルデバイス