はじめに
プログラミングなんてやったことがない、でも勉強したい、あるいは勉強せざるを得なくなってしまった。こういう方が最近増えているのではないかなと思います。
私もその一人です。ひょんなことからプログラミングに触る機会をもらって、触ってみたら面白くて、3ヶ月半の勉強の末、エンジニアとして現場に配属されるまでになりました。
Macすら触ったことの無かった私が、エンジニアになるまでにどんな本やコンテンツを使って勉強をしたのかを自分の備忘録として、そしてこれからプログラミングを勉強しようという方に参考にしてもらうために綴ろうと思います。
特に「みんなが使っている定番リファレンス」が何なのかプログラミング初心者には分からないことが多く、それらを知らないがために無駄な努力をしてしまうという経験が私にもあったため、これから勉強する方がそのような無駄な努力をしないために書こうと思います。
以下、Rails でアプリを作れるようになることを目標にした際のリファレンスリストになります。
実際に使った書籍・学習コンテンツ
Ruby
一番最初は、ドットインストールから始めました。一講座当たり約3分にまとめられていて、隙間時間でも進められるのがとても良かったです。最初はこれを見るか、Progateがオススメです。
プログラミングの演習問題を解くことができます。このお陰で Ruby でどんなことができるのか感覚を掴むことができました。 問題ゴリゴリ解きながらインプットしたい人にはオススメです。
初心者向けの本。Progate や ドットインストールで代用できます。通勤電車の中で本が読みたかったので、最初のうちは電車でこれを読んでいました。
初めての本格的な技術書としてオススメです。記述がとても分かりやすく演習問題も付いていて、その場でアウトプットもできます。
超良書。Ruby を勉強する人は全員買うべき。初めての一冊にしては難しいですが、独習 Ruby を読んだ後であれば理解できます。そして読み返す度に気付きがあるので、何度も読みたい本です。
Ruby の公式リファレンス。ちょっとメソッドを調べたいというときは、ブログなどをググるのではなくこのページから探した方がしっかり理解できて将来のためになります。
Rails
Ruby でも使ったドットインストールを観ました。観ているだけだと頭にあまり入って来ず、後述する Progate をやれば導入は十分かなと思いました。
本当に分かりやすい。Rails が初めて学ぶ web フレームワークであるなら、まずこれからやるべきだと思います。自分の手を動かしながらのインプットなので定着しやすいです。
初心者向けの本。これも Progate や ドットインストールで代用できます。案の定、電車で読むために買いました。基礎をざっと掴むという目的なら良い本だと思います。
Rails を学んだ人の9割はこれで勉強しているのではないかというくらい有名なチュートリアル。Progate 2周してこのチュートリアルに取り組むというのが Rails を学ぶ最短ルートな気がします。たかがチュートリアルと思って甘く見ていると、難しすぎて爆死します。
Rails チュートリアルの副読本。チュートリアルでもっと深く知りたいことがあった時に読むと良いと思います。
こちらはチュートリアルを読んでいて分からないところがあった時に読むと良いと思います。
Rails チュートリアルを進める際にはこの本を脇に置いておくことをオススメします。辞書のように使うと使いやすく、チュートリアルでは説明が不親切な箇所が丁寧に解説されています。
こちらは Rails チュートリアルより難易度が少しだけ高いです。ただ、説明はしっかり書かれているので、チュートリアルを読んで分からず、アプリケーションプログラミングにも書かれていないときには、この本で調べていました。
その他
###オブジェクト指向
プログラミング初心者にとって「オブジェクト指向」とか言われても「知らんわ」という感じなんですよね。。そこでこの本から勉強を始めました。絵が多く電車とかでも読めます。
オブジェクト指向の定番書。この本を熟読してオブジェクト指向とは何かを(多分)理解することができました。
Web の基礎知識
Rails チュートリアルが初心者にとって難しいのは、Web に関する基礎知識がないからだと思い、チュートリアルを進めながらこの本も読んでいました。図が多くすぐ読めます。
これも Rails チュートリアルを進めながら読みました。これも定番書でよく読まれているだけあって、記述が初心者にもとても分かりやすいです。
Git・Github
アプリを作る上で Git の基本操作がマスターする必要があります。まずは、Progate で勉強を始めました。さっとこなせるのでオススメです。
この本に書いてあることが実践できれば、基本的な Git と Github の操作に関してはマスターできたことになるのかなと思います。記述も分かりやすく、とてもよくまとまっています。
HTML・CSS
また Progate です。でも本当に分かりやすいです。一冊本買うくらいなら一ヶ月 Progate の有料会員(月1000円)になってみっちりやる方が圧倒的にコスパ良いです。
辞書代わりに使っていました。説明が分かりやすいのと、適度にカラフルなレイアウトでとても読みやすいです。
データベース・SQL
ここまで来ると Progate の回し者みたいですが違います。。まずはやはり Progate から始めるのが良いと思います。
データベースに関する定番書。この本を読めば、データベース設計に関する基本的なところは抑えられるかなと思います。具体例が豊富で分かりやすいです。
MySQL を使う場合は是非これを見ておくと良いと思います。Rails のドットインストールとは違って、こちらはオススメです。説明がとても分かりやすく、MySQL の全体像を学ぶためにはとても良いコンテンツだと思います。
テスト
テストに関する基礎知識がこれ一冊で学べます。これも定番書。あまり難しくなく平易な文章で書かれているので、さっと読めます。
終わりに
ここまでつらつらと、さも独学で全て勉強したかのように書いてきましたが、実は違います。先輩エンジニアの方に週2回各30分ずつ、ちゃんと正しく理解できているのかレビューをしてもらったり、適宜分からないところを質問したりして進めていました。
一から完全に独学でこれらの内容を3ヶ月半で身に付けるのは、今考えると自分には無理だろうなと思います。ここまで書いておいて何ですが、一番大切なのは、自分の理解度をチェックしたり質問できたりする環境かもしれないですね。
ただ、そのような環境を自分で作ることが難しい方もいるかと思うので、この記事がそのような方々の今後の勉強の参考に少しでもなってくれると嬉しいです。