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

前作から6年ぶりの改訂

先日いつも立ち寄る三省堂書店神保町本店の技術書コーナーにいくと、パーフェクトRuby on Railsの増補改訂版が置いてありました。まだ発売日前のようですが置いてくれていたんですね。早速購入しました。

前作が2014年7月10日に初版第1刷発行ということで、6年ぶりの改訂となります。前作も手元にありますので比較してみていきます。

対象のバージョン

前作ではRuby2.0.0、Rails4.1.1が対象でした。今見るとさすがにちょっと古い感じがしますね。
今作ではRuby2.6.6、Rails6.0.3が対象です。「はじめに」にもありますが、本書執筆時点ではRuby2.7.1が最新バージョンでしたが(2020年7月21日現在も2.7.1が最新)、Ruby2.7からRuby3.0へ向けて非互換性の警告が出るようです。そのため2.6.6を利用したようです。

内容

前作は431ページで、今作は527ページと約100ページ増えています。

内容は、前作ですとPart1〜4と付録がありました。今回はPart1〜5と付録があります。

Part1 Rails Overview

Part1は前作と同様、Railsの概要、MVCアーキテクチャ、基本機能が紹介されています。今作では秘密情報の管理方法がバージョン4.0までと4.1、5.1、5.2、6.0でどのように行うかが紹介されています。

ここまでの内容は普段Railsアプリケーションを開発されている方々であればざっと流し見する感じでしょうか。

Part2 Railsの周辺知識

Part2ではRailsの周辺知識として、フロントエンド開発周りやActive 〜、Action 〜などのコンポーネントの利用方法について紹介されています。

前作ではフロントエンド開発周りで言うと、アセットのコンパイル(assets:precompile)を行う方法、CoffeeScriptの書き方、Sassの書き方などでした。
今作では、6.0から導入されたWebpackerの紹介、JavaScripthレームワークStimulusの紹介などがあります。cssもWebpackerで管理する方法で普段開発しているのですが、本書ではcssは引き続きSprocketsで管理すると記載されています。

その他は前作と同じようにActive 〜、Action 〜の紹介がされています。

Part3 Webアプリケーション開発

Part3では前作と同様、簡単なサンプルアプリケーションを作成し、そのテストも実装するという内容になっています。

前作では上記にプラスしてRailsアプリケーションの開発、運用、CI/CDについてもPart3で言及しています。この頃はまだコンテナ技術が広まっていなかったからか、仮想マシンを用いた開発、運用について紹介されています。Chefとか懐かしいですよね。今作ではPartを分けて、Part4で紹介されています。この辺りの技術に大きな変化があったということでしょう。

Part4 Railsアプリケーションの拡張・運用

今作で切り出されたPartです。RailsでのCIやコンテナ技術について紹介されています。

最近やっと着手したGitHub ActionsやDockerコンテナでのアプリケーション設定方法について記載されています。

Part5 エキスパートRails

今作のPart5は前作のPart4の内容に少し追加されているくらいの印象です。ですが、やはりこの辺りをしっかりと理解しておくことがRailsをちゃんと使いこなせるかどうかの違いになってきそうです。わたしも(Concernやコールバックオブジェクトなど)理解できていない部分があるので、もう一度見直したいと思います。

付録

付録はWindows環境でのRailsアプリケーションの構築方法、Rubyのインストール方法など環境構築方法が紹介されています。rbenvを使っています。

まとめ

内容に関して大きく変わりはないですが、今使われている技術をざっと見直したい、Railsについて理解しているつもりだけどわかっていないところを再発見したいときに流し読みするには良さそうです。もちろんRailsにまだあまり慣れていない人にとっては最初からじっくり手を動かしながら読むのがオススメです。