SlideShare a Scribd company logo
1 of 6
RoR移行勉強会
2014/05/02 at イタンジオフィス
1
イタンジ株式会社 横沢
移行におけるポイント
• URLリダイレクトについて
• データベースについて
• コード資産について
• 学習について
2
URLリダイレクトをどうにかする
• 旧URLをroutesで拾う
• 専用のコントローラーでしこしこリダイレクト
• webマスターツールとかanalytisで404をチェック
結論
URLについては地道にやっていくしかない
ロングテールサービスだと結構大変かもしれない。。
MySQL同士ならそこまで問題ないけど
気をつけるべきポイント
• 認証用のテーブルのカラム名
CakePHP:password VS RoR:encrypted_password(for devise)
• タイムスタンプのカラム名
CakePHP:created VS RoR:created_at
• 「type」というカラム名の特殊な役割
RoRデフォルトだとtypeは予約語なのでカラム名に使えない\(^0^)/
4
結論
よほど特殊な事情が無ければそこまで高いハードルは無い
コード資産は活かせるか?
• rubyは型指定が厳格なのでphpコードロジックをそのままrubyに翻訳するとあぼんし
たりする
• Cakeからの場合、おそらくViewは全くもって活かせない気がする。というより活か
すべきではない(諦めてHaml使うとか)
• RoRのミドルウェアはnginx+unicorn構成が一般的なのでapache+mod_php辺りから
移行するとなると最初は苦労するかもしれない
• rubyにおけるintの0はphpとは異なりif文においてtrueと評価されるetc…
5
結論
既存のコード資産を活かそうとしないで、
ゼロベースでRoRに則って作るべし(その方が楽)
どうやって勉強する?
• 英語から逃げずに向き合う
• オブジェクト指向しっかり(特にActiveRecord)
• rails castを筆頭に動画教材いぱーい
http://railsforzombies.org/
http://www.railstutorial.org/book
結論
やってれば自然に覚えていくのだと思う。。

More Related Content

What's hot

Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Daisuke Ikeda
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTMasahiro Nagano
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処hdais
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介Akira Matsuda
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西Ryuji Tamagawa
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614Takano Masaru
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなしOonishi Takaaki
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3infinite_loop
 
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話Tokoroten Nakayama
 
はじめるCassandra
はじめるCassandraはじめるCassandra
はじめるCassandraKakeru Iwanaga
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめKosuke Kida
 
勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』chimoto
 
勉強会 Vol2【SSL証明書とは】
勉強会 Vol2【SSL証明書とは】勉強会 Vol2【SSL証明書とは】
勉強会 Vol2【SSL証明書とは】chimoto
 
勉強会 Vol3【ドメインとは】
勉強会 Vol3【ドメインとは】勉強会 Vol3【ドメインとは】
勉強会 Vol3【ドメインとは】chimoto
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1Takano Masaru
 
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話Tokoroten Nakayama
 

What's hot (19)

Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)Mobageの技術を体験(MyDNS編)
Mobageの技術を体験(MyDNS編)
 
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LTWeb Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
Web Framework Benchmarksと Perl の現状報告会 YAPC::Asia Tokyo 2014 LT
 
キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処キャッシュ・権威 兼用型浸透問題への対処
キャッシュ・権威 兼用型浸透問題への対処
 
PowerDNSのご紹介
PowerDNSのご紹介PowerDNSのご紹介
PowerDNSのご紹介
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西
 
introduction of WalB
introduction of WalBintroduction of WalB
introduction of WalB
 
Cloud os techday_0614
Cloud os techday_0614Cloud os techday_0614
Cloud os techday_0614
 
初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし初心者向け負荷軽減のはなし
初心者向け負荷軽減のはなし
 
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
Dbtechshowcasesapporo mysql-turing-for-cloud-0.9.3
 
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
ビッグデータとioDriveの夕べ:ドリコムのデータ分析環境のお話
 
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
 
はじめるCassandra
はじめるCassandraはじめるCassandra
はじめるCassandra
 
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
商用DBからPostgreSQLへ まず知っておいて欲しいまとめ
 
勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』勉強会 Vol1 『ホスティングとは?』
勉強会 Vol1 『ホスティングとは?』
 
Osc2011 Do
Osc2011 DoOsc2011 Do
Osc2011 Do
 
勉強会 Vol2【SSL証明書とは】
勉強会 Vol2【SSL証明書とは】勉強会 Vol2【SSL証明書とは】
勉強会 Vol2【SSL証明書とは】
 
勉強会 Vol3【ドメインとは】
勉強会 Vol3【ドメインとは】勉強会 Vol3【ドメインとは】
勉強会 Vol3【ドメインとは】
 
Mvp road show_0830_rev1
Mvp road show_0830_rev1Mvp road show_0830_rev1
Mvp road show_0830_rev1
 
ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話ソーシャルゲームにレコメンドエンジンを導入した話
ソーシャルゲームにレコメンドエンジンを導入した話
 

Similar to アジェンダ

20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料慎平 仁藤
 
Mod lua
Mod luaMod lua
Mod luado_aki
 
Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Akira Miki
 
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座Shinichi Nishikawa
 
AWS Auroraよもやま話
AWS Auroraよもやま話AWS Auroraよもやま話
AWS Auroraよもやま話Akira Miki
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Shota Umeda
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策Salesforce Developers Japan
 
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだScalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだyoshiaki iwanaga
 
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdf
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdfAwsデータレイク事例祭り dmm.com YUKI SASITO.pdf
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdfYUKI SAITO
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?Shinichi Nishikawa
 
今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方Endoh Shingo
 
プログラミングNet framework3のお題
プログラミングNet framework3のお題プログラミングNet framework3のお題
プログラミングNet framework3のお題Kazushi Kamegawa
 
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜Fukui Osamu
 
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場Yasuko Ohba
 
Continuous delivery 6
Continuous delivery 6Continuous delivery 6
Continuous delivery 6ShinyaOzawa
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアKouhei Sutou
 
SunspotではじめるSolr入門
SunspotではじめるSolr入門SunspotではじめるSolr入門
SunspotではじめるSolr入門Takao Baba
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsKoichiro Ohba
 
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術Daisuke Tamada
 

Similar to アジェンダ (20)

20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料20150228_渋谷Webエンジニア朝会LT資料
20150228_渋谷Webエンジニア朝会LT資料
 
Mod lua
Mod luaMod lua
Mod lua
 
Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話Dockerizeして
大変だった話、幸せになった話
Dockerizeして
大変だった話、幸せになった話
 
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
 
4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座4時間まったりWordPressテーマ作成講座
4時間まったりWordPressテーマ作成講座
 
AWS Auroraよもやま話
AWS Auroraよもやま話AWS Auroraよもやま話
AWS Auroraよもやま話
 
Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話Ph perがawsと出会ってdev opsを目指した話
Ph perがawsと出会ってdev opsを目指した話
 
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策HerokuでRailsアプリ運用の パフォーマンス、SEO対策
HerokuでRailsアプリ運用の パフォーマンス、SEO対策
 
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだScalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
Scalaのコンパイル速度の話が聞きたいだろうし、するつもりだ
 
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdf
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdfAwsデータレイク事例祭り dmm.com YUKI SASITO.pdf
Awsデータレイク事例祭り dmm.com YUKI SASITO.pdf
 
WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?WordPress中級者への道!テンプレートタグはどう動くのか!?
WordPress中級者への道!テンプレートタグはどう動くのか!?
 
今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方今さら聞けないWebサーバの基本知識と選び方
今さら聞けないWebサーバの基本知識と選び方
 
プログラミングNet framework3のお題
プログラミングNet framework3のお題プログラミングNet framework3のお題
プログラミングNet framework3のお題
 
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
20140212 develove テスト自動化のアプローチ拡張トレンド 〜Excel項目定義手動テストから自動テストへ〜
 
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
QCon2009 Tokyo - Ruby on Railsで変わるエンタープライズ開発の現場
 
Continuous delivery 6
Continuous delivery 6Continuous delivery 6
Continuous delivery 6
 
Rubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェアRubyを使った分散全文検索ミドルウェア
Rubyを使った分散全文検索ミドルウェア
 
SunspotではじめるSolr入門
SunspotではじめるSolr入門SunspotではじめるSolr入門
SunspotではじめるSolr入門
 
The Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in CorporationsThe Essence of Using Ruby on Rails in Corporations
The Essence of Using Ruby on Rails in Corporations
 
大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術大規模Perl初心者研修を支える技術
大規模Perl初心者研修を支える技術
 

More from Yusuke Yokozawa

少人数スタートアップで始める 意識低い系グロースハックへの取り組み
少人数スタートアップで始める 意識低い系グロースハックへの取り組み少人数スタートアップで始める 意識低い系グロースハックへの取り組み
少人数スタートアップで始める 意識低い系グロースハックへの取り組みYusuke Yokozawa
 
20160226-アジャイルひよこクラブkeynote
20160226-アジャイルひよこクラブkeynote20160226-アジャイルひよこクラブkeynote
20160226-アジャイルひよこクラブkeynoteYusuke Yokozawa
 
2015/12/18 アジャイルひよこくらぶ発表資料
2015/12/18 アジャイルひよこくらぶ発表資料2015/12/18 アジャイルひよこくらぶ発表資料
2015/12/18 アジャイルひよこくらぶ発表資料Yusuke Yokozawa
 
20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回Yusuke Yokozawa
 
20150217 イタンジプログラミング講座テキスト第3回
20150217 イタンジプログラミング講座テキスト第3回20150217 イタンジプログラミング講座テキスト第3回
20150217 イタンジプログラミング講座テキスト第3回Yusuke Yokozawa
 
20150212 イタンジプログラミング講座テキスト第2回
20150212 イタンジプログラミング講座テキスト第2回20150212 イタンジプログラミング講座テキスト第2回
20150212 イタンジプログラミング講座テキスト第2回Yusuke Yokozawa
 
20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回Yusuke Yokozawa
 

More from Yusuke Yokozawa (10)

少人数スタートアップで始める 意識低い系グロースハックへの取り組み
少人数スタートアップで始める 意識低い系グロースハックへの取り組み少人数スタートアップで始める 意識低い系グロースハックへの取り組み
少人数スタートアップで始める 意識低い系グロースハックへの取り組み
 
20160517-資料
20160517-資料20160517-資料
20160517-資料
 
20160226-アジャイルひよこクラブkeynote
20160226-アジャイルひよこクラブkeynote20160226-アジャイルひよこクラブkeynote
20160226-アジャイルひよこクラブkeynote
 
2015/12/18 アジャイルひよこくらぶ発表資料
2015/12/18 アジャイルひよこくらぶ発表資料2015/12/18 アジャイルひよこくらぶ発表資料
2015/12/18 アジャイルひよこくらぶ発表資料
 
LT資料
LT資料LT資料
LT資料
 
Gstudy 公開用資料
Gstudy 公開用資料Gstudy 公開用資料
Gstudy 公開用資料
 
20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回20150227 イタンジプログラミング講座テキスト第4回
20150227 イタンジプログラミング講座テキスト第4回
 
20150217 イタンジプログラミング講座テキスト第3回
20150217 イタンジプログラミング講座テキスト第3回20150217 イタンジプログラミング講座テキスト第3回
20150217 イタンジプログラミング講座テキスト第3回
 
20150212 イタンジプログラミング講座テキスト第2回
20150212 イタンジプログラミング講座テキスト第2回20150212 イタンジプログラミング講座テキスト第2回
20150212 イタンジプログラミング講座テキスト第2回
 
20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回20150204 イタンジプログラミング講座テキスト第一回
20150204 イタンジプログラミング講座テキスト第一回
 

アジェンダ