Ruby on Rails Tutorialを完走したのでふりかえる

Ruby on Rails Tutorialを終えたので、簡単にふりかえる。

学習を始めた理由

Excelと向き合ってばかりの仕事をしており、技術が身に付かない不安に駆られたので勉強を始めることに。GitやTDDを使いながら、Webアプリケーションで用いられる基本的な機能を一通り実装できるRuby on Rails Tutorialを選択した。

事前知識

会社の研修で在庫管理のWebアプリケーションを作成した際、以下の技術を使用した経験がある。しかし、業務でプログラミングをする機会がなく、実務経験に乏しい。

プライベートでは以下の勉強をしたことがある。趣味レベルであり、仕事で使うことがない技術なので当然実務経験はない。

学習結果

Ruby on Railsを用いてTwitterの簡易的なクローンを作成した。主な機能は以下の通り。

  • ユーザの登録/削除
  • メールを用いたアカウントの有効化/パスワードの再設定
  • セッション/Cookieを用いたログイン
  • ユーザに紐付けられたマイクロポスト
  • ユーザのフォロー

プログラミングやMVCに関する基本的な知識はあったので、割とさくさく進められた。ただ、Rails特有の書き方や省略記法は、慣れないとコード見ただけでは読み解けないと思った。簡単に書けるというメリットはあるものの、なぜそういう書き方ができるのかをしっかりと理解しておく必要がある。

Gitについては、章毎 (機能毎) にBranchを作成し、実装が終わったらAdd -> Commit -> Merge -> Pushを行った。本番環境へのデプロイも、GitでHerokuにPushするだけでなので非常に簡単だった。章が終わるタイミングでCommitしていたので、もっと細かい粒度でCommitした方が良かったかもしれない。

また、テスト駆動開発 (TDD) を用いて実装を行った。テストを先に書いてから実装するという流れで進められるので、実装の間違いに気付き易い。Guardによる自動テストを用いれば、品質を高めつつ面倒な作業は自動化することができる。TDDと自動テストを実践しながら進められるというのはかなり有益だったと思う。

次の目標

復習も兼ねて、要素技術を掘り下げながら2周目をやろうかと思う。毎日こつこつ進めていたので、おそらく忘れている部分もあるはず。また、簡潔に説明されていた部分を掘り下げて学習したい。並行して以下の本を読み進めていこうと思う。