All Articles

【非初心者向け】Ruby と Rails をしっかり勉強するときのオススメ書籍

この記事では

  • 他の言語の経験があり、これから Ruby と Rails を学びたい方
  • Ruby と Rails の書き方が少しわかってきたが、あまり自信が持てていない方

におすすめの Ruby と Rails の書籍を紹介します。

Ruby の書籍

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで

Ruby の入門書で、通称「チェリー本」と呼ばれています。

まえがきに書かれている通り、対象読者はプログラミング経験がない方ではなく、他の言語の経験があって Ruby を学ぼうとしている方や、Ruby を学んでしばらく経ったがまだ自信が持てない方となっています。

この 1 冊で、Ruby の基本をしっかりおさえることができます。 この本を読んでから Rails を学ぶことで、どこまでが Ruby の文法で、どこからが Rails の機能なのかも理解しやすくなります。

コードの解説は TDD 的に行われているので、TDD の概要を学ぶこともできます。

他の言語の経験者が Ruby を学び始める際にも非常におすすめできる書籍です。

改訂2版 パーフェクトRuby

パーフェクトシリーズの 1 冊です。

こちらもプログラミング自体初めてという方を対象とした書籍ではなく、他の言語の経験があって Ruby を学ぼうとしている方などが対象読者となっています。

内容としては、Ruby の概要や言語仕様に始まり、メタプログラミングなどについても書かれています。 また、Rake や Gem、Bundler といった、Ruby 関係のツールについてもある程度ページを割いて解説されています。

個人的には Rack について解説されている点が非常に良かったです。 (Rack については次に紹介する『パーフェクト Ruby on Rails』でも解説されています)

Ruby on Rails の書籍

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

こちらもパーフェクトシリーズの 1 冊です。

Ruby on Rails について、基本的な使い方から、周辺エコシステム、実践的な設計まで学ぶことができる、非常に素晴らしい書籍です。

他の言語・フレームワークである程度開発経験のある方であれば、この 1 冊だけで Rails をかなり理解できるのではないかと思います。

2020 年 8 月に第 2 版が発売されており、GitHub Actions や Docker などを利用した、2020 年時点の実践的な開発環境についても解説されています。

『パーフェクトRuby』と同様、Rack と Rails の関係についても解説されており、どこまでを Rack が担当しており、どこからが Rails の機能なのかなども理解できます。

最終パートでは、値オブジェクトやサービスオブジェクト、フォームオブジェクト、プレゼンター、Concern、コールバックオブジェクトを使った、実践的な設計についても解説されています。 どの手法をどのような場面で使うべきかも書かれており、設計への理解を深めるとっかかりにもなります。

「Rails の基本的な書き方は身に付けたものの、設計に自信が持てない」という方も、是非この本を読んでみることをおすすめします。

Ruby on Rails 6 実践ガイド

Rails の実践的な解説書です。 サンプルプロジェクトを実装しながら解説していくスタイルで、Rails の前提知識が多少ある方に向けた、実践的な内容になっています。

こちらの本でも、フォームオブジェクトやサービスオブジェクト、プレゼンターを使った実践的な設計について解説されています。

なお、サービスオブジェクトについては、『パーフェクト Ruby on Rails』とは少し異なる立場で解説されています。 「サービス」の使い方にはいろいろな立場があるので、注意して読み進めることをおすすめします。

このあたりの考え方の詳細は、「【難易度別】ドメイン駆動設計 (DDD) の書籍 +α のまとめ」という記事で紹介している書籍等を参照ください。

その他、Ruby の実践的な書籍

その他、Ruby を実践的に学ぶ上で参考になりそうな書籍をいくつか挙げます。 (どれもプログラミング自体初めてという方に向けた書籍ではないので、ご注意ください)

まずは Ruby に関する有名な書籍 3 冊です。

Ruby でオブジェクト指向などの設計を学ぶ上では、以下の 2 冊も有名だと思います。

おわりに

この記事では、Ruby と Rails を実践的に学べる書籍を紹介しました。

プログラミングの勉強に慣れるまでは、基本的な書き方を理解した次のステップとして何を学ぶべきか分からない、ということも多いと思います。

そういった際は、この記事で紹介したような実践的な書籍を読んでみることをおすすめします。