記事の内容
この記事では、初心者がRubyとRuby on Railsを学んで、エンジニアとして成長する方法を紹介します。
就職するまでの道筋は書いていませんが、それでも参考程度にはなるはずです。
宣伝も含んではいますが、できるだけ一般化した記事にしているつもりです。
ちなみに、簡単なhtmlとcssは既に理解されているという前提です。
目次
はじめに
プログラミングを始めた人の多くは、「難しい」「わからない」と言って諦めてしまいます。
それを見たり聞いたりしている私は、いつも寂しく感じます。
なぜならば、プログラミングを学み始めて挫折した人の多くは、適切な方法に沿って勉強しているようには見えないからです。
プログラミングに限らず、全ての習い事において重要なことは基礎です。
基礎をやらずして、何事も上達はありません。
逆に言えば、基礎をシッカリとやれば、必ず上達するということです。
では、プログラミングにおける基礎とは何でしょうか?
それをこれから説明していきたいと思います。
プログラミングの制御構造
まず、最初に知る必要があるのは、プログラミングの制御構造です。
「if」「for」「each」「and」といった処理を理解した上で、プログラミングがどのように動くのかを理解できるようにしましょう。
基礎的なRubyの文法を勉強をしたい人は、この記事を読んで下さい。
【Ruby入門】Rubyの学習でオススメの本
Ruby言語で制御構造の理解を確認したい人は、この記事を参考にして下さい。
この記事に書かれているクイズを全て回答できるようになれば、正しく制御構造を理解していると言えます。
また、Rubyに関係なく理解を確認したいなら、下記の本が参考になります。
Rubyの言語仕様の理解
次に、Ruby独自の文法を理解しておく必要があります。
言語仕様の理解をしていないと、後で伸び悩むことになるので、シッカリと勉強しておきましょう。
特に、オブジェクト指向は確実に理解しておきたいところです。
Rubyの言語仕様の理解を確認したい人は、この記事を参考にして下さい。
また、本で勉強したい人には、こちらの本がオススメです。
MySQLの基本構文の理解
Webアプリケーションを作成する時は、データベースへの理解は必須です。
まずは最初に、ProgateのSQLレッスンをやりましょう。
特に理解して欲しいのは、以下の項目です。
理解して欲しいこと!
- SELECT
- JOIN(INNER JOIN)
- LEF JOIN
- GROUP BY
- 集計関数
オススメの本は、こちらです。
Ruby on Railsの概要を掴む
Ruby、SQLを理解できてから、最後にRuby on Railsを学びましょう。
ただし、最初から手元のPCに環境を構築するのは難しいので、最初はProgateのRailsレッスンから始めましょう。
ここで特に理解して欲しいのは、以下の項目です。
理解して欲しいこと!
- CRUD
- REST
- 「rails routes」の意味
- 「rails db:migrate」の意味
- Associations(has_many, belongs_toなど)
Ruby on Railsで掲示板機能を作成する
Ruby on Railsの概要が掴めたら、次はRuby on Railsの環境を自分のPC上に作って実際に開発を進めましょう。
私のオススメは、Vagrant上で開発を進めるやり方です。
なぜならば、Vagrant上で開発を行えば、環境の構築や破壊を繰り返し行うことができるからです。
環境の構築や破壊を繰り返すことで、次第に確かなスキルが身に付いていきます。
Linux環境は、この動画を見ながら作成して下さい。
理解して欲しいこと!
- Railsのscaffold機能を使って、掲示板機能を作成しましょう。
CRUD(Create、Read、Update、Delete)機能を備えていればOKです。 - Railsのscaffold機能を使わずに、掲示板機能を作成しましょう。
機能自体は、1と同じです。
Railsを勉強する際に参考になるのは、この本です。
Rails Tutorialをやる
ここまでで、ある程度の基礎はできているはずです。
最後の仕上げとして、Rails Tutorialをやりましょう。
これをやれば、さらにRuby on Railsの理解が深まるはずです。
まとめ
この記事では、Ruby on Railsのエンジニアとして独り立ちするためのロードマップを書きました。
わかりやすい書籍を選んでいるので、独学でも頑張ればできるはずです。
ただし、独学では時間がかかることも事実です。
独り立ちするまでの時間をショートカットしたい人は、プログラミングスクールに通いましょう。
私自身もプログラミングスクールを運営しています。
興味がある方は、是非、ご連絡下さい。
Good luck for your engineer life!
この記事が面白かった人は、こちらの記事も読んでみて下さい。