ずっと気になっていたものの、量が多くて躊躇っていた『パーフェクト Ruby on Rails【増補改訂版】』を読みました。
読んだ感想
- Railsチュートリアルの延長線くらいのものかと思ったら違った
- 自分がもしこの本から初めてRailsを勉強していたら挫折してそう
- 実務も少し経験した今読むと知らないこともたくさん知れてかなり面白かった
構成
この本は全体的に、つまみ食いできるような形で各章が別々の機能説明となっています。
Part1でRailsの基礎知識を学習し、Part2でRailsの周辺知識を学習します。この2つで276ページまで到達するので、かなり手厚く書いてあると思います。
そしてPart3やPart4ではPart1やPart2で使った知識を使いながらサンプルアプリを1つ作りながら学習していきます。
そして最後のPart5は発展的な内容として、サンプルアプリからは離れて、複雑なロジックの場合の対応方法について学習します。
各パートの感想と良かったところ
たくさんありますが、大まかに書くと以下です。
Part1, Part2
不勉強だった以下のような点についても書かれていたり、知らなかった多くの知識をインプットできました。
細かいところだと、scopeとクラスメソッドでクエリインターフェイスを定義する時の違いも知りませんでした。
(例えば find_by
を使う場合、クラスメソッド内で使ってレコードがなかった場合はnilを返すが、scope内で使ってレコードがない場合だとScopeの検索条件を除外した結果を返す。)
それぞれサンプルコードで動かしてイメージできるようになっている点も理解しやすくて良かったです。
Part3, Part4
ここではイベント開催して、他ユーザーが参加表明などをできるアプリを作成します。
OAuthを利用してGitHubログイン機能を作るのは自分で実装したことがなかったので勉強になりました。
ただ、アプリ全体の機能については結構基礎的なものだったかなと思います。
Railsチュートリアルで作るアプリの方がその点では発展的な内容を含むかなと思います。
Part5
要すればより良い設計でRailsを書くことについて色々と紹介されている章です。
サービスオブジェクト、フォームオブジェクト、プレゼンターなど、実務で触ったことがある分野もありましたが、Concernや値オブジェクトなど、なんとなく存在は知っていてもどういうものか知らなかったところについても使う場面、使い方から解説されていてありがたかったです。
初学者の1冊目としては完走できるか怪しい?
上記のように発展的な内容もあり、別々の機能の解説がそれぞれの章でされているので、これからエンジニアを目指すような方が最初の入り口としてこの本を選ぶと頭がパンクする人も多そうな気がしました。
本書の対象読者にも以下のように書かれています。
・普段Ruby on Railsを使っていて、一歩先の「レール」に乗りたい人
・Ruby on Railsの学習を始め、これから本格的に使っていきたい人
・他のMVCフレームワークを扱ったことがあり、これからRuby on Railsを始める人
出典:『パーフェクトRuby on Rails【増補改訂版】』| すがわらまさのり 前島真一 橋立友宏 後藤優一 五十嵐邦明
まさに、という感じです。少なくとも基礎知識を持っていることは前提にしてるようです。
さいごに
実務経験を少し積んで、割とRailsできるようになってきたかな?と思っていた矢先、まだまだ知らないことが大量にあることをこの本を読んで気づけて良かったです。
Railsチュートリアルとの差分もかなりあるので、もし未経験の方などでこの本をやるか考えている方がいるなら、個人的にはやはり最初はRailsチュートリアルを勉強し、理解が進んだらこの本を取り組むくらいがちょうど良いのかなと思いました。