More Related Content Similar to 広島Ruby勉強会#35プレゼン Similar to 広島Ruby勉強会#35プレゼン (20) More from Kakigi Katuyuki More from Kakigi Katuyuki (20) 広島Ruby勉強会#35プレゼン1. Rails と AWS で業務システムを
構築してみた
2013/11/02
広島 Ruby 勉強会 #035
3. 目的
• Rails と AWS で業務システムを構築した
際にはまったところを設計・実装の観
点から解説します。
26. 実装での問題
• RDMS のパフォーマンスの問題
•
IN 句の問題は MySQL5.6 から改善されているので
RDS のバージョンを MySQL5.6 にアップグレード
•
インデックスを作成してチューニング (add_index
:order, :order_number)
•
データを確定と未確定に分けて通常の処理対象は
未確定データのみとするようにす
る。 Order.summary など検索対象を未確定データの
みとするメッソドに変更
27. 実装での問題
• リテラル値の使い方
def check_hoge
@order = Order.all
if @order.ec_site = ‘ 楽天’
if @order.payment = ‘ クレジット’
case @order.sales_division
when ‘1’
hoge1
when ‘2’
hoge2
end
区分情報が1
end
とか2で業務
end
的にわからな
end
い
今後変化する
かもしれない
文字列を直接
つかっている
28. 実装での問題
• リテラル値の使い方
def set_name
@ec_site_name = {
rakuten: ‘ 楽天’ ,
yahoos: ‘ ヤフーショッピング’ ,
amazon: ‘amazon’
}
end
def check_hoge
@order = Order.all
if @order.ec_site = @ec_site_name[:rakuten]
・・・
case @order.sale_division
whene Division.find_by_type(‘SALES’,’1’)
hoge1
名称はハッシュとし
てモデルで一元的に
管理できるようにす
る
区分情報を管理する
マスタから取得する
ようにする