【Rails勉強法】初心者から3ヶ月でRailsアプリ開発を身に付けるための地道な3ステップ

Ruby on Rails logo

Ruby on Rails logo

「Railsなんて誰でもできるよ」
と言っても、具体的に何をすればいいの?そんな声をよく耳にするようになりました。

僕自身、ウェブデザイナー見習いをしていた頃、先輩エンジニアさんにRailsアプリなんて本1冊読めばちょろいよと聞いていましたが、いきなり本を読み始めてもどこかしっくりとは来なくて、結局は試行錯誤することになりました。

そんな僕でも、最近になってちょくちょく勉強法について質問を受けるようになりました。自分はまだまだ偉そうに語れるレベルではないということは重々承知していますが、素人だからこそ伝えられることもあるのかなと思っています。

そんなわけで、「プログラミングよく分からないけどウェブサービス作ってみたい」という人向けに、我流ながら「Railsで開発ができるレベルまで到達するための最短の方法」をまとめてみることにしました。

いきなりRailsという便利すぎるくらいのフレームワークに乗っかってしまうことへの批判もありますが、それ以上に「自分の作りたいものを作れるという喜び」がさらなる学習への引き金となればいいなと思ってます。

「基礎知識→チュートリアル→実践」という王道

これは色んな学習に通ずるところかもしれません。

ざっくり言えば、「基礎知識を覚え、チュートリアルで練習を重ね、本番環境で実践する」という学習の王道的なものをコツコツとやるだけです。地道ですがしっかりとやり抜けばきっと身につきます。

幸いなことに、Railsを学ぶ環境はかなり整っているといえるでしょう。無料で学習できる動画サービスもいくつもありますし、チュートリアルについても本1冊分がまるまるウェブ上に公開されていたりします(後ほど紹介します)。

ここまで環境が整っていると本当にあとはやるだけ。
以下では、学習方法について詳しく説明していきます。長くなりそうなので、目次をつけておきました。

ステップ1:基礎知識を詰め込む
ステップ2:チュートリアルで練習を積む
ステップ3:本番環境で実践する

ステップ1:基礎知識を詰め込む


Railsが便利なのはたしかですが、もちろん最低限知っておかなければならない知識もあります。それぞれ、学習リソースとあわせて紹介します。

初心者を想定しているので、基礎知識は既にあるという人はすっ飛ばして、ステップ2に進んでOKです。

html, cssの基礎知識

html, cssはウェブの基礎の基礎なので、確実におさえておきたいところです。以下の教材を使えば、最低限の知識とスキルは身につくかと。

ドットインストール『HTML入門(全22回)』
約3分の動画×22回分で、HTMLの基礎的なところを教えてくれます。何も分からない人はまずここから。ドットインストールシリーズは、解説が初心者にも分かりやすく、とっかかりには最適かと思います。

ドットインストール『CSS入門(全20回)』
こちらも同様にドットインストールより。分かりやすく基礎を教えてくれます。

Codecademy(コーデカデミー)『Web Fundamentals』
Codecademyは、アメリカ発のプログラミング学習サイトで、実際にコードを書いて問題をクリアしていくという実践形式でプログラミングの基礎を学ぶことができます。英語の練習も兼ねてやってみるとよいかと思います。

Rubyの基礎知識

RailsはRubyのフレームワークなので、当然Rubyの知識も必要です。Rubyだけでも追求し始めたら3ヶ月などとっくに過ぎてしまいそうですが、ここでは最低限の文法や考え方を抑えることを目標とします。

Codecademy(コーデカデミー)『Ruby』
先ほども紹介したコーデカデミー。1通りやると全体像が掴めるはず。

– 『たのしいRuby 第4版』
網羅性という点では本のほうがまさるという印象です。レファレンスとして1冊手元にあると便利でしょう。

たのしいRuby 第4版 [単行本]

Rubyの入門書といえばこれといった感じの本。「『Rubyの楽しさ』を発見することができるようにと心から願っています。」と本書の監修者でありRubyのパパとしても知られるまつもとゆきひろは仰っています。1冊手元にあるといいかなと思います。詳細を見る≫

コマンドラインの基礎知識

開発を始めると、いわゆる「黒い画面」を使うことになります。何の前知識もなく見てしまうと圧倒されますが、仕組みが分かればすんなり入るのではないかと思います。

ドットインストール『UNIXコマンド入門 (一般ユーザー編) (全16回)』
ここもまたドットインストール先生にお世話になりましょう!

その他…

javascript, jQuery, DB関連の知識もあるに越したことはありませんが、とりあえずRailsでアプリを動かすことをゴールとして突き進みます。必要な知識やスキルは山ほどありますが、まずは山頂へ。山頂から俯瞰すれば、不足部分が見えてくるはずです。

ステップ2:チュートリアルで練習を積む

ステップ1はかなり地道な作業でつまらなかったかもしれませんが、ステップ2が終わる頃には、実際に動くアプリが作れる状態になっているはずです。

チュートリアルとして超絶おすすめなのが、こちら。
http://railstutorial.jp/?version=4.0

ほんとにこれが無料なのかって感動するほど完成度が高いです。元々は英語のチュートリアルでしたが、今年になって日本語にも対応させてくれました。ありがたや。

また、最新バージョンであるRails4.0と、2013年10月現在最も使われているであろうRails3.2の両バージョンに対応しているという、至れり尽くせりぶりです。

目次を抜き出すと、以下の通り。
– 第1章 ゼロからデプロイまで
– 第2章 デモアプリケーション
– 第3章 ほぼ静的なページの作成
– 第4章 Rails風味のRuby
– 第5章 レイアウトを作成する
– 第6章 ユーザーのモデルを作成する
– 第7章 ユーザー登録
– 第8章 サインイン、サインアウト
– 第9章 ユーザーの更新・表示・削除
– 第10章 ユーザーのマイクロポスト
– 第11章 ユーザーをフォローする
– 第12章 Rails 4.0へのアップグレード(Rails3.2 Ver. のみ収録)

ウェブサービス作る上で必要なことがかなり網羅されています。このチュートリアルを終えると、ツイッターのようなウェブサービスの根幹が作れます。具体的には、サインイン・ログイン・ログアウトの機能、ツイートど同様のマルチポスト、フォロー・アンフォローの機能あたりをカバーしています。

さて、これをどのようにやっていくかの目安ですが、僕は各章を約5時間ほどで進めていきました。章によって内容の濃淡はあるので、平均として5時間くらいという印象です。

とすると、第1章から第11章を終えるためには、
11章 × 5時間 = 55時間

1日2時間の勉強時間でも1ヶ月あれば終わる計算です。学生で時間があれば、2週間程度で終わらせることも可能かと。書籍にしたら400ページほどの内容量でしょうか。なかなかヘビーですが、その分得られるものも多いので踏ん張りどころです。

チュートリアルでカバーしきれない部分は書籍で補完

ご紹介したチュートリアルでカバーしきれない部分は、書籍で補うとよいかと思います。

メールの設定、ルーティングの細かな設定、DBのアソシエーションのあたりは、チュートリアルではあまり触れられていないので、ひと通り見ておくとよいかもしれません。

代表的なのは、以下の2冊。どちらも良書ということで有名です。同じような内容を扱っているので、どちらか1つ手元にあればOKでしょう。

Ruby on Rails 3 アプリケーションプログラミング [大型本]

最新のRuby on Rails 3を対象に、RubyとRailsの基本からビュー、モデル、コントローラの開発、テスト、REST化、HTML5対応、jQuery等のプラグインと拡張機能など、初心者から中上級者までをカバーした実践的なWebアプリケーション開発手法を解説します。
詳細を見る>>

RailsによるアジャイルWebアプリケーション開発 第4版 [単行本(ソフトカバー)]

本書は、Railsの入門からリファレンスまでをわかりやすく解説した書籍です。第1部と第2部では、Railsの背景にある概念について説明し、あっという間に簡単なオンラインストアを開発してみせます。Railsプログラミングとはどのようなものなのか試してみたいというのであれば、ここから読み始めるとよいでしょう。
詳細を見る>>

チュートリアルを終えたら、ついに実践です。
書籍に関しては、実践をしながらつまづいたら見る程度でもいいかもしれません。

ステップ3:本番環境で実践する

ついに本番。

こういう価値を提供したい
 ↓
こういう機能を作ろう
 ↓
こういう道筋で実装しよう

という思考は、チュートリアルを進めているときにはなかったものでしょう。これは、実戦あってこそのものだと思います。

さて、このような実戦をする環境を作るにはどうすればよいでしょうか?僕の経験&周りの人を見ていて考えられるのは、

①自分で作りたいウェブサービスに着手してみる
②インターンやアルバイトを利用して企業内で開発に携わる

くらいでしょうか。

僕は②の道に進みましたが、①の道に進みどんどん力を付けていった人も知っていますし、両者に優劣はないでしょう。また、第三の道ももちろんあると思います。大切なのは、経験を積むこと。これさえブレていなければなんでもOKでしょう。

僕の経験から言えるのは、インターンは多くのメリットがあるということです。ここでは3点挙げてみます。

① 先輩という「聞ける人」が身近にいること

「5分調べて分からなかったら聞いて」と言われていました。ググっても分からないことというのもありますし、そんな時にはすぐに聞ける存在というのは、ほんとに助かります。

② 納期や責任感があること

与えられる裁量にもよりますが、1人で進めるよりはきっと責任感を覚えることでしょう。僕の場合は、人数も少ないスタートアップにいることもあり機能を丸ごと任してもらったので、責任感はハンパなかったです(笑)。しかし、その分勉強にも熱が入りました。負荷は大事だなと思います。

③ 先輩のコードが読めること

他の人が書いたコードを読むことはほんとに勉強になります。どのコードでもよければググればたくさん出てきますが、自分の運営するサービスのコードとなれば真剣になりますし、書いた本人が近くにいればそのコードの背景を教わることもできます。「どうしてこのようなロジックにしたのか?」という点には、それまでの経験が集約されている気がします。

さいごに

最後までお読みいただきありがとうございます。

この記事で紹介した勉強法は、僕が現時点(2013年10月)で思うベストな方法です。異論、アドバイス等は大歓迎です。

ちなみに、文中で何回か出てきた僕の作っているサービスは、誰でも手軽に定期販売のオリジナルショップを作ることのできるサービス「BoxToYou」です。


興味のある方は見てみてください。

この記事がお役に立てばうれしいです。
何かご意見、ご質問等あれば、@show_motto までお願いします。

【追記(10/29 12:50)】
はてブコメントで挙がっていた教材も紹介しておきます。何かつまづいたときにググると大抵でてくるサイトです。これらをメインにやっていくのもありでしょう。

Rails Guide, Getting Started
ウェブ上にあるRails関連のページの中で、網羅性という点では最強かと思います。これ1つ1つ覚えていく気力がある人は、ガリガリやるのもありでしょう。僕は、レファレンス用としてたまに閲覧していました。

RAILSCASTS, Ruby on Rails Screencasts
$9.00/monthでRailsについて丁寧に解説してくれる動画が見放題。無料の動画もあるので試しに見てみるとよいかもしれません。動画中で使用されたコードも共有されているので便利です。カスタムサブドメイン機能を作るときには、かなり重宝しました。網羅性というより、局所的に役立つことが多そうです。

Related Posts Plugin for WordPress, Blogger...

「【Rails勉強法】初心者から3ヶ月でRailsアプリ開発を身に付けるための地道な3ステップ」への4件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です