MORITOMOMENT

登山好きエンジニアのテックブログ

プログラミング・アウトドア関連を中心に発信

やってみたわかった「Railsチュートリアル」の効果的なやり方

プログラミングをしている様子

2019年4月からWeb系エンジニアとして働くため,Railsチュートリアルをやってみました。

1周やってみての感想や2周目やるときに気をつけるポイントなど紹介します。

僕の現在のプログラミング知識などはAboutページ を参照ください。

今回の記事で対象としている読者

Railsチュートリアルって何?

RailsチュートリアルはWebアプリケーション開発で使用するRailsと呼ばれるフレームワークの学習のためのチュートリアルです。

railstutorial.jp

Railsチュートリアルでは具体的に次のことを学習できます(第1章の言葉を引用します)。

Ruby on RailsチュートリアルはWeb開発者やIT起業家を目指す方向けの優れた入門書として書かれており、Rubyの基礎、HTMLとCSS、データベース、バージョン管理、開発技法などWeb開発のすべてが網羅されています。本チュートリアルは初心者のみならず、Web開発のベテランにとっても有用です。MVCやREST、ジェネレータ、マイグレーション、ルーティング、ERBなど、Railsフレームワークのコア技術を本チュートリアルでまとめて学ぶことができます。初心者・ベテランを問わず、Ruby on Railsチュートリアルを最後まで終えることができれば、Rails周辺のさらに高度な内容の書籍、ブログ、スクリーンキャストなどを読み解く力を身に付けられます。

 Rails チュートリアルをどのように一周したか

まずどのように1周したのか紹介します。

使用したPC・開発環境

やり方

チュートリアルを順番に読みながら、実際に手を動かしてアプリケーションを作りました。

ローカル環境でやっていたので、自分のPCの環境に影響するためエラーと戦うこともあります。

moritomo7315.hatenablog.com

 Rails チュートリアルで学べたこと

Railsチュートリアルで学べたことはざっくり言うと次の2つでした。

  • Webアプリケーション開発の概念(MVCモデルなど)
  • Webアプリケーション開発の一連の流れの体験

それぞれについて具体的にどんなことが学べたか説明していきます。

Webアプリケーション開発の概念(MVCモデルなど)について

僕自身Webアプリケーション開発をしたことはありませんでした。 コードを書く経験はありますが、たくさんのコードが絡み合って1つのアプリケーションとして動作するようなものを開発したことはありませんでした。

WebアプリケーションはJavascriptCSSRubySQLなど様々なプログラミング言語が相互作用することで実現されています。

情報工学系の大学在学中の方のなかでも、これらの事実は知っていても、

「実際どのように動いているの??」というような疑問を抱えている人は非常に多いのではないでしょうか。

大学では理論を学ぶところであるので実際に実用的なWebアプリケーション開発など、自分のアイデアを形にするということを教えてもらう場所ではありません。

そのため Webを支える技術などの良本を読んで勉強する方が多いと思います。


しかし、読んで理解できたって人は少ないのではないのでしょうか。専門書等は挫折する人が多いイメージです。

実際にRailsチュートリアルで手を動かしながら学ぶことでその疑問は晴れると思います。

Webアプリケーション開発の一連の流れの体験

もちろんRailsのことを学べたことは有益でしたが、 個人的にはWebアプリケーション開発の一連の流れの体験で、次の3つを学べたことが非常に有益でした。

先でも、大学の講義等でWebアプリケーション開発を学べないと言いましたが、この3つのことは実際に働いているか、自分から経験しにいかないと学べないことだと思います。

特にテスト駆動開発はその1つです。

応用情報技術者試験の勉強やソフトウェア開発の大学院の講義でテストについてはざっくり学びます。 しかしながら実際にテストのコードを書くなどはしません

僕が一番Railsチュートリアルをやってみてよかったことが、テストについて勉強できたことでした。

もっとテストについて勉強したいって思ってしまいました。

 「こうすればよかった!」と思ったこと

次にこういった方法でやればよかったなぁ〜と気づいたことをシェアします。

Railsチュートリアルをやってみて、 こういった方法でやればよかったなぁ〜と途中で思ったことがありました。

2周目やるときはこれから紹介する方法でやりますし、

もしこれからRailsチュートリアルやってみようって思う方がいましたら、ぜひこの方法でやってみてください。

僕が思う、Railsチュートリアルの学びの効果を最大化させるやり方

Railsチュートリアルは14章構成となっております。

目次はこちらのリンクからご覧ください。

まず目次をみたときに意識していただきたいのが、

  • 独立している章
  • 複数にまたがっている章

があることです。

僕が1周やってみて独立した内容を扱っている章は、

1〜5章、13, 14章

だと思います。

その他の6〜12章は関連した内容になっています。

ですので、「独立している章」と「複数にまたがっている章」で異なるやり方で取り組むと効果的だと思います。

 独立している章の取り組み方

独立している章は、チュートリアルを読みながら実際に手を動かしていくやり方で十分だと思います。

章自体が独立しているので、新出の概念等はその章でわかりますし、いろいろなメソッドなどの関連もそんなに複雑ではないので理解しやすいと思います。

 複数にまたがっている章の取り組み方

複数にまたがっている章は、独立している章と同じ取り組み方をすると、

「なんでこのパス名なんだっけ?」「このメソッドなんだっけ?」、とこれなんだっけと疑問がでて、深い理解をすることができなくなってしまいます。

先に述べたように僕は、順番に読みながら、その都度手を動かしてやっていたので、

6〜12章をやっている途中に、「これなんだっけ?」、「これとこれってどういう関係性だっけ?」と感じ、

全体像が見えず、方向性がわからないまま取り組むこととなってしまいました。

そこで色々考えてみた結果、 これいいんじゃないか?と思う、6〜12章のやり方は

  1. 一気に6〜12章を読んでしまう。
  2. 6〜12章で繋がっているものをまとめておく(名前付きパスなど)。
  3. 1と2のステップで全体像を掴むことができたら、6章から順番に手を動かしながら取り組む。

特に2のステップが重要だと思います。 名前付きパスなどは、度々登場します。

Rails命名規則の勉強にもなると思います。 命名規則やコードででてくる記述の関連性をしっかりと理解することで、RailsによるWebアプリケーション開発の理解の促進効果もグッと上がりそうです。

僕も2周目はこの方法でやってみます。

まとめ

今回は、Raisチュートリアルをやってみた感想と、僕が思うチュートリアルの効果的な取り組み方について書きました。

もう一度まとめておくと、

  • チュートリアルをやって学べたこと
    1. Webアプリケーション開発の概念
    2. Webアプリケーション開発の一連の流れ
  • チュートリアルの学びを最大化できる取り組み方
    1. 独立している章と、複数にまたがっている章でそれぞれ異なる方法で取り組む
    2. 複数にまたがっている場合は、まず全体像をしっかりと掴む

これからWebエンジニアを目指している方、Railsチュートリアルに取り組もうと考えている方、挫折しちゃった方、参考にしてください!