カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

【感想】『Ruby on Rails チュートリアル』終了

railstutorial.jp

序文

Ruby on Rails チュートリアル』1周目終了。

Ruby on Railsの公式チュートリアルである『Ruby on Rails チュートリアル』を学習したので感想など書き留めておきます。

GitHub

github.com

学習方法

11月の月初からはじめて1日2~3時間程度で約2ヶ月かけて学習しました。
かなりゆっくりだと思います。
ログイン機能にあまり興味がわかなかったため、関連する9章、11章、12章はスキップしています。

とりあえず結論

  • Railsの基本的な機能を網羅。あまり高度な機能は使用していない
  • テスト&ログイン
  • 読みやすくはない。仕様がやや複雑な部分も

おすすめ度:★★★★☆ 難易度:★★★☆☆

Railsの基本的な機能を網羅。あまり高度な機能は使用していない

全体的な構成としては、第1章でGitから仮想環境のCloud9、本番用環境のHerokuまで用いた環境構築を行い、第2章でscaffold機能を用いたかんたんなアプリの作成、第3~14章でTwitterを模したRailsアプリを作成していきます。

Railsチュートリアルは内容が高度であるという話を聞いていたので、Railsの高度な機能を用いてWebアプリを作成していくのかと身構えていたのですが、実際は公式チュートリアルらしくRailsのごく基本的な機能を用いて制作していく部分がほとんどだった印象で、「Railsチュートリアル」が難しいというよりはRailsの学習自体が難しいといったほうが正確な理解であるように感じました。

それでもRailsの知識ゼロから始めるにはやや難易度が高い気がするので、特にWebアプリ制作未経験者はProgateのRailsコース(途中から有料になります)や初学者向けの参考書などを一旦こなしてから取り組むほうが無難だと思います。

prog-8.com

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門


Railsの学習にあたって最初に取り組んだ書籍

テスト&ログイン

特徴的な部分として公式チュートリアルとしては「思想」が強く、単体テストから統合テストまで大量のテストコードを書くことを要求されます。
(ただしテスト駆動開発と呼べるほど徹底はされていません)

この点は評価が分かれるところだと思いますが、個人的にはテストコードの書き方をがっつり学習できたのでよかったと思います。
また就職などを目標に学習する人にとっても実践的なWebアプリの制作が学べるという点でメリットが大きいと思います。

一方、当然学習進捗のスピードは落ちますので初学者にとってはモチベーションの維持が難しくなるかもしれません。
また、とりあえず動くものを作ってみたいと考えている学習者にとってはデメリットが大きいかもしれません。

個人的には発展的な内容として別項としてまとめるなどの配慮があったほうが、さまざまな目的の学習者に応えられたのではないかという気がしています。

また全体にわたってTwitterを模したアプリを制作していくということで、ログインや認証に関する内容にも多くのページが割かれています。
個人的にログイン機能は個人で作るWebサービスの初期段階においては重要度は低いと考えているので、その点はやや不満でした。
(ただし、ログイン機能の応用的な内容についてはとばしても学習ができるように配慮されています。)

読みやすくはない。仕様がやや複雑な部分も

日本語に翻訳された教材にはありがちなことなのですが、全体的に読みやすくはないです。
ボトムアップで進めている部分とトップダウンで進めている部分が入り混じっていたり、テスト駆動で進めている部分があったかと思えばいきなりコードを書いて進めていく部分が出てきたり、かなり先まで進めないとコードの意味がわからない部分が出てきたりと、あまり構成に一貫性が感じられず学習のリズムを掴みづらいと感じていました。
結果、相当頻繁にページをスクロールしながら学習を進めていた気がします。

個人的におすすめの学習方法としては、コピペでいいのでとりあえず動く部分までコードを完成させて動作を確認し、そのあとコードにコメントを書きながら説明部分を読んで復習をしていくという方法がよいのではないかと感じています。

ただこういう学習者への配慮という部分はRailsチュートリアルが特に悪いというわけではなく、日本語の参考書が異常に親切に作られているという評価のほうが正確なのかなと思います。
文化の違いなのかなとも思いますが、この点に関しては日本のIT学習環境の誇れる部分だと感じています。

あとは「Twitterを作る」というモノ先行のチュートリアルのため、最終章のフォロー機能を実装するという部分の仕様はやや複雑です。
follower,following,followedの概念の違いをつかむのにさんざん苦労した…というのは私だけでしょうか…。

Railsチュートリアル1周目を終えた時点での感想をざっと思いつくままに書いてみましたが、Rails自体が多くの機能を含んでいることもあって、やはり何周か取り組んでみることを前提にした教材であるというように感じています。
一連の流れを把握した上で、自分なりに実装してみてからチュートリアルと比較するような形で学習を進めると高い学習効果が望めるだろうなと感じています。
(私は時間の関係上、取り組めるかどうかはわかりませんが…)

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

以前取り組んだ山田祥寛氏の参考書と比べると網羅性では劣るように感じましたが、その分Cloud9やHerokuなどの環境面にも触れられており、より実践を意識した刺激的な教材であると思います。

yjkym.hatenablog.com

カロリーメイトください。