【現場で使える Ruby on Rails 5速習実践ガイド】の感想・気づき(4章まで)

-2018.12.15 -技術書
-, ,

スポンサーリンク

現場で使える Ruby on Rails 5速習実践ガイドとは?

10月に発売されたRailsの技術書で、
Ruby・Railsの開発支援をされている株式会社万葉の方々が監修している書籍です。

通称現場Railsと呼ばれています。

2018年12月現在の最新のRails技術書ということもあり、Rails5.2に対応しています。

4章まで終わったので内容を振り返ってまとめてみました。

読書対象者としては他言語でのWEBアプリケーション開発や、オブジェクト指向プログラミングについての知識・経験がある方と明記されていたので全くの初学者向けではない書籍にはなっています。

1章:RailsのためのRuby入門

  • オブジェクト・クラス・配列・ハッシュなどRubyの基礎をカバー
  • 図を用いた説明が豊富でわかりやすい
  • nilガードやぼっち演算子などにも触れている

Railsの書籍でありながらRubyについてもできるだけ説明したいという配慮が伝わる内容でした。

が、やはり全くのRuby初学者は以下書籍などから始めたほうがRailsの理解も深まりそうです。

2章:Railsアプリケーションをのぞいてみよう

  • Windowsでの環境構築
  • rbenvを用いたrubyのバージョン管理
  • Ruby, Rails, postgresqlのインストール
  • Scaffoldを例に解説

アプリ開発は3章から開始で本章はその開発環境の構築がメインです。

Windows環境やrbenvについて書籍で語られることは少ないのでとても良いと思いました。

またScaffoldを例に、MVCの概念やアプリ内部でコントローラ層がルーティングとモデル/ビューをどう繋いでいるか?という部分が図解されていて理解しやすい構成になっていたのも良い点でした。

3章:タスク管理アプリケーションを作ろう

本書はここからタスク管理アプリを題材に進んでいきます。

3章ではRailsの王道でもあるCRUD操作がゴールになります。

良かった点は以下のとおりです。

  • ビューをerbではなくslimを採用
  • bootstrap gemを採用
  • rails-I18nを用いてエラーを日本語化

slimを使ったことはなかったので勉強になりました。

またRails5.1からform_for/form_tagはform_withに統合されていて、デフォルトでは非同期通信になるため同期通信にしたい場合の処理使い方なども解説されていました。

= render partial: 'form', locals: { task: @task }

などのパーシャルの呼び出しも

  • localsオプションは明示的に記載したほうが可読性が上がる
  • インスタンス変数の定義に依存せずパーシャルの再利用性も高まる

の利点が述べられており、ちょっとしたことですが実務にまだまだ活かせることがありました。

4章:現実の複雑さに対応する

ユーザーCRUDやログイン機能、バリデーション、管理者フラグの追加などについて語られます。

ログインを担うセッションやコールバックの概念図はわかりやすいです。

migrateしたあとはraisl db:migrate:redoでrollbackできるかどうかを確認しようという、言われればたしかにその通りだなと思う習慣を教えてもらえたのはとても勉強になりました。マイグレーション追加時にはchangeメソッドではなく、upメソッドとdownメソッドで記載する方がアプリケーションの運用上は良いということです。

また、NOT NULL制約を追加する際にも既存データに影響が出ないように

execute 'DELETE FROM tasks;'

で既存データを削除するマイグレーションファイルにする点なども参考になりました。
本番環境では既存データを消すわけにはいかないので、別の手法も解説されておりとても良いです。

まとめ

  • Railsの王道を抑えている
  • 全体的に図が多く、しかも分かりやすい
  • 可読性や長期運用まで考えた設計方法が勉強になる

というのが4章まで写経してみたまとめになります。

次章からはRspec・アセットパイプライン・検索機能、メール連携・Active Strage・CSV機能・SideKiq・Turbolinks・Reactなども扱われますし、チームでの開発手法・コードレビュー・データメンテナンス・バージョンアップなど長期運用を想定したトピックもあるので楽しみながら進めたいと思います。

          
    

スポンサーリンク

  
Scroll Up