月に175万稼ぐフリーランスエンジニアがおすすめするRuby on Rails書籍5選
Rubyの書籍は、Java、C、PHPなどと比べると少数派です。
私は池袋の「ジュンク堂」や新宿の「紀伊國屋書店」によく行きますが、そういった超大型書店でもRubyの本は少なめです。
おそらく「技術書を書いて出版する」という文化よりむしろ、「情報はインターネットに集まっているから調べればいい」「コミュニティに参加して質問すればいい」という傾向があるのかもしれません。
Rubyのコードは読みやすく、かつ多くがOSSで公開されているのでgithubから直接クローンして読むという選択肢もあります。
しかし、そんなRubyの本の中にも名著は多くあります。
特に商業出版されている書籍は出版社のレビュー(&違う開発者のクロスレビュー)が入っているので一般的にネットの記事より信頼性が高い傾向にあります。
反面、ブログやネットと違い、情報が更新されないので最新の情報を取りこぼす可能性がある欠点があります。積ん読はやめて早めに読み切りましょう。
今回は、私が購入して以来、バイブルとして使っている書籍5冊をピックアップして紹介します。
現場で使える Ruby on Rails 5速習実践ガイド
本書は、Ruby on Rails(以下Rails)を使ってWebアプリケーションを開発するための解説書です。RailsでどのようにWebアプリケーションを作るのかという基本的なところから、現場のニーズに合わせてどのように機能を追加していくのか、テストはどのように行うのか、複数人で開発していく場合の方法といった実践的なトピックまで、幅広くカバーしています。本書を読んだ方が単にRailsでWebアプリケーションを作れるようになるだけでなく、「Railsらしいアプリケーションコード」を書けるようになり、そして開発チームの仲間とともに実現したいことを実現できるように、という視点で必要な情報をまとめた1冊です。
本書はRails 5について解説しているため最新のRails 6よりは情報の鮮度が古いです。
ですが、Railsを書くためのRuby入門から簡単なTodoアプリケーションの作成、テストの書き方(テストを書くときに便利なライブラリ)、チーム開発の進め方など全体的な構成がしっかりしているのでピックアップして紹介させていただきました。
新卒エンジニアや駆け出しエンジニアの研修教材としても使いやすいのではないでしょうか。
難易度
★☆☆☆☆
こんな人におすすめ
・他の言語でのWebアプリケーション開発経験はあるが、Ruby/Railsは初めての人
Ruby on Rails 6 実践ガイド
本書は、2014年4月出版の『実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング』をRuby on Railsのバージョン6向けにアップデートしたものです。本書では、1つの企業向け顧客管理システムを作る過程で、RailsによるWebアプリケーション開発の基礎知識とさまざまなノウハウを習得していきます。各章末には演習問題が設けられているので、理解度を確かめながら確実に読み進められます。著者が試行錯誤を繰り返した上でのベストプラクティスを提供し、読者は、実際に業務システムを構築しながらRailsのさまざまな機能、方法、作法、メソッド、テクニックを学ぶことができます。
「企業向け顧客管理システム」を題材とし、開発環境の構築からRSpecを用いたユニットテストの書き方、エラーの設計、ユーザー認証、堅牢なシステムを目指すためのModel設計など実践的な知識が網羅されています。
難易度
★★☆☆☆
特にこんな人におすすめ
・研修で基礎的なRailsの知識を身につけ、現場でOJTを受けながら簡単なチケットをこなせるようになった駆け出しエンジニア
・今まで言われるままにコードを書いてきたが、やってきたことを体系的に学び直したいと思ったエンジニア
Ruby on Rails 6実践ガイド機能拡張編
本書は、2019年12月に出版された『Ruby on Rails 6実践ガイド』の続編です。本編で作成した企業向け顧客管理システムBaukis2の機能をさらに拡張し、実用性の高いシステムにしていきます。本書のテーマは多岐にわたります。クッキー、リクエスト元のIPアドレス、Ajax、データベーストランザクション、排他的ロック、ツリー構造のデータなど、さまざまなWebアプリケーションに必須の機能を実装しながら解説します。また、この機能拡張編では、HTMLフォームのさまざまなバリエーションを紹介しています。特にRailsで業務システムを開発する場合、要求仕様に応じて自由にHTMLフォームを設計・実装する力が求められます。本書では、さまざまなフォーム設計の事例を扱っていますので、一種のレシピ集として活用できます。
「Ruby on Rails 6実践ガイド」の続編・発展編の位置づけの書籍がこちら。
内容としては、より高度なアクセス管理、トランザクションを用いた不整合の起こりにくい設計、「検索」「ツリー構造」「タグ付け」といったWebサービス頻出パターンの実装など。
難易度
★★★☆☆
こんな人におすすめ
・研修で基礎的なRailsの知識を身につけ、現場でOJTを受けながら簡単なチケットをこなせるようになった駆け出しエンジニア
・今まで言われるままにコードを書いてきたが、やってきたことを体系的に学び直したいと思ったエンジニア
前編である「Ruby on Rails 6実践ガイド」と同じ対象者ですが、前編の内容を忘れないうちに一気にこなしてしまうのがオススメです。
※余談ですが、本書ではServiceクラスを多用するパターンになっていますが、私自身はServiceクラスはあまり好きではないんですよね。自分がRailsを書くときの指標は以下の記事にまとめてあるので時間があれば是非参考にしてみてください。
Agile Web Development with Rails 6
Learn Rails the way the Rails core team recommends it, along with the tens of thousands of developers who have used this broad, far-reaching tutorial and reference. If you're new to Rails, you'll get step-by-step guidance. If you're an experienced developer, get the comprehensive, insider information you need for the latest version of Ruby on Rails. The new edition of this award-winning classic is completely updated for Rails 6 and Ruby 2.6, with information on system testing, Webpack, and advanced JavaScript.
洋書になりますがRails6系で実際にECWebアプリケーションを作りながらRailsを学んでいく形式の書籍です。
そこそこ分量があり英語慣れしていない人はつらいので、チームで持ち回りで読書会をしてみてもいいかもしれません。
難易度
★★★☆☆
こんな人におすすめ
・Railsと技術英語を同時に学んでいこうというガッツのある人
パーフェクトRuby on Rails
対象バージョンをRuby 2.6/2.7系、Rails 6.0系に変更した増補改訂版。新しいRailsのバージョンでサポートされた機能の紹介だけでなく、Dockerでの導入方法など最新の実践的内容を追加し,現在のトレンドとなる開発スタイルを紹介します。
2014年に発売された「パーフェクトRuby on Rails」の増補改訂版で、最新メジャーバージョンであるRails 6系に対応しています。
「Railsの動かし方」だけでなく、その裏にある思想(CoC,DRY,REST,MVCアーキテクチャ)についても解説されています。
というよりも、基本的な動かし方の解説は最小限にとどめ、Rails周辺のエコシステムや、Railsより深い構造に踏み込んだ解説のほうが多めだという印象を受けました。
「パーフェクト」の名前は伊達じゃない、さらにもう一歩先に進みたいRailsエンジニアに是非読んで欲しい本です。
難易度
★★★★★
こんな人におすすめ
・Railsの実務経験2~3年を積んで、リードエンジニアになるべくより高みを目指したい人
・Railsがチョットデキルようになりたい人
まとめ
本記事では、Railsを学ぶのにおすすめの書籍を5つピックアップしてお伝えしました。
「まずはググれ」とよく言われる世の中ですが、体系的にフレームワークを解説している記事って実はネットにはあまり落ちていなかったりします。そういったときに頼る手段として書籍は非常に役に立ちます。
書籍を読むだけではなく実際にサンプルコードをダウンロードしてきて手を動かしてみると学習効率がアップします。
それでは、よいRailsライフを!
ここまで読んでいただいて、ありがとうございます。サポートいただけると記事を書くモチベーションになりますので、よろしくおねがいします。