Railsチュートリアル 4.0版 の写経を完走した

「The RSpec Book」の写経を終えた後、より実践的でテストコードがあるものに手をつけてみようと考え、評判の良い「Railsチュートリアル 4.0版」の写経を行いました。
全11章ですべての章に演習が付いているという、それなりに量のあるチュートリアルでした。

感想

テストの書き方を独学で学ぼうとしている人にとっては、テストコードの書く時の考え方をなぞりながら学ぶことができたので、非常にありがたかったです。
このチュートリアルでは、メインでRailsを学ぶほか、

  • TDD
  • Git
  • GitHub
  • Heroku
  • Sass
  • Bootstrap
  • ユーザー認証
  • SQL
  • Ajax

という、Webアプリを作成する上ではよく目にする内容についても触れることができるため、各技術の次のステップへのとっかかりを得られたのも大きかったです。
また、日本語版を読み進めていく中で「?」と感じたところでも、原文と比較した上で誤訳を報告するとすぐに対応していただき、ありがたかったです*1


自分のやり方で少々つらかったのは、

  • 各章の演習には解答が見当たらなかったため、「この解答で大丈夫か」と不安になったこと
  • Web版チュートリアルで写経していたため、Gitへのコミットメッセージにページ番号を追加できずに見返しづらくなったこと*2

くらいです。


なお、チュートリアルで示されているけれど自分がやらなかったこととしては、

  • RVMの使用 (rbenvを使ったため)
  • Herokuへのデプロイ (Herokuは使っていることから、写経に集中したかったため)
  • GuardやSporkによるテストの自動化・高速化 (現時点では、自動でやるよりすべて手動でやった方が、テスト失敗時の理解が進んだため)
  • 10.5.7.の演習 (解答なしのJavaScriptは、個人的に少々重めなため)

というところです。


実際の写経コードはGitHubに上げておきました。
thinkAmi/rails_tutorial-syakyo · GitHub


とりあえずRailsチュートリアルを終えることができたものの、あとで調べておこうと保留にしたものが色々とあるため、しばらくは復習することになりそうです。



写経環境

Windows上でRailsチュートリアルをやるのはきっと厳しいだろうと考えて、「The RSpec Book」の写経環境の作り方を流用して、Vagrant + Berkshelf で作りました。


入れ替えたところとしては、

  • rbenvのRubyのバージョンを2.0.0にした
  • JavaScriptランタイムが必要だったので、Ubuntuの「nodejs」パッケージを追加
  • SQLite Database Browserが必要だったので、Ubuntuの「sqlitebrowser」パッケージを追加
  • チュートリアル中で.gemrcへの記載が手間に感じたので、事前に設定

くらいです。


実際のVagrant + Berkshelf 関係のファイルはGitHubに上げておきました。
thinkAmi/rails_tutorial-env · GitHub




最後になりましたが、Railsチュートリアルを公開して下さっているMichael Hartlさんと日本語版の翻訳者のみなさま、すばらしいものをありがとうございました。



追記 (2014/2/8)

演習について、自分なりの解答をまとめました。
Railsチュートリアル 4.0版の演習について、自分なりの解答をまとめてみた - メモ的な思考的な

*1:誤訳を報告するボタンがあったため、報告しやすかったです

*2:復習と感謝の意を込めて、最終的には電子書籍版を手に入れました