Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

Ruby on Rails初心者必見!最高の学習リソース徹底ガイド

Railsを学ぶための本、動画、ポッドキャスト、オンライン講座は数え切れないほど存在します。そのすべてに目を通す時間がある人はいないでしょう! では、まったくの初心者がRubyとRailsを学ぶには、どのリソースから、どの順番で手をつけるのがベストなのでしょうか?

書籍とWebサイト

プログラミングがまったく初めてなら、まずChris Pine著「Learn to Program」から始めるのがおすすめです。この本は、知っておくべきプログラミングの核心的な概念を丁寧に解説してくれます。すべてのサンプルコードがRubyで書かれているため、RubyとRailsを学ぶ予定の人には特に最適な一冊です。

次に取り組みたいのが、Daniel Kehoe著「Learn Ruby on Rails」です。Railsへのやさしい入門書として最適で、Railsのごく一部を実践的に学ぶことで、より難易度の高い教材に挑戦する準備が整います。

すでに他の言語やフレームワークの経験があるなら、無料の公式ガイド「Getting Started with Rails」をチェックしてみてください。短くまとまった良質な入門コンテンツで、Railsの概念と中核となる考え方を効率よく学べます。

基本を押さえたら、Railsの知識を深めるための2冊の大型書籍に挑戦しましょう。

個人的なイチオシの総合書は「Agile Web Development with Rails」です。まず実例を通して学び、その後リファレンスとして活用できる構成になっており、非常に効果的です。私の職場でもRails未経験の開発者の教育に使っていますが、Pragmatic Bookshelfの他の書籍と同様、完成度が非常に高い一冊です。

もうひとつの大型リソースが「Ruby on Rails Tutorial」です。完全に動作するサンプルアプリを作りながら、必要な知識の大部分を習得できます。私の周りの優秀なRails開発者の多くも、このチュートリアルからスタートしています。Web版は無料なので、自分に合うかどうか試してから購入を決められるのも嬉しいポイントです。努力さえ惜しまなければ、得るものは非常に大きいでしょう。

これらの本を1〜2冊終えた頃、混乱やフラストレーションを感じるのはごく自然なことです。特に、学んだことを組み合わせて自分のアプリを作ろうとするときには顕著です。私の著書「Practicing Rails」は、プログラミングキャリアのスタート時に直面する最もつらい問題を解決する手助けをしてくれます。 本書では、壊れたコードのデバッグ方法、頭の中のアイデアを実際の機能に変えるためのプロセス、行き詰まらずにテストを書く方法などを学べます。

自分のアプリを開発している間、他のどんなリソースよりも頻繁にお世話になるのが次の2つです。

「Rails Guides(公式ガイド)」は、ドキュメントとサンプルを通じてRailsの最重要部分を教えてくれる頼れる存在です。私はいつも立ち返っていますし、常に最新の状態に保たれているのも心強い限りです。

Railsのメソッドの呼び方を調べたいとき、あるいはやりたいことを実現するメソッドがそもそも存在するのかを確認したいときには、公式のRails APIドキュメントが必要になります

(ただし、APIドキュメントをもっと快適に閲覧する方法はいくつもあり、それについては無料メール講座のレッスンのひとつで詳しく説明しています)

実は、Rubyを深く知らなくても簡単なアプリを作り始めることはできます。しかし、Rubyの学習により多くの時間を割くことの重要性は、すぐに増していきます。言語に慣れ親しむためのベストな一冊は、「Programming Ruby」だと断言できます

動画とガイド付き講座

書籍やWebサイトは、私がRubyやRailsについて新しいことを学ぶ際に最も好んで使う方法です。しかし、読むよりも見るほうが好きな人には、素晴らしいスクリーンキャストや講座もたくさんあります。

動画講座でRubyとRailsを学びたいなら、「Pragmatic Studio」の講座が多くの人から高く評価されています。入門地点としてとても良さそうです。

「RailsCasts」は数年間更新されていませんが、Web開発でよくある問題への優れた解決策を今なお学べます。APIは変わっていても、根底にあるアイデアはほぼ同じままです。視聴する価値は十分にあります。

Avdi Grimm氏の「Ruby Tapas」は、5〜10分の動画で楽しくRubyのコードを学べるスクリーンキャストシリーズです。RailsではなくRubyに焦点を当てていますが、毎回多くのことを学べます。サイトでは無料のサンプル動画もいくつか公開されており、どれも質が高いので、購読する価値は本当にあります。

「Destroy All Software」のスクリーンキャストはRubyやRails専用ではありませんが、視聴すれば使用する言語に関わらず、より優れた開発者になれるはずです

最後に、読者の方から勧められた「bloc.io」というオンラインブートキャンプもあります。メンターとのペア制を採用しており、行き詰まったときに具体的な問題を相談できるのが魅力です。

マンツーマンのサポートは心強いものです。学習中こそ、まさに求めているものになるかもしれません。助けてくれる友人やメンターが見つからない場合は、どこで探せばよいかについてメールマガジンで記事を書いたことがあります。(ちなみに、こちらから登録すれば、毎週金曜日にこうした役立つ情報をお届けします)

結局、何をおすすめする?

とはいえ、まだまだ膨大な量に感じられますよね!読書が好きで、すでにプログラミングの基礎を身につけているなら、「Programming Ruby」と「Agile Web Development with Rails」の2冊から始めるのが私のおすすめです。読み進めながら、小さなサンプルアプリを実際に作って、学んだことを試してみてください。(その方法については、「Practicing Rails」の無料サンプル章でさらに詳しく解説しています)。

あなたにとって役立ったリソースが他にもあれば、ぜひコメントで教えてください。「これを見逃しているなんて信じられない!」というものがあれば、なおさら歓迎です!

この記事は、アドバイスページに寄せられたJamesさんの質問にヒントを得て執筆しました。RubyやRailsについて疑問に行き詰まったら、ぜひそこで質問してみてください!

  1. Ruby開発者のための時間計算量とBig O記法 徹底解説ガイド

    時間計算量は、コンピュータサイエンスの中でも最も興味深い概念のひとつです。しかも、特別な学位がなくても十分に理解できます。 この概念が面白いのは、あるアルゴリズムやプログラムがなぜ遅いのかを見抜き、どうすれば高速化できるのかを明確にしてくれる点にあります。 もちろん、自分が書いたコードにもすぐに応用できます。 さらに、教科書に載っているような高度なアルゴリズムだけではなく、日常的に書くコードにも役立つのがポイントです。本記事の後半で実際に確認していきます。 まずは、「遅い」と「速い」の定義から整理しましょう。 「遅い」と「速い」の定義 100万個の数字を150ミリ秒(ms)でソートするのは、果

  2. RubyのEnumerableモジュール入門ガイド〜筆者イチオシのeach_consメソッドを徹底解説〜

    Enumerableモジュールとは? Enumerableは繰り返し処理(イテレーション)用メソッドのコレクションで構成されるRubyのモジュールであり、Rubyが多くの開発者に愛される大きな理由のひとつとなっています。 Enumerableには、次のような便利なメソッドが含まれています: map select inject Enumerableのメソッドは、ブロックを渡すことで動作します。 ブロックの中には、各要素に対して実行したい処理を記述します。 例えば: [1,2,3].map { |n| n * 2 } このコードを実行すると、すべての数値が2倍になった新しい配列が得られます