pblog

pplog.net を作っている @ppworks こと越川直人(Koshikawa Naoto)のブログ。文体は日によって違う。esa LLCで働いてます(\\( ⁰⊖⁰)/)

『現場で使える Ruby on Rails 5速習実践ガイド』は何が実践的なのか

著者の1人である櫻井さまより恵贈賜りました『現場で使える Ruby on Railsw 5速習実践ガイド』、とても読みたかった本なので嬉しいです。ありがとうございます!

なので、駆け足で早速第一印象レビュー。

まずね、表紙が可愛い。現実に人々が生きていて生活しているんだ。そこに寄り添うのがRailsだ、抽象的なありえない線路が空中にバーっとあって電車が空に飛んでいくみたいなことはないのだ、現実は。

この記事を読んでいる方は、まずは以下のリンクから実際に本を買うところから。さあ。

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

  • 作者: 大場寧子,松本拓也,櫻井達生,小田井優,大塚隆弘,依光奏江,銭神裕宜,小芝美由紀
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/10/19
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
買いました?(2018年10月19日発売です!)

さて、先日「技術書展5」という技術書の同人即売会に訪れた際に小冊子を頂いて、こりゃヨサソウな序文の技術書だな?と。

何がって、以下の文が刺さりました。

アプリケーションのコードがRailsそのもののリズムに似ていれば、フレームワークの動きと衝突することなく、フレームワークを自然に活かして利用することができます。

この、Railsそのもののリズムという言葉がとても心地よく、いい響きだなと感じたのがでかいです。こういう言葉選びをする技術書は「お、どれどれ、ちょっくら読んでみようかな」という好奇心を大層くすぐられます。

Railsの基本原則をまず押さえてから、お話開始しましょうねという姿勢も引き込まれますね。そして、あなたとチームが主人公と序文の結びが来る。これは美しい構成を期待できます。

そんなわけでとても読んで見たかった本。じっくり読む前にさらっと第一印象をレビューしておきます。

構成を見渡す

大きく分けて、「入門編」「レベルアップ編」「発展編」と分かれていて、その中に3〜4つのチャプターがあります。

  • 入門編
    • Chapter 1 RailsのためのRuby入門
    • Chapter 2 Railsアプリケーションをのぞいてみよう
    • Chapter 3 タスク管理アプリケーションを作ろう
  • レベルアップ編
    • Chapter 4 現実の複雑さに対応する
    • Chapter 5 テストをはじめよう
    • Chapter 6 Railsの全体像を理解する
    • Chapter 7 機能を追加してみよう
  • 発展編
    • Chapter 8 RailsとJavaScript
    • Chapter 9 複数人でRailsアプリケーションを開発する
    • Chapter 10 Railsアプリケーションと長く付き合うために

入門編

入門編では、Ruby自体の入門からとりあえず初めてのRailsアプリを作るところまで学べる感じ。

rails newした後にディレクトリが沢山できて途方にくれがちですが、作成されたディレクト構成の詳しい解説(p.072)が載っていてとても便利です。scaffoldで作成したアプリケーションを例にとって、あとからHTTPリクエスト〜HTTPレスポンスの解説を丁寧に行なっている(p.079)のは親切でいいですね。

その前にも画面にアクセスがあった場合の流れの説明(p.069)でコードの通り道という表現が出てくるのですが、これがとてもスッと入ってくる表現で心地よかったです。細かな言い回しにまで気を遣ってますねえ。

また実際にアプリケーションを作成する際の名前付けで愛着の湧くような、分かりやすい名前をアルファベットでつけるとよいでしょう。というのは、ほんと、それなで、我々がモノ作りする上で多分一番大事なことなので、かなりポイント高い解説ですね。

サンプルアプリで、読みやすさ重視であろうslimを採用しているのも面白いと思いました。多分紙面での見栄えとしてもいい。

レベルアップ編

レベルアップ編では、より現場で使える現実的な開発のコツが紹介されています。ActiveRecordのコールバックの仕組みの絵(p.145)はよく分からなくなりがちなコールバックのタイミングが分かりやすい図になっていてとてもいいですね。一部フィルターに設定するメソッドの命名に一貫性がなくコードレビューしたくなる気持ちが芽生えたりはしました。

Chapter5のテストは、minitestを期待しましたがrspecでした。現場に寄り添うとなると、確かに無難な選択かもしれません。あくまでテスト自体理解よりも現場で使えるテストの理解を重視しているという印象を受けました。system specでのrspecも他の層と揃えているのも現場思考で確かに現実的だなという発見もありました。

Chapter6のRailsを取り巻く世界の図(p.226)もこれまた分かりやすいですねー。分かりやすい図シリーズだけがまとまったPDFを小冊子にして、印刷できるようにしたものがあったら、マジで欲しい!という気持ちになってきました。他にも運用面を考慮した現実的な知識が詰まっている章ですね。

Chapter7では、ActiveStorageでの画像アップロードの解説が載っていて、モダン〜って感じがします。後かわいい犬(カラちゃん)の写真がさりげなくサンプルに使われていてかわいいです。

Chapter8でRailsにおけるJavaScriptとの様々な付き合い方が紹介されていてバランス感覚がいい印象を受けます。rails-ujsは一体何者なんだ(p.336)という所の説明や、Turbolinksは何をしているのかという説明(p.340)、モダンJavaScript管理の仕方(p.345)など、今までありそうでなかった解説の章。とても貴重なので読み返したいです。

発展編

チーム開発における、Railsのある現場の話にフォーカスされていて、コードレビューのコツまで載っている。なんということだ、これはすごい。そして現場では必須であるバージョンアップにどう取り組むかという話がきちんと用意されていて、長く付き合うための設計のコツなどはとても参考になります。初期データやテストデータの共有(p.377)という考え方は意外と忘れがちなのですがとても大事なことなのでこうした内容に触れているのは好感が持てます。

発展編では、読書をしていたつもりが、いつの間にかチームや同僚との会話に参加しているかのような錯覚を覚える内容となっています。Railsが好きでたまらないひとたちと勉強会で語り合ったあの日々、そういう意味での現場感も感じました。

そして、Chapter10-6はすごい。アプリケーションの複雑性に立ち向かうというテーマで、より良いコードの書き方が例と共に掲載されていて、もはやこのコンテンツだけでもいいから読んでくれ〜〜という感じです。そして、私もちゃんと読み直したいです、ここ。商業本だと、こういう発展的な内容は省かれがちかと思いますが、基礎からきちんと丁寧に解説する本だからこそ入れることができたのでは?と感じました。

全体

全体的に、図と解説コードのバランスが良いのと配色が読みやすくてよかったです。改ページのタイミングもだいぶ気を遣われている様子を伺えました。

ガチで現場に寄り添った、実践的な内容を読みやすい構成で速習させてくる、タイトル通りの本だな〜という感想です。

どう?

これはどう考えても買いですね。

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

現場で使える Ruby on Rails 5速習実践ガイド(特典PDF付き)

  • 作者: 大場寧子,松本拓也,櫻井達生,小田井優,大塚隆弘,依光奏江,銭神裕宜,小芝美由紀
  • 出版社/メーカー: マイナビ出版
  • 発売日: 2018/10/19
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る

現場の底上げや、教育のシーンでも十分過ぎるほどに使えると思います。めちゃめちゃオススメ。またゆっくりと読みたいと思います。

ちなみに、今回みたいに

  1. 序文(あとがきもあれば)を読んで引き込まれるかのチェック
  2. 構成を確認して期待値を設定する
  3. 構成に沿って2の期待値を満たしてくるポイントがあるかをつまみ読みする
  4. 買うかどうか考える

ってのを、技術書の立ち読みでよくやります。このエントリーは良い本と出会うコツの指南[実践編]でもあった。

これも読もう

t2os.hatenablog.com

ppworks.hatenablog.jp