hotoolong's blog

プログラムのことやエンジニアリングに関することを記事にしています。

パーフェクトRuby on Rails 【増補改訂版】を読んで

イントロ

パーフェクト Ruby on Rails 【増補改訂版】を読みました。 Rails本の中では異質な量と質ではないかとおもいます。

誰が読むべきか

  • 最近のRailsをキャッチアップしたい方
  • Railsをある程度は長く使っている方
  • よりRailsを理解したい方

Rails初心者の人もRoute, MVC周りの基礎的な理解をしている状態で読むことで理解が進みそうです。 というのも章立てがわかりやすく、掻い摘んで自分がほしい情報を手に入れやすい構成になっているからです。 逆に基本的なところは詳細に記載されてないので別の本などで知識を得るのが良さそうです。

良かったところ

正直たくさんあるのですが、特によかったのは以下になります。

  • Rackに関して
  • Webpacker
  • Early Hints
  • CSP対応
  • ActiveStorage
  • 秘密情報の取扱い方
  • searchkickを使った検索機能
  • RuboCopの活用方法
  • Stimulusの機能説明
  • Docker
  • GitHub Actions

特に秘密情報の取り扱いは過去バージョンからの歴史があるのでまとめられているのがとても参考になりました。
上記にとりあげている内容は自分が持っている知識をアップデートできる内容になっているのでこれから業務でも活かしていけそうです。

記載してほしかったところ

とても質も高い内容がおおくて参考になるのですが、個人的に知りたかったこともありました。

  • APIに関するgemの活用方法
  • GraphQL
  • デバックに関して
  • like文のサニタイズ

APIとしてサーバを立てるケースは少し触れられていたのですが、 jsonapi-serializer を使った serialized 周りの処理に関してあると嬉しかったなとおもいました。 
GraphQLに関しては出てこなかったです。この辺は少し触れてくれるといいのかと思いました。
デバッグに関してもpryもしくはirbでのbindingして実施する方法があると嬉しかったです。
ここまでの3点に関してはgem の機能説明になってしまいそうなので、少し方向性がずれてしまうと感じで外していたのかもしれません。
最後のlike文の記載が 2-2-2 モデル同士のリレーション であったのですが、サニタイズの処理がなかったので追加してほしかったなとおもいました。
随分前に以下のような記事も書いているので気になる方は確認してみてください。
hotoolong.hatenablog.com

総括

すごくボリュームがあるのですが、中身が濃くて参考になる内容が多く読み応えがありました。
あー読むのに時間かかったw
初心者向けではないのは明らかなのですが、Railsの書籍には入門書から先に進むときに見るべき本としてはいい道標になりそうです。
Rails6系になり機能がとても増えているのでキャッチアップできていなかった機能もこれを一読することである程度網羅的に知識を得ることができた本でした。
Rails初心者であっても本書の構成が章によって別々の機能説明になっているのでつまみ食いできて、わからなかったところは飛ばしてわかるようになるまで見ていけば徐々に力がついてきそうだなという内容になっています。
著者の皆様には感謝が大きいです。ありがとうございました。