koheitakahashiのブログ

2020.07.01にプログラマーとして生を受けた私が学んだことや、日常について徒然に書いていきます。

『パーフェクトRuby on Rails』を読了しました

はじめに

FJORD BOOT CAMPでRuby on Railsを学んでいますが、その中で『パーフェクトRuby on Rails』をざっくりと読了しました。

その感想をまとめていきたいと思います。

本書の章立て

本書は以下のような章立てになっています。

  1. Ruby on Railsの概要
  2. Ruby on RailsとMVC
  3. アセット
  4. Railsのロードパスとレイヤーの定義方法
  5. 開発を効率化するgem
  6. Railsアプリケーション開発
  7. Railsアプリケーションのテスト
  8. Railsとインフラ運用
  9. より実践的なモデルの使い方
  10. . Railsを拡張する

感想

1・2章 知っていたはずの概念でも、本当は知らないということに直面

1・2章は、復習のつもりでサラーっと読み進めていたのですが、私の中で知ったつもりになっていただけで、本当は知らなかったことが多かったなーと思いました。

例えば、ActiveRecordのお話で、

  • saveとsave!で「!」の有無で何が違うのか

というものがありました。

私としては、「Rubyで「!」を付けたら破壊的な処理を行うんだから、バリデーションを通過してもしなくても、何も言わないようにするんだろうなー」と恥ずかしながら、勘違いしておりました。

実際は逆で、「!」をつけるとバリデーション失敗時に例外が起こり、つけないと例外を起こさないというものでした。

このように、自分の中では、知ったつもりになっていたことが多いなーと1・2章を通して実感しました。

3~5章 知らなかったことがザクザク

3~5章では知らない単語が多く、新しく学ぶことが多く勉強になりました。 例えば、以下のような単語(この章のほぼ全てですが)を新しく知りました。

  • アセット
  • Sprockets
  • CoffeeScript
  • Turbolinks
  • active_decorator
  • better_errors
  • binding_of_caller
  • Spring
  • rails-erd

6章 最初に作成するアプリの仕様が書かれており、流れが分かりやすかった

実際に、イベントを告知するアプリケーションを開発しながら、Railsの基本的な機能を学ぶという内容でした。

印象に残ったこととして、最初に作成するアプリの機能が書かれており、自分がどこに向かおうとしているのか、何をしているのかが分かりやすいということが挙げられます👍

最近、何かのアプリケーションを実装する時には(とは言っても、自分でWebアプリを実装したことはまだ1回しかないのですが)、予めやらなければならない作業が分かっていた方が、やる気や集中力が保ちやすいなと思っていたところでした。

そのような点で、本書では実装すべき機能を予め書いており、とても分かりやすいなと感じました💪

7章 テストの比較がされていて良いと思った

少し前に読んでいた『現場Rails』でRSpecの存在を知り、また、minitestというテストもあるのだと知っていたのですが、「どっちを使えばいいのだろう?」という疑問がありました。

そこで、本書では、両者の特徴を比較しています。RSpeとminitestの特徴の概要が分かり、自分はどっちを使おうか考えるための基準ができました。

9章 モデルをどのように書くべきかを学べた

この章は、あまり理解することができませんでしたが、全体としては肥大化するモデルをどのように書いて行けば良いのかという内容です。

単一のクラスにする、RDBに依存しないモデルにするなど、基本的なモデルの考え方をなんとなくではありますが、学べました。

最後に

最初は表紙の感じから、とっつきづらいと思っていた本書でしたが、読んでみるとそんなことはなかったです。 自分がまだRailsでアプリケーションを作った経験がないために、ピンと来ていないところも多かったですが、これからFJORD BOOT CAMPの提出物を作成していくにあたって、本書も繰り返し読んでいくことになるだろうと思いました💪