k-tanakaのエンジニア日記

Changing合同会社を設立しての仕事・生活、エンジニアとしてのブログ

無料で公開されている「Ruby on Rails チュートリアル」が自分が求めていたものだった

f:id:changing--k-tanaka:20160614120437p:plain

Rubyが面白くてRailsと合わせて勉強しています。Rubyについては基本文法を抑えてあとは書き始めてからなんとかして、後でまとめて本を読んで知識を整理で良いかなと思っているのですが、Railsについては規約や構造、実際のデプロイまでの流れなどを抑えるのにやや四苦八苦という感じです。 そんなわけでいくつか書籍を探して、Ruby on Rails 4 アプリケーションプログラミング5が良さげというところまでは分かったのですが、お金が無いのでどうにかしたいなと思っていました。(図書館は貸し出し中かつ3人予約済み) 公式ドキュメントでなんとか進めるかと思っていたのですが、Ruby on Rails チュートリアル 実例を使ってRailsを学ぼう Michael Hartl (マイケル・ハートル)というページを見つけました。

これを求めていたんだ

本ドキュメントは書籍として販売されている「https://www.amazon.com/Ruby-Rails-Tutorial-Addison-Wesley-Professional/dp/0134077709/ref=sr_1_1?ie=UTF8&qid=1465869646&sr=8-1&keywords=ruby+on+rails」の日本語訳となります。原著もWebでは無料公開し、書籍は有料という形式を取っているようです。(公式サイト:Learn Web Development with Rails: Michael Hartl's Ruby on Rails Tutorial | Softcover.io

書籍クオリティの解説書が無料で公開されているだけでもありがたいのですが、内容が今の自分が求めているものが全て含まれており、さらに五体投地したくなるほどありがたい思いです。

まだ全部読み終わって無いのですが、今のところ気付いたありがたい理由を以下にいくつか挙げてみたいと思います。

Ruby on Railsの実践的解説書である

Rubyは置いておいて、Railsは、「設定より規約(convention over configuration)」(設定より規約 - Wikipedia)という設計を採用しています。まぁ、要するに「決められたルールに沿って書けば、手動で書く量をめっちゃ減らせる」という構造になっています。いままでPHPフレームワークFuelPHPを利用してきて、こちらは逆に「規約より設定を重視」していたのと対照的です。

記述量が少ないため、記述例から想像出来る構造が分からず、FuelPHPと違って、最初にドキュメント読まなくても使っていく内になんとなくわかるというのはなかなか難しそうだなと思いました。そのため公式ドキュメントを読むわけですが、今度は該当する部分を読んでも答えが見当たらない感じになり、う〜む…となります。Railsはそういう学習の仕方には向いてないのだと思います。

ではRailsの学習に向いた書籍とはなにか、という問いに対する答えが本書になるのではないかと思います。

私が前にいた会社 (CD Baby) は、かなり早い段階でRuby on Railsに乗り換えたのですが、またPHPに戻ってしまいました..(引用者略)..(こ)の本を使ってもう一度試してみた結果、今度は無事に Rails に乗り換えることができました。それがこの Ruby on Rails チュートリアルという本です。(前書き)

Railsの解説のみに留まらないWeb開発指南書である

本書は、「Ruby on Railsの解説書」ではなくRuby on Railsを利用してデプロイするまでのWeb開発指南書となっています。

チュートリアルは、カスタムWebアプリケーションの開発方法を教えるために書かれました。そのためのツールとして、かの有名なRuby on RailsというWebフレームワークを採用しています。 (第1章 ゼロからデプロイまでより)

最近では、継続的インテグレーションとデリバリーを前提にした高品質に極めて短期間で多くの機能追加や修正を可能にする開発体制が当たり前になってきています。そのため、エンジニアとして一線に立とうという場合、rubyrailsなどの言語やフレームワークの使い方を覚えるだけでなく、その周辺知識・スキルを身につける必要があります。(というより、Railsはそれら周辺知識・スキルを活用できるようになっているフレームワークですし)

git、gitでブランチ切ってcheckoutで戻す、herokuへのデプロイ、テスト、テストの自動化、マイグレーションなど基本的な点も抑えられた上で解説が実践的に進みます。もちろんそんなに深入りはしていないのですが、こういう「言外の当たり前」をきちんと語ることが実践的であることの証左かなと思う次第です。

Railsで始めて開発を始めるにあたって、なんとか最初からTDDで開発をしようと思っていたので、これを求めていた感があります。

このRuby on RailsチュートリアルがWeb開発のすべて (Rubyの基礎、HTMLとCSS、データベース、バージョン管理、開発技法など) を網羅した、Web開発者やIT起業家を目指す方向けのよい入門書となるでしょう (第1章 ゼロからデプロイまで)

実際の利用実績も多数

上記スライドで語られていますが、多数利用実績・推薦実績があります。読んでいればクオリティが優れていることは分かるのですが、それでもそういう実績があると安心です。

読み物として面白い

賛否ありそうですが、読み物としても随所にクスッと笑える記述があったりします。

(STEP その2) 失礼、その2はありません。以上でおしまいです。

アプリケーションの開発が進むと、コードのどこからともなく「腐敗臭」が漂い始めます

なぜこのコードがここにあるのか最早誰もその理由を思い出せなくなる

など楽しんで読み進められています。原著だけでなく邦訳も素晴らしいためかと思います。訳者にも五体投地して感謝したいかと思います。

リンク

電子書籍

Ruby on Rails チュートリアル:  実例を使ってRailsを学ぼう
Michael Hartl, 安川 要平(翻訳), 八田 昌三(翻訳), 他
達人出版会
発行日: 2013-11-21
対応フォーマット: PDF, EPUB, ZIP

書籍ならこれが良さそう

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

パーフェクト Ruby on Rails

パーフェクト Ruby on Rails