【現在3000名】無料のフリーランスコミュニティ『東フリサロン』はこちらからどうぞ!

2. Rails 30DAYSトライアル【Railsの基礎を学ぶPart.1】

2. Rails 30DAYSトライアル【Railsの基礎を学ぶPart.1】

こんにちは、Rails エンジニアのとだこうきです。

この記事は『プログラミング未経験からサーバーサイドプログラミングの楽しさを知る』30日間の学習ステップ、その2です。

コンセプトについては以下の記事で紹介しています。

ステップ1については以下の記事を確認してください。

この記事では、Ruby の Web フレームワークである Rails について勉強していきます。フレームワークとはアプリケーションを作るためのツールのようなものです。Webアプリケーション開発キットみたいなものです。

キットなので簡単に組み立て使えるようになるのですが、すべてを理解するのは大変です。そして概要だけでも学習しないといけない量も多いです。ゆえにこの記事だけでは一通り学習できないので、今回と次回の記事を通して基礎を学んでいきましょう。

Progate で Rails を学習する

Railsの基礎を学ぶ

DAY11.『Progate Rails コース(1章まで)』
DAY12.『Progate Rails コース(2章まで)』
DAY13.『Progate Rails コース(3章まで)』
DAY14.『Progate Rails 道場コース(1章まで)』
DAY15.『Progate Rails 道場コース(1章まで)』
DAY16.『Progate Rails コース(4章まで)』
DAY17.『Progate Rails コース(5章まで)』
DAY18.『Progate Rails 道場コース(2章まで)』
DAY19.『Progate Rails 道場コース(2章まで)』
DAY20.『Progate Rails コース(6章まで)』

いよいよ Progate にて Rails を学んでいきます。上述の通り、Rails というのは Ruby の拡張機能のようなものです。この Progate のコースを一通り学習することによって、Rails の基礎の基礎が学習することができます。

Tips1. Progate Rails コースで学習できる範囲を把握しましょう。

まず今回の Progate Rails コースで学習できる範囲を理解しておきましょう。

Rails というのは Web アプリケーションを簡単に作ることが出来るツールですが、Railsが分かれば Web のすべてを理解できるわけではありません。

Web というのはいろんな技術の集まりで出来ているものです。具体的には以下のような感じ。

ここではそれぞれがどういう役割で何を学ぶべきなのか説明はしないですが、これくらいいろんな技術が集まって出来ており、Rails出来ればすべて解決!という感じではないのですよと理解しておいてもらいたいです。

特に Progate の Rails コースで学ぶことができるのは以下の一部です。

とはいえ、Railsを学んだことによってWebアプリケーション開発の第一歩を踏み出せたことは素晴らしいことです。学べば確実にステップアップできる分野なので、少しずつ勉強していきましょう。

Tips2. Rails は少しずつ理解していけばいい

Rails は非常に複雑です。なので少しずつ理解していけば問題ないことを理解しておきましょう。

Rails を正確に理解できるようになるには、下の画像ようにいろんな概念を理解する必要があります。それはすごく大変です。これだって一部です。

なので最初はすべてを理解する必要はなくて「こうすればこうなる」という経験を積んでいきましょう。使っていくことによってWebの概念を理解していくほうがよいです。Rails についても「一度にすべてを理解しないといけない!」という強迫観念を捨てることが大事です。

Tips3. MVC を理解する

Rails コースを通して MVC の概念を理解するのが重要です。

Progate の説明だけでは MVC を完全に理解するのは難しいので以下の記事を読んでおきましょう。

画像で図解!サルでもわかるRailsにおけるMVC入門 – 28歳からはじめるフリーランスLIFE!

英語が分かる人は以下の動画がオススメです。料理の注文にたとえてMVCとWebの仕組みを説明してくれています。

Tips4. ルーティングを理解するために HTTP メソッドの概要を知ろう

Rails にはルーティングという URL を定義する機能があります。

これを理解しないと Web アプリケーションを作ることは困難です。そして、このルーティングを理解するには HTTP と HTTP メソッドを理解しておく必要があります。

まずは HTTP とは何かを以下の記事を読んで理解しましょう。

HTTP – 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

サーバーとクライアントの関係を理解していない方は以下の記事を読みましょう。

クライアントサーバ (client server) – 「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

なんとなくわかった気がする程度の理解で十分です。次に以下の HTTP メソッドの記事を読みましょう。

HTTPメソッド(CRUD)についてまとめた – Qiita

HTTP メソッドは8つありますが、GET、POST、PUT、DELETE の 4 つを基本覚えておけば十分です。HTTP はサーバーとクライアントとの通信のやり取りの方法です。

このやり取りの中で実際に行われているのが、GET、POST、PUT、DELET です。それぞれについて少し解説します。

GET はサーバー側にデータを下さいと共有するメソッドです。

POST はサーバー側にデータを保存することをリクエストするメソッドです

PUT は保存ではなくてデータを変更するリクエストをするメソッドです。そして、DELETEはデータの削除を依頼するものです。

すべてのメソッドに共通するのは、サーバーにリクエストを送ったらレスポンスがあることです。

クライアントが何かをサーバーにリクエストして、サーバーはそのリクエストに応えてデータをクライアントに渡す。クライアントはそれを元に画面の表示を変更したりしているわけです。

Tips5. マイグレーションについて理解しよう

マイグレーションについての理解を深めましょう。

マイグレーションはデータベースのテーブルに変更を加える処理のことです。マイグレーションの概要を以下の動画でさらっと勉強しておくと今後の勉強がスムーズに進むはずです。

Tip6. インプットしたらアウトプットするのが成長のコツ

プログラミング能力を向上させるコツは、アウトプットです。

具体的にアウトプットとはプログラムを考えながら書くことです。Progate は主にインプットをメインにしているコンテンツですが、道場コースでアウトプットをすることができます。

道場コースやらずに通常コースをクリアして「プログラミング出来た!」と思わずにアウトプットまでして「プログラミングの勉強をした」と認識するようにしましょう。

アウトプットが重要なのはプログラミングとはアウトプットすることがゴールだからです。当然のことながら、プログラマーとはプログラムを書きます。そしてそれが仕事です。ゆえにアウトプットが出来なければ仕事にはなりません。

そして、アウトプットとインプットには大きな隔たりがあります。書籍を読んでプログラミングを理解したつもりでも、実際にコードを書いてみようとすると手が止まるというのはよくある話です。この大きな隔たりを埋めるにはプログラムを書こうとするしかないです。調べながらコードを書くことになるので大変だと思いますが、必要な苦労なのでやりましょう。

成長するための痛みは必要です。筋肉痛と同じです。道場コース以外のアウトプットの方法は以下の記事を参考にしてください。

Tips7. Rails は覚えなくて良い

Rails を学ぶ上で気をつけてほしいのが、記憶しなくてよいということです。

前回の記事でも「暗記はクソだ」と言いましたが、Rails においても同じです。「覚えないといけないことがたくさんあって難しい…」とぼくも勉強した当初思いましたが、これは間違った勉強法です。

暗記しないといけないことはほとんどありません。忘れてしまえばググればいいですし、基本的なことであればすべて書籍に書いてあるのでそれを見ればいいだけです。

フレームワークは覚えることが多いと言われていますが、実際は覚えるよりも考え方のほうが重要です。

Rails を通して「MVCとはなにか?」を理解することのほうが圧倒的に大事です。道場やったときに覚えていないことを責めないでください。考え方がわかっていればOKです。あとは調べながらコードを書いていけばOKです。

それに重要なことは何度も出てきますので必然的に覚えます。心配しなくて大丈夫です。

Rails の基礎を学ぶ Part.1 のまとめ

以上が「RubyとWeb技術の基礎を学ぶ」でした!

これで Rails を使って基本中の基本である CRUD を学習することができました。

まだまだ出来ることは少ないですが、Web アプリケーションを作れるようになりました。感動ですね。Rails はほんの少し勉強しただけで Web アプリケーションが作れるようになるのが魅力的です。

次回はより高度な Rails を学んでいきましょう。

次回以降のコンテンツは現在作成中です

LINE@にて限定情報公開中!

CTA-IMAGE 『転職したい!』 『理想的なライフスタイルを実現したい!』 『フリーランスになりたい!』 そういう要望を持っている方向けに、週に1度リアルなお役立ち情報を配信しています。 登録すれば、LINE@限定「最短でプログラマーになるための転職ロードマップ」も確認できます!

Webアプリケーションカテゴリの最新記事