SlideShare a Scribd company logo
最適化計算エンジンを備えた
Ruby on Rails アプリケーションの
アーキテクチャーと進化
Masaki Takeuchi
!
2013-12-17
Rubyアソシエーションセミナー
Rubyの技術を語る1日 in 品川
竹内 真樹
@m4i
ウィンワークス株式会社
Chief Scientist
• WINWORKS One の紹介
• Ruby on Rails 4.0 へのアップグレード
• ウィンワークスにとっての Ruby on Rails
オークラ

フロンティアホテルつくば様
ローラアシュレイ

ジャパン様
総就業時間

13.3%削減
接客効率

10%向上
WINWORKS Oneは、サービス業の現場で
勤務効率を上げるために利用されている
業務量とリソース
モチベー

ション
コンプライ

アンス
売上向上

コスト削減
業務量変動
勤務人員
接客時間の増加 x 適正な!
スキルの配置
業務量
スタッフ
変動する業務量
業務量の変動に合わせてスタッフの勤務を最適化
することで、オペレーション上の様々な制約を満
たしつつ、パフォーマンスの最大化を図る
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
日毎・時間帯の作業負荷
および必要人員数を予測
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
スタッフ属性を設定
• 総勤務日数・時間数
• 所有スキル
• 就業可能なシフト枠
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
カレンダー画面設定
• 日ごとの「業務」
• メモの記述
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
勤務ルールを設定
• 就業規則
• 勤務、公休取得の公平性
• 働きやすさ
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
月別のシフト表
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
日別のシフト表
Webアプリケーションと、整数計画法を適用した!
シフト編成計算エンジンの組み合わせにより稼働
WINWORKS One Mrs.RIC
携帯から希望
勤務を申請
携帯へ
シフト表
を配信
• スタッフの勤務可能時間の範囲で勤務を割当て
• 余剰の時間帯と不足時間帯を同時に削減
整数計画法の適用
最適シフト
編成計算
条件を満たしつつ繁閑に合致した最適なシフト表
シフト表を
Excel出力
WEB サーバ 最適化サーバ
ブラウザで
Webに
アクセス
計算キュー
を順次処理
WebサービスとしてのWINWORKS Oneは機能分
散構成により計算能力のスケーラビリティを実現
WINWORKS One の歴史
機能拡充マーケットニーズ
2.x
3.x
1.x
開発
開発
オンプレミス SaaS
機能高度化・対象範囲拡大案件大型化対応
2007年 2008年 2009年 2010年 2011年 2012年 2013年 2014年
WINWORKS One の歴史
機能拡充マーケットニーズ
2.x
3.x
1.x
開発
開発
オンプレミス SaaS
機能高度化・対象範囲拡大案件大型化対応
2007年 2008年 2009年 2010年 2011年 2012年 2013年 2014年
ビジネス オンプレミス => SaaS
プラット
フォーム
Windows => Linux
Ruby on Rails 採用
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(性能向上)
WINWORKS One を支える技術
Web 最適化
• Ruby on Rails
• Ruby
• MySQL
• nginx + Passenger
• JRuby
• Redis
• Gurobi Optimizer
WINWORKS One の規模
Model 281 クラス
Controller 95 クラス
JavaScript 23,000 行
テスト 3,000 examples
(Coverage 90%)
最適化(JRuby) 7,000 行
Rails を利用している方?
Rails 4 未満のバージョンを
利用中の方?
Rails 4.0
アップグレード手順
アップグレード手順
1. rails4 branch を作成
アップグレード手順
1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
アップグレード手順
1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
アップグレード手順
1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
アップグレード手順
1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
5. 停止する原因をすべて取り除く
アップグレード手順
1. rails4 branch を作成
2. Gemfile を Rails 4.0 のものに更新
3. rake rails:update して設定ファイルも更新
4. とりあえず rspec => すぐにエラーで停止する
5. 停止する原因をすべて取り除く
6. もう一度 rspec を走らせる
DEPRECATION WARNING
を出力しない
require 'active_support/deprecation'!
ActiveSupport::Deprecation.silenced = true
spec/spec_helper.rb
アップグレード手順
アップグレード手順
7. DEPRECATION WARNING の出力を止める
アップグレード手順
7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
アップグレード手順
7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
アップグレード手順
7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
アップグレード手順
7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
10.すべての test 通るまで繰り返す
アップグレード手順
7. DEPRECATION WARNING の出力を止める
8. 潰すエラーの狙いを定める
9. 修正して確認する
• rspec spec/controller/users_spec.rb -l 624
10.すべての test 通るまで繰り返す
11.DEPRECATION WARNING の出力を再開する
アップグレード手順
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
15.テスト/ステージング環境にデプロイしてみる
アップグレード手順
12.すべての DEPRECATION WARNING を潰す
13.実際に画面を操作してテストする
14.RAILS_ENV=production で動かしてみる
15.テスト/ステージング環境にデプロイしてみる
16.リリース!
アップグレード作業の方針
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 対応開始
通常の branch 構成
master
branch
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
修正A 修正B
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
修正A 修正B
不具合
発生
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
バグ修正
修正A 修正B
不具合
発生
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
バグ修正
merge
修正A 修正B
不具合
発生
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
バグ修正
merge
_人人人人人人人_
> Conflict !!! <
 ̄Y^Y^Y^Y^Y^Y ̄
修正A 修正B
不具合
発生
通常の branch 構成
master
branch
rails4
branch
Rails4.0化
バグ修正
merge
_人人人人人人人_
> Conflict !!! <
 ̄Y^Y^Y^Y^Y^Y ̄
ここの長さに応じて conflict の可能性が上がる
修正A 修正B
不具合
発生
今回の branch 構成
master
branch
今回の branch 構成
master
branch
rails4
branch
Rails4.0化
今回の branch 構成
master
branch
rails4
branch
Rails4.0化
修正A
今回の branch 構成
master
branch
rails4
branch
Rails4.0化
修正A
修正A
今回の branch 構成
master
branch
rails4
branch
修正A
rebase
master
今回の branch 構成
master
branch
rails4
branch 修正B
修正A
rebase
master
今回の branch 構成
master
branch
rails4
branch 修正B
修正A
rebase
master
修正B
今回の branch 構成
master
branch
rails4
branch
修正A 修正B
rebase
master
今回の branch 構成
master
branch
rails4
branch
修正A 修正B
rebase
master
不具合
発生
今回の branch 構成
master
branch
rails4
branch
バグ修正修正A 修正B
rebase
master
不具合
発生
今回の branch 構成
master
branch
rails4
branch
バグ修正修正A 修正B
rebase
master
不具合
発生
今回の branch 構成
master
branch
rails4
branch
バグ修正修正A 修正B
rebase
master
conflict の可能性を小さくできる
不具合
発生
http://blog.m4i.jp/entry/
2013/12/10/184336
rspec で検出できなかったものへの対応が
想定より多かった(10%)
rspec を完走させるために必要 8
rspec で Failure/Error 10
DEPRECATION WARNING 12
rspec で検出できなかったもの 4
機能拡張により簡単に書けるよ
うになったもの
4
合計 38
text_field, text_area の
デフォルトサイズ指定が削除された
text_field, text_area の
デフォルトサイズ指定が削除された
text_field, text_area の
デフォルトサイズ指定が削除された
原因
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]">
原因
# 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
対応
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
ステージング環境で
サーバが立ち上がらない
ステージング環境で
サーバが立ち上がらない
execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect :
Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs
for a list of available runtimes.
(ExecJS::RuntimeUnavailable)
ステージング環境で
サーバが立ち上がらない
execjs-2.0.2/lib/execjs/runtimes.rb:51:in `autodetect :
Could not find a JavaScript runtime.
See https://github.com/sstephenson/execjs
for a list of available runtimes.
(ExecJS::RuntimeUnavailable)
原因
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
原因
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
WINWORKS One の環境
開発環境
ビルド/デプロイ
環境
本番環境
WINWORKS One の環境
開発環境
• bundle install
• Node.js あり
ビルド/デプロイ
環境
本番環境
WINWORKS One の環境
開発環境
• bundle install
• Node.js あり
• bundle install ̶without development test
• Node.js あり
ビルド/デプロイ
環境
本番環境
WINWORKS One の環境
開発環境
• bundle install
• Node.js あり
• bundle install ̶without development test
• Node.js あり
• bundle install ̶without development test assets
• Node.js なし
ビルド/デプロイ
環境
本番環境
WINWORKS One の環境
対応
-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
Rails 4.0 へ
アップグレードすべきか?
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
WINWORKS One の
Rails バージョン遷移
1.2.x
2.0.x
2.1.x
2.2.x
2.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 のリリース
何を学んだか
何を学んだか
• テスト重要
何を学んだか
• テスト重要
• こまめなアップグレードが開発のリスクとコスト
を抑える
本当に?
事業のコアはなにか?
利用しているサービス
• GitHub
• CircleCI
• HipChat
• AWS
• NewRelic
• Airbrake
ウィンワークスの結論
ウィンワークスの結論
ユーザベースの拡大
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
海外ユーザ
ウィンワークスの結論
ユーザベースの拡大
利用形態の進化
海外ユーザ
モバイルデバイス
ウィンワークスの結論
Rails の進化に
WINWORKS One を追随させる
ユーザベースの拡大
利用形態の進化
海外ユーザ
モバイルデバイス

More Related Content

Similar to 最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化

Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
Goh Matsumoto
 
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
fukuoka.ex
 
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2editionRails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
Satomi Tsujita
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
Yasuko Ohba
 
CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)
Kenji Shirane
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
Tatsuyoshi Mashiko
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
youku
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介Shotaro Suzuki
 
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
Yohei Yasukawa
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
Takahiro Hidaka
 
Functional JavaScript with Lo-Dash.js
Functional JavaScript with Lo-Dash.jsFunctional JavaScript with Lo-Dash.js
Functional JavaScript with Lo-Dash.js
Shogo Sensui
 
Ruby on Rails の規約
Ruby on Rails の規約Ruby on Rails の規約
Ruby on Rails の規約
Shuhei Iitsuka
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Tasuku Otani
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
Shinya Sugiyama
 
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
西畑 一馬
 
Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
Salesforce Developers Japan
 
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
Daisuke Ikeda
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
Yu Ito
 

Similar to 最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化 (20)

Rails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd editionRails初心者レッスン lesson1 3rd edition
Rails初心者レッスン lesson1 3rd edition
 
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
Elixir入門「第3回:Phoenix 1.3で高速webアプリ & REST APIアプリをサクッと書いてみる」
 
Rails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2editionRails初心者レッスン lesson4 2edition
Rails初心者レッスン lesson4 2edition
 
Ruby on Rails 入門
Ruby on Rails 入門Ruby on Rails 入門
Ruby on Rails 入門
 
CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)CMSMix Sapporo vol.3 (Drupal の回)
CMSMix Sapporo vol.3 (Drupal の回)
 
<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー<第1回>Laravelハンズオンセミナー
<第1回>Laravelハンズオンセミナー
 
scala+liftで遊ぼう
scala+liftで遊ぼうscala+liftで遊ぼう
scala+liftで遊ぼう
 
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips   Prism 4.5 & Kona project 等のご紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
 
Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編Rails解説セミナー: Railsのアップグレード編
Rails解説セミナー: Railsのアップグレード編
 
Rails3.1rc4を試してみた
Rails3.1rc4を試してみたRails3.1rc4を試してみた
Rails3.1rc4を試してみた
 
Functional JavaScript with Lo-Dash.js
Functional JavaScript with Lo-Dash.jsFunctional JavaScript with Lo-Dash.js
Functional JavaScript with Lo-Dash.js
 
Ruby on Rails の規約
Ruby on Rails の規約Ruby on Rails の規約
Ruby on Rails の規約
 
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみようAlfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
Alfresco勉強会#36 alfresco 5でカスタムREST APIを作ってみよう
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
 
jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作jsライブラリで実装する効率的なWeb制作
jsライブラリで実装する効率的なWeb制作
 
Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門Ruby開発者のためのHeroku入門
Ruby開発者のためのHeroku入門
 
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
OSC2014.Enterprise Zabbix-JobScheduler連携ツールHyClopsJobMonitoringによる運用システムOSS化の実現
 
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
 
徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925徳島OSS勉強会第四回 シラサギハンズオン 0925
徳島OSS勉強会第四回 シラサギハンズオン 0925
 
Haikara
HaikaraHaikara
Haikara
 

Recently uploaded

CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
yamamotominami
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
Yoshitaka Kawashima
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
ooishi1
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
You&I
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
fisuda
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
You&I
 

Recently uploaded (6)

CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdfCO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
CO2排出量見える化・削減・報告クラウド「アスエネ」サービス紹介_Saleshub.pdf
 
Grokking Simplicity探訪
Grokking Simplicity探訪Grokking Simplicity探訪
Grokking Simplicity探訪
 
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
受発注バスターズ説明資料  株式会社batton Saleshub掲載用.pdf
 
NIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしようNIST Cybersecurity Framework 2.0の変更点整理をしよう
NIST Cybersecurity Framework 2.0の変更点整理をしよう
 
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
FIWARE Orion Context Broker コンテキスト情報管理 (Orion 4.0.0対応)
 
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
アジャイルの30年(Tree Decades of Agileというブログ記事に関する要約)
 

最適化計算エンジンを備えた Ruby on Rails アプリケーションのアーキテクチャーと進化