Rails
初心者
勉強

私的Rails勉強フロー

  プログラミングを頑張ろうと発起しても何をやればいいのかわからない時期がありました。
 調べて調べて調べまくった結果、ある程度こういう方向で進めようかなぁという道筋を作ったので
 自分の指針として残しておこうと思います。

  まだまだ終わらないRails勉強のためにも、
 今後他のプログラミング言語を身につける必要があるのを見越しても、
 プログラミング全体に初心者である私にとって勉強法を整理することはマストでしょう。

まずはProgate

  もう既に結構やりましたが、ProgateのRubyコース、Railsコースを履修すること。
 コマンドラインコースなどもやりました。

  やっぱり基本的なメソッドを覚えるとか、
 controllerとViewとRoutingの関係を感覚的に身につける上では、
 とにかく出力させるProgateは何かと効率がいいように思います。

  Progateよりドットインストールのほうが推奨されている場合が多い気がしますが、
 私はProgateのほうが性に合っていました。
 実際にアプリが出来ていく過程を追うことで、自分でも
 "rails new"を実行していろいろ挑戦してみようと思えますからね。

そして入門書へ

  ここで私はAmazonでRails書籍のレビューを漁ったり、
 実際におすすめ本を紹介しているWebページを参照したり、
 書店を巡って吟味した結果、一冊の本を購入しました。

  その本はレビュー的には高評価とは言えず、
 以前投稿したQiitaで有識者の方から"その本は最適ではない"というご指摘もいただきました。
 私も読み進めていて、
 「わざわざ+の形にしなくても式展開で良くないか?」と思うことなどもありました。

  しかしですね、書店でいろいろな本を見ていて、
 世間的に有益と言われている良書は軒並み全部"白黒"だったのです。
 私は何となく白黒の書籍に強い抵抗があるんですよね。
 文章量が多いのは問題ないんですが、白黒だととても見づらくて…

  取り敢えずは現在の本にある多くの情報を新鮮かつ有益な情報と捉えることにしています。
 これは実際のエンジニアや、上級者から見て正しい勉強法とは言えないかもしれませんが、
 私のように右も左も、挙句の果てには自分の立っている場所すらわかっていない人間は
 まず滝のように情報を仕入れて、自ら成果物を作成する上で比較、優れた知識を洗練していけば
 いいのではないかと思っています。

ここでRailsTutorial

  本来RailsTutorialは早い段階から取り組むべき内容だと理解していましたが、
 最序盤のデプロイや、本番環境の構築、Gitやherokuの設定などに手こずりまくり、
 Railsそのものに対する苦手意識さえ持ってしまいそうなほど追い詰められました。

  RailsTutorialはもちろんそういった知識だけでなくRails固有のノウハウについても
 明瞭かつ詳細に解説されていますが、
 RailsTutorial全体を通してGitやデプロイについての解説も付随されており(それほど重要)
 最初の設定をすっ飛ばしてRails成分の勉強だけしていっても、
 それは本当にRailsTutorialの履修をしているとは言えないと思ってしまったのです。

  そこでまずは入門書を購入してしっかりと勉強し、
 後ほどherokuやgitの知識に集中して取り組むことで
 Rails勉強へのモチベーションを高めたままRailsTutorialに取り組めるのではないかと考えました。


取り敢えず当面は上記のような順番で学習を進めていこうと考えていますが、
学習全体を通して継続的に取り組もうと決めた事を羅列しておきます。

  1. Qiitaに対する高頻度のアプローチ
  2. 自力でWebアプリの未完成物を作りまくる。
  3. FE試験やAP試験の学習を進める。

 1番と2番は各所でも言われているような手法ですね。
自分の曖昧になっている情報を言葉に文章に起こしてまとめることは学習における効果的な手法だと思います。

 また2番についても言わずもがな。
一つの完成物を作るのは一通りの基礎項目をさらってからでいいのかなぁと思っています。
投稿機能を学習→投稿機能だけを持つアプリで動作確認
みたいな。

 そして3番なのですが、やはりFEやAPなどの知識は、
プログラミングのみならずエンジニア、PCヘビーユーザーにとって必要な知識を網羅していると思います。

 例えばRailsについてのみ話を絞っても、
データ表現やアルゴリズムの知識はもちろんの事、
ネットワークやデータベースについても同様に必要だと思いますし。


ここに羅列した全ての手法は勿論一部に過ぎず、
本来プログラミングにおける必要な知識とは膨大でとどまり知らずだと思います。
一番大事だと思うのは、勉強に対するモチベーションを高く保ち続けて、
新しいこと有益だと思えることにどんどん参加することでしょうね。