feature「Railsなんて誰でもできるよ」と言っても、具体的に何をすればいいの?そんな声をよく耳にするようになりました。僕自身、ウェブデザイナー見習いをしていた頃、先輩エンジニアさんにRailsアプリなんて本1冊読めばちょろいよと聞いていましたが、いきなり本を読み始めてもどこかしっくりとは来なくて、結局は試行錯誤することになりました。そんな僕でも、最近になってちょくちょく勉強法について質問を受けるようになりました。自分はまだまだ偉そうに語れるレベルではないということは重々承知していますが、素人だからこそ伝えられることもあるのかなと思っています。そんなわけで、「プログラミングよく分からないけどウェブサービス作ってみたい」という人向けに、我流ながら「Railsで開発ができるレベルまで到達するための最短の方法」をまとめてみることにしました。Railsという便利すぎるくらいのフレームワークに乗っかってしまうことへの批判もありますが、それ以上に「自分の作りたいものを作れるという喜び」がさらなる学習への引き金となればいいなと思ってます。スポンサーリンク「基礎知識→チュートリアル→実践」という王道これは色んな学習に通ずるところかもしれません。言えば、「基礎知識を覚え、チュートリアルで練習を重ね、本番環境で実践する」という学習の王道的なものをコツコツとやるだけです。地道ですがしっかりとやり抜けばきっと身につきます。幸いなことに、Railsを学ぶ環境はかなり整っているといえるでしょう。無料で学習できる動画サービスもいくつもありますし、チュートリアルについても本1冊分がまるまるウェブ上に公開されていたりします(後ほど紹介します)。ここまで環境が整っていると本当にあとはやるだけ。以下では、学習方法について詳しく説明していきます。長くなりそうなので、目次をつけておきました。ステップ3:本番環境で実践するステップ1:基礎知識を詰め込むRailsが便利なのはたしかですが、もちろん最低限知っておかなければならない知識もあります。それぞれ、学習リソースとあわせて紹介します。初心者を想定しているので、基礎知識は既にあるという人はすっ飛ばして、ステップ2に進んでOKです。cssはウェブの基礎の基礎なので、確実におさえておきたいところです。以下の教材を使えば、最低限の知識とスキルは身につくかと。約3分の動画×22回分で、HTMLの基礎的なところを教えてくれます。何も分からない人はまずここから。ドットインストールシリーズは、解説が初心者にも分かりやすく、とっかかりには最適かと思います。ドットインストール『CSS入門(全20回)』こちらも同様にドットインストールより。分かりやすく基礎を教えてくれます。Fundamentals』Codecademyは、アメリカ発のプログラミング学習サイトで、実際にコードを書いて問題をクリアしていくという実践形式でプログラミングの基礎を学ぶことができます。英語の練習も兼ねてやってみるとよいかと思います。Rubyの基礎知識RailsはRubyのフレームワークなので、当然Rubyの知識も必要です。Rubyだけでも追求し始めたら3ヶ月などとっくに過ぎてしまいそうですが、ここでは最低限の文法や考え方を抑えることを目標とします。先ほども紹介したコーデカデミー。1通りやると全体像が掴めるはず。網羅性という点では本のほうがまさるという印象です。レファレンスとして1冊手元にあると便利でしょう。[単行本]Rubyの入門書といえばこれといった感じの本。「『Rubyの楽しさ』を発見することができるようにと心から願っています。」と本書の監修者でありRubyのパパとしても知られるまつもとゆきひろは仰っています。1冊手元にあるといいかなと思います。開発を始めると、いわゆる「黒い画面」を使うことになります。何の前知識もなく見てしまうと圧倒されますが、仕組みが分かればすんなり入るのではないかと思います。DB関連の知識もあるに越したことはありませんが、とりあえずRailsでアプリを動かすことをゴールとして突き進みます。必要な知識やスキルは山ほどありますが、まずは山頂へ。山頂から俯瞰すれば、不足部分が見えてくるはずです。ステップ2:チュートリアルで練習を積むステップ1はかなり地道な作業でつまらなかったかもしれませんが、ステップ2が終わる頃には、実際に動くアプリが作れる状態になっているはずです。チュートリアルとして超絶おすすめなのが、こちら。http://railstutorial.jp/?version=4.0ほんとにこれが無料なのかって感動するほど完成度が高いです。元々は英語のチュートリアルでしたが、今年になって日本語にも対応させてくれました。最新バージョンであるRails4.0と、2013年10月現在最も使われているであろうRails3.2の両バージョンに対応しているという、至れり尽くせりぶりです。目次を抜き出すと、以下の通り。収録)ウェブサービス作る上で必要なことがかなり網羅されています。このチュートリアルを終えると、ツイッターのようなウェブサービスの根幹が作れます。具体的には、サインイン・ログイン・ログアウトの機能、ツイートど同様のマルチポスト、フォロー・アンフォローの機能あたりをカバーしています。これをどのようにやっていくかの目安ですが、僕は各章を約5時間ほどで進めていきました。章によって内容の濃淡はあるので、平均として5時間くらいという印象です。55時間1日2時間の勉強時間でも1ヶ月あれば終わる計算です。学生で時間があれば、2週間程度で終わらせることも可能かと。書籍にしたら400ページほどの内容量でしょうか。ヘビーですが、その分得られるものも多いので踏ん張りどころです。チュートリアルでカバーしきれない部分は書籍で補完ご紹介したチュートリアルでカバーしきれない部分は、書籍で補うとよいかと思います。メールの設定、ルーティングの細かな設定、DBのアソシエーションのあたりは、チュートリアルではあまり触れられていないので、ひと通り見ておくとよいかもしれません。代表的なのは、以下の2冊。どちらも良書ということで有名です。同じような内容を扱っているので、どちらか1つ手元にあればOKでしょう。3を対象に、RubyとRailsの基本からビュー、モデル、コントローラの開発、テスト、REST化、HTML5対応、jQuery等のプラグインと拡張機能など、初心者から中上級者までをカバーした実践的なWebアプリケーション開発手法を解説します。詳細を見る>>こちらは最新版が出ているのでこちらをどうぞ。[単行本(ソフトカバー)]本書は、Railsの入門からリファレンスまでをわかりやすく解説した書籍です。第1部と第2部では、Railsの背景にある概念について説明し、あっという間に簡単なオンラインストアを開発してみせます。Railsプログラミングとはどのようなものなのか試してみたいというのであれば、ここから読み始めるとよいでしょう。詳細を見る>>チュートリアルを終えたら、ついに実践です。書籍に関しては、実践をしながらつまづいたら見る程度でもいいかもしれません。ステップ3:本番環境で実践するついに本番。いう価値を提供したい↓こういう機能を作ろう↓こういう道筋で実装しようという思考は、チュートリアルを進めているときにはなかったものでしょう。これは、実戦あってこそのものだと思います。このような実戦をする環境を作るにはどうすればよいでしょうか?僕の経験&周りの人を見ていて考えられるのは、1自分で作りたいウェブサービスに着手してみる2インターンやアルバイトを利用して企業内で開発に携わるくらいでしょうか。僕は2の道に進みましたが、1の道に進みどんどん力を付けていった人も知っていますし、両者に優劣はないでしょう。第三の道ももちろんあると思います。大切なのは、経験を積むこと。これさえブレていなければなんでもOKでしょう。僕の経験から言えるのは、インターンは多くのメリットがあるということです。ここでは3点挙げてみます。先輩という「聞ける人」が身近にいること「5分調べて分からなかったら聞いて」と言われていました。ググっても分からないことというのもありますし、そんな時にはすぐに聞ける存在というのは、ほんとに助かります。納期や責任感があること与えられる裁量にもよりますが、1人で進めるよりはきっと責任感を覚えることでしょう。僕の場合は、人数も少ないスタートアップにいることもあり機能を丸ごと任してもらったので、責任感はハンパなかったです(笑)。その分勉強にも熱が入りました。負荷は大事だなと思います。先輩のコードが読めること他の人が書いたコードを読むことはほんとに勉強になります。どのコードでもよければググればたくさん出てきますが、自分の運営するサービスのコードとなれば真剣になりますし、書いた本人が近くにいればそのコードの背景を教わることもできます。「どうしてこのようなロジックにしたのか?」という点には、それまでの経験が集約されている気がします。さいごに最後までお読みいただきありがとうございます。この記事で紹介した勉強法は、僕が現時点(2013年10月)で思うベストな方法です。異論、アドバイス等は大歓迎です。ちなみに、文中で何回か出てきた僕の作っているサービスは、誰でも手軽に定期販売のオリジナルショップを作ることのできるサービス「BoxToYou」です。興味のある方は見てみてください。この記事がお役に立てばうれしいです。12:50)】はてブコメントで挙がっていた教材も紹介しておきます。何かつまづいたときにググると大抵でてくるサイトです。これらをメインにやっていくのもありでしょう。Startedウェブ上にあるRails関連のページの中で、網羅性という点では最強かと思います。これ1つ1つ覚えていく気力がある人は、ガリガリやるのもありでしょう。僕は、レファレンス用としてたまに閲覧していました。Screencasts$9.00/monthでRailsについて丁寧に解説してくれる動画が見放題。無料の動画もあるので試しに見てみるとよいかもしれません。動画中で使用されたコードも共有されているので便利です。カスタムサブドメイン機能を作るときには、かなり重宝しました。網羅性というより、局所的に役立つことが多そうです。「文系」とカテゴライズされるけれども、プログラミングに興味がある人。僕の周りにはけっこういる。iBT勉強法をまとめました。日本の大学から交換留学をするために様々な勉強法を試行錯誤した結果分かった最強メソッド。おすすめの参考書をベースとしたコストパフォーマンスも最高の方法です。UniversityにYouTubeの現役エンジニアの方が来て簡単なレクチャ...記事を読む留学一週間前に感じること。渡米まで残すところ1週間となった。正直なところ、不安もある。初留学というだけで...記事を読むアメリカの大学で感じるグローバリゼーションの兆し。今回は、自分がアメリカの大学で授業を受けていて感じることを書いてみます。僕が感じていることを伝えられたらと思います。...記事を読むSJSUビジネスコンテストで2位。Innov...記事を読むITベンチャーの聖地!?シリコンバレーに来て1週間して感じたこと。サンノゼに着いてから1週間。短い間ながら、色々と感じることがあった。ビジネス一色では...記事を読む「真っすぐが通用するうちに、次の変化球を覚えておけよ。通用するうちに、次の変化球を覚えておけよ。『トップアスリート...記事を読む日本にいながら英語を学べる時代に、海外留学する意味ってなんだろう今自分がしている勉強のほとんどは、日本にいてもできてしまう。アメリカに来て5ヶ月が経った今、ふとそう思った。僕の今してい...記事を読むボランティアの意義ってそこにあったのか。コメントをキャンセルメールアドレスが公開されることはありません。