パーフェクトなRailsの本を書きました

どうもAmazonがフライングでパブリック状態にしてしまったのが補足されてしまったので、想定してないタイミングで世の中に通知されてしまいましたが、Railsの本を書かせていただきました。
パーフェクト Ruby on Rails: すが まさお, 前島 真一, 近藤 宇智朗, 橋立 友宏


元々はパーフェクトRubyを書いた後にスペースの都合で削ったRailsの章があって勿体無いという話から出てきた本です。
タイトルは最初決まってなかったんですが、最終的にパーフェクトシリーズの一つということになりました。


タイトルこそパーフェクトって付いてますが、この本は他の言語解説系の本とはちょっと雰囲気が違う感じになっています。
まあ、執筆スケジュールとかページ数によるスペースの限界という理由もありますが(Rails本の中ではかなり薄い方)、網羅性というより仕事でRails使ってる人達の知識とか考えに重点を置いた内容になってます。
分かりやすい例で言うと、scaffoldの解説とかほとんどしてないし、Railsの基本機能の中でも省略していることもあります。
しかし、本当の所、著者陣の趣味がかなり入ってるというか、RailsAPIリファレンスとRails Guidesに書いてあることを単純に本にしてもしょうがないだろうと思う所があります。
特にRailsは移り変わりが激しいので、書く側にとっても苦労の割にメリットが薄いように思えます。


というわけで、この本に興味を持ってくれた方に言いたいのは、始めてRailsに触る場合にはこの本は恐らく不向きだということです。
二冊目とか、研修やハンズオンで一通り触った後なんかに、手に取ってもらうのが良いんじゃないかと思います。


じゃあ、この本のウリは何なのか、一応著者の一人としていくつか書いておきます。


まずSprocketsの動作についてある程度ちゃんと書いてます。流石にソースコードレベルまでは踏み込んでないですが、単体でRackアプリとして動作させる方法なんかを説明しています。


そして、より実践的なRailsアプリケーションにおいてモデルをどう扱っていくか、という事について相当ページを割いています。
例えば、ActiveSupport::Concernをこんなにちゃんと解説してる本は、恐らく日本初です。Rails 4.1で追加されたconcerningについても解説してあります。(Rails 4.1対応です)
ついでに、ActiveModelについても、やたらと丁寧に解説しています。この辺の網羅性は無駄に高いです。


他にも、テストの解説やRack、Railtieの動作についてもかなりのページを割いています。
サンプルアプリケーションはwillnetさんが書いてくれたのですが、とても読み易いソースになっているので、シンプルなRailsアプリを行儀良く書く方法が良く分かると思います。


後は、できる限り最新の動向に追従しようとしてる点です。
Rails 4.1に対応した解説もしていますし、サンプルコードも4と4.1どちらでも動くようになっています(いるはず……)。
現時点で、ubuntu 14.04でRubyのビルドをしようとするとコンパイルが失敗する問題についても、多分発売までに修正できるはず……。
(コミッタ筋からの情報によると、もうすぐ対応版が出るらしい)



とまあ、こんな感じでRailsの基本機能を紹介するというより、Railsで開発をする際に何を考えているか、開発や運用に活用するツール、Railsを拡張する方法なんかに力を入れています。
機能紹介は、おさらい的な箇所を除けば、恐らく他の本では解説されないだろうという点にフォーカスしています。
ある意味で、偏った内容の本になっているので、それでもいいよーという方は、是非手に取っていただけると幸いです。


メインで担当した所については、色々と思う所もあるので、それについてはまた後日。