【Ruby編】プログラミング初心者オススメの教材、学習法のまとめ(補助教材更新)

#参考
るびま
https://magazine.rubyist.net/articles/0059/0059-Ruby-Rails-Beginners-Guide.html


Awesome Ars Academia
https://framgia.com/study-abroad/how-to-learn-rubyonrails-from-beginner-2018/



#対象者
Railsでアプリケーションを作成したい。
教材が多すぎてどこから手をつけたらいいのかわからない。



#第一段階(オンライン学習)
とりあえず、見よう見まねでアプリケーションを動かしてみよう、Gitやコマンドラインツールの操作に慣れようの段階です。
ここではあまり考えず下記の5つを意識して進めていってください。

- とりあえず手を動かす。
- アプリケーションを何となくでもいいから動かす。
- わからないところがあっても進めていく。
- 止まったら、TwitterやTeraTailで解決方法を聞く。
- なるべく短期間で終わらせる。

です。

紹介する教材の**どれか1つ**で十分です。
何個も登録するより、同じ教材を2,3週して復習した方が、
よっぽど学習効率はいいです。
どれか1つ全てやり切ったら次のステップに行きましょう


##[Progate](https://prog-8.com)

みなさんご存知、Progate
月額980円しますが、980円以上の価値があります。
下記のコースは必ず全て1週してください。


- [HTML & CSS](https://prog-8.com/languages/html)
- [Sass]( https://prog-8.com/languages/sass)
- [JavaScript](https://prog-8.com/languages/es6)
- [Command Line]( https://prog-8.com/languages/commandline)
- [SQL](https://prog-8.com/languages/sql)
- [Ruby]( https://prog-8.com/languages/ruby)
- [Ruby on Rails5]( https://prog-8.com/languages/rails5)
- [Git]( https://prog-8.com/languages/git)


##[ドットインストール](https://dotinstall.com/)
動画で勉強したい方はこちら。
ただしProgateと違って、環境構築の手順が増えるので、学習量も多いです。
サクッとアプリケーションを作りたい方はProgate、
環境構築からゴロッと最初から勉強したい方はドットインストールを使ってみてください。
(注:JavaScriptが異常に多いです。JavaScriptがつまらない、早くRubyonRailsを勉強したい方は、飛ばしていただいても構いません。)

- [HTML/CSSの学習環境を整えよう [Windows編]](https://dotinstall.com/lessons/basic_pcsetup_win)
- [HTML/CSSの学習環境を整えよう [macOS編]](https://dotinstall.com/lessons/basic_pcsetup_mac)
- [はじめてのHTML](https://dotinstall.com/lessons/basic_html_v4)
- [はじめてのCSS](https://dotinstall.com/lessons/basic_css_v4)
- [実践！ウェブサイトを作ろう](https://dotinstall.com/lessons/website_html_v3)
- [はじめてのJavaScript](https://dotinstall.com/lessons/basic_javascript_v3)
- [JavaScriptでおみくじを作ろう](https://dotinstall.com/lessons/omikuji_js_v4)
- [詳解JavaScript 基礎文法編](https://dotinstall.com/lessons/basic_javascript_grammer)
- [詳解JavaScript オブジェクト編](https://dotinstall.com/lessons/basic_javascript_objects)
- [UNIXコマンド入門[一般ユーザー]](https://dotinstall.com/lessons/basic_unix_v2)
- [MySQL入門](https://dotinstall.com/lessons/basic_mysql_v3)
- [Ruby入門](https://dotinstall.com/lessons/basic_ruby_v3)
- [Ruby on Rails 5入門](https://dotinstall.com/lessons/basic_rails_v3)
- [git入門](https://dotinstall.com/lessons/basic_git)

#第二段階(目的別書籍学習)
ここでは書籍を使用した勉強になります。
各言語別で紹介させていただきますが、
第一段階で、

- 結局これは何やっているの？
- これってどういう意味なの？
- オンライン教材は飽きた！
- もっと違う角度から勉強したい！

等、なぜこうなっているのかをより詳しく知る為のフェーズであると考えてください。
全て書籍を購入する必要はありません。
自分に必要に応じて学習してもらえたらと思います。
読むだけではなく、手を動かして作成しながら進めてください。
そして基本的には同じ本を2,3回読んで学習することをお勧めします。
(注:全てAmazonのリンクに飛びます。)
だいたいわかったし、次のフェーズに早く進みたいという方は第三段階に進んでください。

##HTML&CSS
- [わかるHTML5+CSS3の教科書【第3版】](https://www.amazon.co.jp//dp/4839965471)
- [本当によくわかるHTML&CSSの教科書 シンプルで、デザインの良いサイトが必ず作れる](https://www.amazon.co.jp/dp/4797395249)

##Bootstrap

- [Bootstrap 4 フロントエンド開発の教科書](https://www.amazon.co.jp/dp/4297100207)

##JavaScript

- [改訂新版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで](https://www.amazon.co.jp/dp/477418411X)


##SQL

- [スッキリわかる SQL 入門 ドリル215問付き!](https://www.amazon.co.jp/dp/4844333933)
- [基礎からのMySQL 第3版 (基礎からシリーズ)](https://www.amazon.co.jp/dp/4797393114)

##Ruby

- [ゼロからわかる Ruby 超入門 (かんたんIT基礎講座)](https://www.amazon.co.jp/dp/4297101238)
- [プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで ](https://www.amazon.co.jp/dp/4774193976)
- [改訂2版 パーフェクトRuby](https://www.amazon.co.jp/dp/4774189774)

##Ruby on Rails

- [現場で使える Ruby on Rails 5速習実践ガイド](https://www.amazon.co.jp/dp/4839962227)
- [Ruby on Rails 5アプリケーションプログラミング](https://www.amazon.co.jp/dp/4774188832)

#第三段階[(Ruby on Rails チュートリアル)](https://railstutorial.jp/)
![railstutorial.jp_.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/387875/5264ecdd-fffb-0675-dc12-37c5a141a07e.png)

お待たせしました。Railsチュートリアルです。
ここではTwitter風のクローンアプリケーションを作成します。
TDDやHeroku,Gem,AWS等々
聞きなれない単語が多いかもしれませんが、ぜひチャレンジしてみてください。

参考に僕の学習方法を教えます。
ちなみに僕は最低3週以上やっています。

###1週目
目標:**コードに書くことを慣れるのと、アプリケーション作成工程の全体像を把握する。**

- Heroku、Test、Gitの項目を飛ばす。
- 9、11、12章を飛ばす。
- コピーアンドベーストはしない。
- 途中でわからなくてもとりあえず進めていく。アプリケーション作成を目標に読み進めていく。

###2週目
目標:**わからないところはググる力を身につけ、知識を定着化する。**

- 全ての項目をやりきる。
- 全章やりきる。
- わからない単語や意味があれば、ググる。
- 自分がわかったことや気づき発見があればQiitaやブログでまとめてみる。

###3週目
目標:**機能拡張していく**

- いいね機能
- 返信機能
- チャット機能
- SNS認証
- フォロワー通知
- 検索機能


##その他学習補助教材

###HTML&CSS
- [MDN web docs](https://developer.mozilla.org/ja/docs/Web)
- [w3school](https://www.w3schools.com/)
- [サルワカ](https://saruwakakun.com/)

###JavaScript
- [js-primer](https://jsprimer.net/)
- [現代の JavaScript チュートリアル](https://ja.javascript.info/)

###Ruby
- [TryRuby](https://ruby.github.io/TryRuby/)
- [Rubyがミニツク](http://www.minituku.net/)

###Ruby on Rails
- [Railsガイド](https://railsguides.jp/)

###Git
- [サルでもわかるGit入門](https://backlog.com/ja/git-tutorial/)
- [LEARN GIT BRANCHING](https://learngitbranching.js.org/)