Rubyってどんな言語なのかを知る1歩目はドットインストールがわかりやすいですね。
ドットインストールでちょっと理解したら、次はProgateがおすすめです。アウトプット形式なのでいい復讐にもなります。
スラスラ読める Rubyふりがなプログラミング は初学者が取っ付きやすい本だと思います。Ruby on Railsにも少し触れているので、Rails学習へ移るいい架け橋になると思います。
TryRubyはアウトプット形式で、知識定着を確かめるにはちょうどいいサービスです。
Railsもドットインストールから始めるといいと思います。やはりわかりやすいですし、1回のレッスンが3分弱と短いので集中して受講できます。
このタイミングで、ドットインストールのActive Record入門も受講しましょう。Active Recordはざっくり言うとデータベースとのやりとりを楽にしてくれる便利アイテムです。Railsではマストなスキルなので合わせて受講しましょう。
ドットインストールで軽くインプットができたはずなので、Progateで復習しながらアウトプットしてみましょう。
続いてパーフェクト Ruby on Rails 【増補改訂版】をやってみましょう。この本ではRailsの基礎的なところを広く学習できる良書です。ドットインストールやprogateでは扱っていないけど、実務ではよく使う機能が紹介されています。progateに比べ少しレベルが上がりますがぜひチャレンジしてみてください
ここまででRailsに関してざっくりわかるようになっているはずです。さらにRuby on Rails チュートリアルに挑戦してみましょう。これは実際にアプリを作りながら学べます。量がとても多くやりごたえがありますが、終わる頃にはある程度わかる状態になれるはずです。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法までいわゆるチェリー本です。テストやオブジェクトやProcなど基本編ではあまり扱わなかった部分が詳しく記載されています。辞書代わりにもなる1冊です。
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方も名著です。Rubyでオブジェクト指向で書くときの参考になります。実務でもよく見かけるRubyらしい書き方やイディオムもふんだんにあります。これらを身につければRubyで綺麗にかけるようになります。
Effective Rubyは少し難しいですが読んで損はないです。Rubyが裏側でどんなことをしているのかが見えてきて、より一層理解してRubyを書くことができるようになります。またよく使われるtipsもあるのでそうした箇所も参考になります。
メタプログラミングRubyはRubyの醍醐味であるメタプロを学べます。メタプロは知らないとコードを見ただけでは理解できない黒魔術のようなものです。初めは自分で書けなくてもいいので読める程度にはなっておいたほうがいいです。特にgemのコードを探る時に重宝する力となります
ここでは自分が体験/受講したことのあるスクールを紹介します
スクールはプログラミング学習において必須ではないと思いますが、お金に余裕があるなら通って損はないと思います。
Tech Academyはレベルに関しては高くないですが、教材はわかりやすいです。ガチエンジニアのメンターさんにカリキュラムや学習について相談できるのが強みですね。
TECH CAMPもレベルは高くないです。メリットは同期の仲間たちと切磋琢磨できることと、メンターさんに質問できることですね。
CodeCampは私が受講したことないのですが、知り合いが未経験で受講してエンジニアになっていたので、いいスクールなんだろなと思い載せました笑
以下、スクールのメリットに関して私の考えをまとめます。
自分1人で独学をしているとコードを人に見てもらうきっかけがありません。
そのためコードの読みやすさをあまり意識できず読みにくいコードのまま学習が進み、ポートフォリオのコードも汚いままとなりうります。
スクールに通えば、メンターであったり同期の人にコードを見えもらう機会があるでしょう。そうした機会があれば綺麗なコードを書く意識が芽生えると思います。
スクールに通っていると、メンタに質問する際に何がわからなくて困っているのかをわかりやすく伝えるように工夫すると思います。
実際にエンジニアとして仕事してみるとわかるのですが、質問する力/伝える力はとても重要です。
質問力と伝える力がないと、結局何が聞きたいのかわからない質問をしてしまい、先輩エンジニアを困らせてしまいます。
スクールではカリキュラムよりも質問できるというところを最大限に活かして欲しいです。
最近スクールについて悪い噂ばかり聞くのですが、悪く言う人は実際に受講したことあるのかなと。。。
スクールも合う人とそうでない人がいるのは当たり前だと思います。
実際に体験行くなり卒業生や在校生に話を聞くなりして、自分に合いそうか判断すればいいと思います。
RailsのテストフレームワークはRSpecがよく使われます。
Ruby on Rails チュートリアルでもRSpecを学びますが、RSpecには他にもたくさんの書き方があります
一度目を通しておくといいと思います。
文法だけではなくテストについての考え方も身につけておきましょう。