2017年何度も読み返したRubyの技術書三冊を紹介する


皆さんこんにちは。yukito ohiraです。

Rubyの本は池袋淳久堂のような超大型書店でもJava、Cなどと比べると比較的少数です。

おそらくあまり「技術書を書く」という文化ではなく、「そこのコードを読め」という文化というコードに対する文化の違いがあるのではないでしょうか。

しかし。そんなRubyの本の中にも名著は多くあります。

今回は、私が昨年度に購入して以来、バイブルとして使っている書籍三冊を紹介します。

1.パーフェクトRuby

Rubyist必読の1冊。Ruby2.4対応!Rubyのセオリーを徹底解説。基本からgemパッケージの作成方法や実践的なアプリケーション開発まで、最新の情報を完全網羅。

三周ほどコード写経をしました。Rubyの言語仕様が網羅されており、Railsに依存しないRubyの言語仕様を覚えるのに最適な技術書です。

メタプログラミングに関しても三章ほど咲いておりボリュームはあるのですが、メタプログラミングに関しては流石に後述する「メタプログラミングRuby」のほうに軍配があがります。

後半はほぼすべてがライブラリの解説となっており、実用性を見込んだコードを書ける構成になっています。あなたのRailsに付け足してみても良いでしょう。

Rubyの文法をサンプルコードで学び,例題でプログラミングの流れを体験できる解説書です。ほかのプログラミング言語で開発経験のある人が,Rubyを学ぶ際に効率的に学べる内容を詰め込みました。プログラミング未経験者向けの「変数とは」「配列とは」といったプログラミング基礎知識の説明は最小限にし,そのぶんRubyの特徴(他プログラミング言語との違い),Rubyにおけるリファクタリングの要点,テスト駆動開発やデバッグのやり方など開発現場で必要になる知識を解説しています。本書の内容を理解すれば,開発の現場で必要とされるRuby関連の知識を一通り習得できます。そして,「今まで呪文のようにしか見えなかった不思議な構文」や「実はあまりよくわからないまま,見よう見まねで書いているコード」も自信をもって読み書きできるようになるはずです。本書はRuby 2.4をベースに解説します。Ruby 2.2や2.3など,少し前のバージョンで動きが異なる場合は,適宜注釈を入れています。

今なら、↑の「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで」もおすすめです。

こちらも必要な基礎項目はほとんど網羅されています。

さらに現場でコードを書いている人の視点での解説が入っているので、より実務よりの解説となっています。

Ruby初めて数ヶ月が立つ中級者が復習のために買った場合も「わかる、わかる」と思わず頷いてしまう箇所が何箇所かあるのではないでしょうか。

2.Ruby on Rails 5 アプリケーション・プログラミング

本書は、MVCに則ったWebアプリケーションフレームワークの最新版「Ruby on Rails 5」を対象に、Scaffolding機能から、ビュー/モデル/コントローラ開発、ルーティング、テスト、クライアントサイド開発まで、Railsの主要機能を徹底解説しています。クライアントサイド開発で必要となるCoffeeScriptやSCSS、バージョン4以降の新機能であるActive Job等に対応しているので、最新技術を取り入れたWebアプリケーション開発にも柔軟に対応できます!

サンプルコードが、パターンを網羅した上で簡潔に書いてあるので、構文が非常に理解しやすいものとなっています。

章立てに従ってコード写経をするだけで、網羅されたRailsのメソッドを体得できます。

(すべてを頭のなかに叩き込むにはもちろん復習は必要ですが。。。)

この本の内容さえ覚えておけばRailsはほぼ書ける、即戦力と名乗っても構わないのではないかと思っています。

ただ、ちょうどwebpacker周りがリリースされる直前に本が出版されたので、webpacker周りの解説は残念ながら入っていません。あしからず。

読み切ったら今度はOSSの実装を実際に読み込むことにチャレンジしていきましょう。初心者から上級者までおすすめの本です。

3.メタプログラミングRuby

本書はRubyを使ったメタプログラミングについて解説する書籍です。
メタプログラミングとは、「プログラミングコードを記述するコード」を記述することを意味します。
前半では、メタプログラミングの背景にある基本的な考えを紹介しながら、動的ディスパッチ、ゴーストメソッド、フラットスコープといったさまざまな「魔術」を紹介します。
後半では、ケーススタディとしてRailsを使ったメタプログラミングの実例を紹介します。
今回の改訂では、Ruby 2とRails 4に対応し、ほぼすべての内容を刷新。
Rubyを使ったメタプログラミングの魔術をマスターし、自由自在にプログラミングをしたい開発者必携の一冊です。

Railsのレールに乗って実務をこなしているとあまりお目にかかることのない「メタプログラミング」の話です。(Railsの内部にはしっかりメタプログラミングが使われているのですが)

最初の6章でメタプログラミングの基本的なUsageについて説明したあとで(この章を写経するだけでも十分力になる)、実際に使われているOSS、Railsまでもを巻き込んでのソースコードの解説がついてきます。

まとめ

以上、2017年何度も読み返した本について紹介しました。

ただ、私もまだこれらの本の内容をすべて理解できているわけではありません。

日々精進。地道な努力を怠らず、やっていきましょう。