Railsチュートリアル終わったー

ここ最近Rails入門で有名なRailsチュートリアルをやってたのだけど、今日やっと終わった。超絶ボリュームだったけど、楽しかったのでやってよかった。

Railsチュートリアルとはこれ↓
http://railstutorial.jp/

静的な画面から初めて徐々に機能を増やしていって最終的にTwitter風なWebアプリを作りながらRailsの使い方を覚えていくんだけど、特徴的なのはRailsにとどまらず、gitとかHeroku使ったり、BootstrapとかSass使ったりとかWebアプリ開発に必要な周辺ツールも使うので、そういった周辺も合わせてチュートリアルという構成がよい。あと、チュートリアルなのにテスト駆動開発を全面的に採用してて、実装前にまずテストを書くのが印象的。RSpec+Capybaraでテスト書いてGuardでテスト自動化したり、FactoryGirlでテストデータ生成したりとかテスト駆動のやり方も学べる。Guardでテスト自動化してるとソースいじって保存した瞬間にテストが走るので、リファクタするときに安心感あるのでよい。

できたものはHerokuに上げてるので完成イメージが知りたい人はこちら。
https://sleepy-springs-2321.herokuapp.com/
基本的に写経なんだけどコードもGithubに置いてる。
https://github.com/minamijoyo/sample_app
ちゃんと時間測ってないけど、だいたい一日平均すると4時間ぐらい?✕15日で60時間ぐらい寄道しつつやってたんじゃないかと思う。たぶん単純に写経するだけならもっと速くできると思うけど、今のペースでも情報過多で消化しきれてないかんじがするので、実際何か作る時に都度見直さないといけないかんじしてる。

RailsJ2EEXML地獄とは対照的に設定よりも規約というスタンスで、暗黙にデフォルトの振る舞いを仮定することで最小限の実装で動くし、素早く何か作るのにマッチしそうだけど、暗黙に仮定されてるコンテキストが大きすぎるので初心者に対する学習コストはかなり大きい。Railsの機能自体をもうちょっと網羅的に覚えないとそのメリットが使いこなせないかんじなのでまだ道のりは長そう。