Upgrade to Pro — share decks privately, control downloads, hide ads and more …

これから始める"Ruby on Rails"2013年秋版

longicorn
October 11, 2013

これから始める"Ruby on Rails"2013年秋版

http://atnd.org/events/44191 のスライドです

longicorn

October 11, 2013
Tweet

Other Decks in Programming

Transcript

  1. + 自己紹介 n  始めは組み込み屋。 7、8年ほど色々やっていました n  下位層はbootloader、linux driverからファーム等 n  組み込みに飽きたので、ソーシャルゲーム業界に

    n  アプリ開発から解析システム開発等 n  現在は株式会社じげんで主にサイト作成を担当。 n  最近は、テストにも力を入れています。 n  Twitter @prioniae
  2. + Ruby + Rails n  rbenv n  Ruby : 1.8、1.9、2.0

    n  Rails : 2,3,4 n  サービス毎によって、Ruby + Railsのバージョンが色々 n  アップデートが課題 n  ビジネスロジックが多く、場合によっては作り直しの方が早 かったり
  3. + MySQL n  サービスによって複数のバージョンを使用 n  5.1、5.5、5.6 n  複数バージョンのインストールをどうするか? n  MySQL::Sandboxで複数インストール

    n  ただし、gemのmysql、mysql2のインストールは少し難しい n  コンパイルが必要なのでパスを通す必要が有り
  4. + View側のテスト n  Rspecだけでは出来る事が限られている n  ボタンの動作 n  ページ遷移 n  Javascript、…

    n  結局、人間が手動でテストをせざるを得ず、時間の無駄が多い → 自動化をしたい n  回答 : Rspec + Capybara + Poltergeist
  5. + そしてCIへ n  テストコードができれば、CIの準備完了 n  Jenkinsで自動テスト n  gitでpush時に自動的にテストを実行 結果はメールで送信 n 

    DevOps、テストコード作成の影響もあり徐々に導入を進めて います n  まだ、始めたばかりなので、利用しているプロジェクトは2,3 程度
  6. + Railsの高速化 n  Spring n  Railsは各種コマンドの起動が遅い n  Railsの実行ファイルを予めキャッシュし、デーモンとして別 プロセスで生かしておく n 

    spork、zeus、commands n  注意 n  Ruby 1.9.3,Rails3.2以降が対象 n  gitでのブランチ移動の場合は再起動が必要
  7. + Rubocop n  Rubocop : 静的コードチェッカ n  Ruby 1.9以上 n 

    インストールはgemで n  コーディングルールのチェックツール n  設定ファイルでルールを変更することが可能! n  言語を問わず昔からあるツールの類 n  Jenkinsを利用することにより、コーディングルールの形骸化 を防ぐ
  8. + TDD n  CIは通常git + Jenkinsで行われるが、 TDDはコーディングとセットで行うもの n  gem :

    guard、watchrが便利  Ruby製ですが、他言語でも使用できます n  ファイルの変更をトリガーにテストを実行 n  Growlを使用することにより、テスト結果を分かりやすく表示
  9. + 今回紹介したツール n  gem n  Spring n  Guard / Watchr

    n  Rubocop n  Rspec、Capybara、Poltergeist n  phantomjs n  Growl n  購入 / コンパイル n  Linux growl4linux / Notify-OSD