勉強方法

挫折しない!現役Railsエンジニアが教えるRailsチュートリアル攻略法

こんにちは、現役Rubyエンジニアのとだこうきです!

Railsを勉強している人なら誰でも知っているRailsチュートリアルありますよね。Railsエンジニアの登竜門とか言われてたりするくらいど定番の教材です。

ぼくも初心者のときにやったのですが、非常に難しかったですw実際、ツイッターで初心者の方の反応を見ているとほとんどの人が挫折している印象があります。

この非常に難しいチュートリアルなのですが、実は適切な方法で勉強してやる気さえあれば誰でもクリアできるものです。

挫折している人のほとんどがRailsチュートリアルをトライするレベルではないのにチャレンジしていたり、チュートリアルに取り組むためのコツを知らないだけなのですよね。ぼくが個人的にRails教えている人たちは、苦労しながらも挫折せずにクリアしています。

なので、今回はRailsチュートリアルを攻略するための方法を紹介していきます。

この記事を読むことによって、Railsチュートリアルを攻略でき、Railsの基礎固めを終えることができます。

Rails チュートリアルは難しいことを理解しよう

まず具体的な方法を話す前に、重要な考えを説明させてください。

Railsチュートリアルは難しいです

これをちゃんと理解してください。チュートリアルという名前だから簡単だろうーというノリでチャレンジすると痛い目をみるということです。

Rails を学ぶ上で Rails チュートリアルは非常に良い教材です。現役の Rails エンジニアとしてそれは保証します。

ただ、良いゆえに難しいです。しっかり Rails を学べるように設計されているので、理解しないといけないことは多いですし、Rails の説明をメインにしているので前提知識も要求されます。

だから、Rails チュートリアルにトライする前にちゃんと勉強しないといけないことを伝えておきたいです。

また Rails チュートリアルに過去に挑戦して挫折した人に言いたいのは、「Rails チュートリアルは難しいのであなたに才能がない」とかではないということです。ちゃんと対策して望めば大丈夫ですよ。

チュートリアルはまだ早い!Progate で基礎の基礎を固める

まず Rails チュートリアルにチャレンジする前に Progate で基礎の基礎を学びましょう!

学ぶべきは以下のコースです

  • HTML & CSS
  • Ruby
  • Ruby on Rails
  • Git
  • Command Line
  • SQL

結構量が多いですが、非常に重要なのですべてやっておく必要があります。Rails チュートリアルは難しいっていったでしょ!

一つ一つどういうコースで、なぜ必要なのか説明していきます。学習の順番は上に挙げたとおりが良いですよ。

ちなみに、Progate には道場コースという学習コースがありますが、こちらはやらなくて大丈夫です。

HTML & CSS

HTML & CSSコース – Progate

まずは HTML & CSS コースをやりましょう。

HTML は Web ページに文字やボタンを表示するプログラミング言語です。CSS はその文字やボタンをオシャレに変更するための言語です。

Rails は Web で動くアプリケーションを作るためのフレームワークです。なので、当然にして Web ページになにかを表示するための手法を学んでおかなければなりません。

Ruby

Ruby コース – Progate

その次は、Ruby コースをやりましょう。

Rails は Ruby on Rails の略なのですが、Ruby という言語を拡張した機能みたいなものなのです。

なので、Rails ができるようになるには Ruby ができないと絶対にいけません!!

Ruby はさきほど HTML & CSS のような言語とは一味違います。HTML と CSS は Web ページを表示するために使われる言語です。一方、Ruby はアプリケーションの根本的な仕組みを作るために利用されるものです。

SNSであれば投稿された内容を保存したり、保存した内容を取得したりする役割があります。

Rails

Rails コース – Progate

そして、いよいよ Rails を勉強しましょう!

Rails は Web アプリケーションを簡単につくることができる便利な Ruby のツールのようなものです。

Web アプリケーションは本来すごく複雑で難しいものです。ただ、Rails を使うことによってさくっと作ることができるということで人気があります。

Git

Git コース – Progate

次は、Git について学びましょう

Git は開発に便利なツールです。HTML, Ruby といったようなプログラミング言語ではないです。

Git は書いたプログラミングをバージョン管理するためのツールです。プログラムを書いていると過去の状態に戻したいことがあります。そういうときに使えるツールです。

もちろん Git を使わなくても、Rails でアプリケーションを作ることはできるのですが、Railsチュートリアルが Git を使えることを前提としているのでやっておきましょう。

Git について詳しく知りたい方は以下の記事を参考にしてください。

Command Line

Command Line コース – Progate

次は Command Line(コマンドライン) について学びましょう

Command Line とは、コンピュータを操作するためのツールです。これもプログラミング言語ではありません。

「コンピュータなら操作できるよ」と思うかも知れませんが、プログラミングをやっていると呪文のような文字を打ち込むことによってコンピュータを操作しないといけない場面が出てきます。これは避けられないことです。

普段はマウスを使って操作すると思いますが、コマンドラインでは文字でコンピュータを操作することになります。

そして、Railsチュートリアルにおいてもこのコマンドラインが分からないとかなり厳しいので、必ず学習しておく必要があります。

SQL

SQL コース – Progate

最後に、SQL について学びましょう。

SQL とはデータベース言語のことです。データベースというのは、データを保存するための仕組みです。SQL はこのデータベースを操作するために存在するものです。

Web アプリケーションを作る際、データを保存できないと困ります。Twitter でツイートして、その投稿が消えていたら困りますよね。アプリケーションにおいて、データを保管することは非常に重要です。

Rails を学ぶ上で、この SQL というのは直接出てきません。しかし、SQL の考え方を理解していないとかなり苦労します。なので、チュートリアルをやる前に絶対やっておきましょう。

SQL についてより詳しく知りたい方は以下の記事の「SQLって何?」の章の最後まで読むと良いですよ。

Progate で学ぶことまとめ

まとめると Progate では以下を学びましょう!

  • HTML & CSS
  • Ruby
  • Ruby on Rails
  • Git
  • Command Line
  • SQL

すごく量が多くて大変だと思います。Web アプリケーションを作るには、これだけの前提知識が必要だということです。

これを飛ばしているということは、重要な考え方を学ばずに勉強していることなので、挫折してしまうのは仕方ないです。掛け算を習っていないのに、微分積分にチャレンジしているようなものです。無謀です。

Web の周辺知識を身に付けよう!

ここまで来たら、基礎的な力は身についていると自信を持っていいです。

とはいえ、Railsチュートリアルにチャレンジするには少し早いです。今は断片的な知識しかないですよね。Web開発に関する周辺技術を個別に学んだだけです。

次は、よりWebの全体的な知識を身に付けましょう。

「Web を支える技術」を読みましょう

Web を支える技術 – Amazon という書籍を読みましょう

本書のテーマはWebサービスの実践的な設計。まず良いWebサービス設計の第一歩として、HTTPやURI、HTMLなどの仕様を歴史や設計思想を織り交ぜて解説。そしてWebサービスにおける設計課題、たとえば望ましいURI、HTTPメソッドの使い分け、クライアントとサーバの役割分担、設計プロセスなどについて、現時点でのベストプラクティスを紹介。

これは Web 全体の仕組みを理解するのに非常に良い本です。Web エンジニアなら誰でも読んでいる本です。

これらの内容を理解してなくても、Rails で Web アプリケーションを作ることはできます。でも、理解していたら学習の効率が圧倒的に上がります。Rails とは Web アプリケーションを簡単に作れてしまいます。ゆえに、Web の知識が曖昧でも「あれ?自分めっちゃ出来るやん!」と勘違いしていしまいます。なので、理解していないのに先に進んでしまい、どこかで詰まって挫折しちゃう可能性が高くなります。

なので、この本は必ず読んでからRailsチュートリアルを取り組むようにしましょう

※ Atom に関する記述は今のところ読まなくて問題ないので飛ばしてOKです。

Web を支える技術 – Amazon

Rails チュートリアルを実際やるにあたっての注意

ここまで行けば、Rails チュートリアルにチャレンジしていきましょう

とはいえ、Rails チュートリアルをやる上でも注意点は 3 つあるので、ちゃんと理解しておきましょう。これらを回避するだけでも挫折率かなり下げられます。

以下が注意点なのですが、詳しく説明していきます。

【チュートリアルをやる上での注意点】

  • Heroku にデプロイしなくてよい
  • テスト書かなくても良い
  • bitbucket は別に使わなくても良い

Heroku にデプロイしなくてよい

1 つ目のポイントは、Heroku にデプロイしなくてもいいということです。

デプロイというのは、作ったアプリケーションを世の中に公開する作業のことだと思ってください。Heroku というのは、アプリケーションを公開するための場所みたいなものです。

Rails チュートリアルでは、アプリケーションを公開するところまで出来るようになっているのですが、Rails を学ぶ上では、公開は必須ではありません。

もちろん、勉強しておいたほうがよい知識ではあるのですが、Rails チュートリアルに関しては Rails を学ぶことを第一の目的にするべきです。なので、Rails を学ぶ上で直接関係ない Heroku デプロイはまたの機会にしましょう。

テスト書かなくても良い

2 つ目のポイントは、テストを書かなくても良いということです。

テストとは、プログラミングがちゃんと動くかを保証するプログラムのことです。仕事では、このテストを書くのが一般的です。書かないのは珍しいです。

とはいえ、Rails でアプリケーションを作る上ではなくても、アプリケーションは動作します。

テストはいつか勉強しないといけないですが、とりあえずは Rails のメインの機能について学ぶのを優先すべきなので、とりあえずテストは飛ばしてもいいです。

Rails チュートリアルでは、テストをめちゃくちゃ丁寧に書くことになっています。ただ、これは非常につまらない作業です。とりあえずは楽しいところから勉強しちゃいましょう。

bitbucket は別に使わなくても良い

最後は、bitbucket を使わなくても良いということです。

bitbucket, というのは、クラウド上にソースコードを管理するためのサービスです。Rails チュートリアルでは、bitbucket を使うことを前提としています。

ただ、bitbucket はあくまでクラウド上にソースコードを管理するためのものなので、Rails を学ぶ上では必須ではないのでなくていいです。

2周目やるなら全部やったほうがいい

これらは Rails を学ぶことに集中して取り組むという作戦なのですが、無視した技術は重要ではないわけではありません。

今後、学ばないといけなくなる知識です。

なので、もし 2 周目をやるのであれば、必ずやってください。

Rails チュートリアル後は、独自アプリを作ろう

これらの方法を行うことで Rails チュートリアルという強敵を倒せる可能性は向上するでしょう。

それゆえに、チュートリアルが終わったあとに何をしたら良いのか悩む人が出てくるので、何をやるべきか先に話しておきます。

突き放すようで忍びないですが、今ある知識でコードを自分で考えて書いてください。

ここまでレベルアップすると残念ながら、すでに誰かに何から何まで教えてもらえるレベルではなくなりました。自走しなければならない状態です。ゆえに自分でプログラミングを考えて書いてください。アウトプットを増やしていきましょうということです。そして、これが一番成長する方法です。

チュートリアルというのは独り立ちのための手段です。それが終わったらある程度は自走しないといけないということです。

とはいえ、いきなり「コード書け!」と言われても難しいでしょう。なので、Rails チュートリアルのコードをアレンジすることから始めてみるのがよいですよ。

詳しいアウトプット方法は以下の記事を参考にしてください。

コード書け!プログラミングのアウトプット手法を徹底解説【初心者向け】初心者プログラマー「プログラマーとして成長するには、アウトプットが重要って言うけど、何をしたら良いかわからない…」 こういった疑問に答...
ABOUT ME
cohki0305
営業から転職し、たった6ヶ月でリードエンジニアになった最速の男。 その後半年でフリーランスとして独立し時給が4倍に。今は海外ノマドやりながら、週3フルリモート労働。 自分の経験を元に、未経験からエンジニアになる方法や業界のことを発信してます。
プログラマーになって年収1000万目指そう

学歴・職歴関係なく、数年間で年収 1000 万円を目指せる職業って何が思いつきますか??

僕はソフトウェアエンジニア(プログラマー)しか思いつかないです。

僕は実務一年でフリーランスになって年収1000万稼げるようになりましたが、別にこの業界なら普通です。学歴も職歴も関係ないです。もちろん努力は必要ですが。

プログラマーを目指して稼ぎたい方は、僕が紹介している「プログラマーになるための最短ステップ 3」を是非読んでチャレンジしてください。

未経験からプログラマーになるための方法を知る