Ruby on Rails をこれから始める人向けの情報
Ruby on Rails をこれから始めたいのですが、どんな本がおすすめですか?と聞かれたので、ちょっとまとめておきたいと思います。
»
僕が Ruby on Rails を絶賛する理由 - 僕は発展途上技術者というエントリーを2007年に書きましたが、その後状況はいろいろと変わり、僕自身 iOS アプリや Android アプリを開発するようになったり、Web サービスでも Python on GAE を触るようになったりして、当時ほど Ruby on Rails 一色というわけではなくなりました。
また、Ruby on Rails の環境を自分の開発マシンに用意するのも
»
Mac OS X 10.8 Mountain Lion に Ruby on Rails 環境をセットアップする - 僕は発展途上技術者で書いたように、最近はちょっと面倒になりました。
それでも Web サービスをつくる、それもユーザー向けで毎日サービスを運用しながら、少しずつ改善していき手を入れ続けるような性質の Web サービスならば、いまでも Ruby on Rails を絶賛おすすめ中です。
さて、その Rails を学ぶためのおすすめ本ですが、2007年から変わらず
Sam Ruby Dave Thomas David Heinemeier Hansson
オーム社
売り上げランキング: 13207
がおすすめです。
僕の手元にあるのは第2版までの日本語版と第3版の英語版で、上記第4版は正直言うと中身をみていないのですが、変わらず良書であることは間違いないでしょう。
Rails のみならず、デプロイ方法やテストの書き方など Web サービスを作る上でのベストプラクティスを学ぶことができるので、2007年にこの本を最初に手をとるまでPHPで断片的な知識でもって Web サービスを開発していた僕にとっては、それらが一気に整理されて大変ためになったことを覚えています。
Rails 以前に Ruby の基本的な知識が必要という場合(Ruby on Rails を始めたいという方はたいがいそうだと思いますが)は、
高橋 征義 後藤 裕蔵
ソフトバンククリエイティブ
売り上げランキング: 8348
を Rails 本を読む前に読んでおいたほうがいいでしょう。 Ruby を使う人達が言っている「Ruby がたのしい」という言葉の所以がわかると思います。
順番としては「たのしいRuby」を読んでから「RailsによるアジャイルWebアプリケーション開発 第4版」を読むのがおすすめですが、この2つを読み通すにはそれなりの時間がかかるでしょう。
もっと手っ取り早く学びたい、あるいは先にざっと概要を知っておきたいという場合は、今は動画で学ぶという方法があります。
»
Rubyの基礎 (全32回) - ドットインストール»
Ruby on Railsの基礎 (全46回) - ドットインストールドットインストールは動画でプログラミングを学習できるサイトで、すべての動画を無料で観ることができる素晴らしいサイトです。ひとつの動画が3分弱なので、上記2つをぶっ通しで観れば、4時間くらいで概要をつかむことができます。その上で書籍を読めば効率的に学ぶことができるのではないでしょうか。
Ruby on Rails でとりあえずアプリが作れるようになった人向けの情報
さて、ここまでの基本情報を身に着け、ちょっとした Web アプリを作れるようになって初学者を卒業した段階で必要そうな情報も紹介しておきます。
この段階になると、具体的にやりたいことが出てきて「こういうことがしたいんだけれどどう書けばいいんだ?」といった疑問が多く出てくるようになると思います。そういうときに役立つのが以下のレシピブックです。
高橋 征義 松田 明 諸橋 恭介
ソフトバンククリエイティブ
売り上げランキング: 46777
青木 峰郎 後藤 裕蔵 高橋 征義
ソフトバンククリエイティブ
売り上げランキング: 147156
英語ですが、知っておくと便利な Tips を動画で紹介している
Ruby on Rails Screencasts - RailsCastsもおすすめです。
Ruby と Rails をやってて強力だなあと思うのは便利で豊富な gem と呼ばれるライブラリの存在なのですが、たくさんあり過ぎてどれを選んでいいか迷うときがあります。そういうときに上記 RailsCasts で紹介されているものを使うというひとつの判断基準になります。
どの gem を使うかの判断基準として
The Ruby Toolbox - Know Your Options!を使うのもいいでしょう。Ruby Toolbox では各 gem のメンテされ具合や利用者数、評判などを比較することができます。
Rails の API ドキュメントを調べたいという場合は、インクリメンタルサーチができる
Ruby on Rails - APIdockがおすすめです。
Ruby のコーディングスタイルが気になってきたら、
Rubyアソシエーション: コーディング規約で紹介されている各コーディング規約を参考にするといいと思います。
いままで他の言語、フレームワークをやってきた人向けへのアドバイス
いままで他の言語、フレームワークをやってきて、Ruby on Rails で実際にアプリを開発し始めたときによく見る悪いパターンというのを紹介したいと思います。
Ruby on Rails では DB のスキーマ情報の変更を Migration という仕組みで綺麗に管理しているのですが、それを無視して sql ファイルで管理しようとするのはやめたほうがいいです。初期データ投入も、seed.rb に Ruby でわかりやすく書くというスタンダードな方法を取り、sql ファイルをインポートという方法は避けたほうがいい。
メソッド名や変数名の付け方を Ruby や Rails 流にあわせましょう。Rails ではモデル名を名詞の単数形で定義すると、自動的にその名詞の複数形で DB 内の対応するテーブルの名前がつけられるなど、英語のルールに従うことが必要なので、メソッド名や変数名を英語でつけるというのが特に必要です。その際の名前付けも、なるべく正確に、そしてスペルミスをしないように辞書で確認するなど気をつけたほうがいいです。
人が作ったものは信用できないということで、すでに Rails の機能にあるのに、あるいは同じ機能の gem があるのに、同等の機能を実現するライブラリを自作してしまう人がいるのですが、複数人が関わるプロジェクトではそれはできるだけやめたほうがいいでしょう。もし自作のライブラリを採用したいとしたら、github などで公開し、すでに世にでていて多くのユーザーを獲得している先行のライブラリと同等のドキュメントをそろえ、前述した
The Ruby Toolboxで見て、既存のライブラリよりも多くのユーザーを獲得していると証明できるくらいでないと、と思います。