50
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

プログラミング未経験者がRuby on Railsチュートリアル(英語Ver.)1周目を完了したので内容をまとめてみる。

Last updated at Posted at 2015-09-30

1周目を進めていく上で方針としたこと

  • 3周やることを前提に、わからない部分はメモだけ残してあまり深入りしない
  • コードはコピペせず全てタイプする(※HTMLやCSS等も含めて全部)
  • 1周目はテストを書かない(※2周目、3周目からは書いていきます)

前提知識(チュートリアルに取り組む前にやったこと)

  • HTML/CSS/JavaScriptの基礎インプット(※Treehouseという学習サイトを利用)
  • Git/Unixの基礎インプット(※Treehouseという学習サイトを利用)
  • 簡単なRailsを用いたTo-doアプリ作成(※Treehouseという学習サイトを利用)
  • Rubyの基礎インプット(※Progateという学習サイトを利用)
  • 書籍「基礎Ruby on Rails」全体を軽く1周
  • 書籍「Ruby on Rails4 アプリケーションプログラミング」 1章〜3章

合計所要時間

40時間

第1章

  • 所要時間:3時間
  • 難易度:易しい
  • 主要トピック:
    • Railsセットアップ
    • Hello, world!アプリ作成
    • Git/Bitbucketセットアップ
    • Herokuセットアップ/初めてのデプロイ

第2章

  • 所要時間:1時間
  • 難易度:易しい
  • 主要トピック:
    • scaffold機能を用いた簡単なアプリ作成
    • MVCモデルの説明
    • RESTに基づくルーティング設計

第3章

  • 所要時間:2時間
  • 難易度:易しい
  • 主要トピック:
    • Railsアプリ環境設定おさらい(※今後チュートリアルで作成していくTwitterクローンアプリのセットアップ)
    • 静的ページ作成(ERBの導入/テンプレート操作)

第4章

  • 所要時間:3時間
  • 難易度:普通
  • 主要トピック:
    • Rubyの概要説明(メソッド/データの型/クラス 等)

第5章

  • 所要時間:3時間
  • 難易度:易しい
  • 主要トピック:
    • 静的ページ作成続き(レイアウト作成)
    • Bootstrapの導入/CSS編集
    • 部分テンプレートの導入
    • アセットパイプライン/Sassの説明

第6章

  • 所要時間:3時間
  • 難易度:普通
  • 主要トピック:
    • ユーザーモデル開発
    • ActiveRecordを用いた簡単なデータベース操作
    • フォームのバリデーション設定
    • パスワードの暗号化

第7章

  • 所要時間:3時間
  • 難易度:普通
  • 主要トピック:
    • サインアップフォームの実装
    • RESTに基づくルーティング設計(リソース設定)
    • Gravatarを用いたプロフィール画像設定
    • ストロングパラメータ設定
    • SSL設定

第8章

  • 所要時間:6時間
  • 難易度:難しい
  • 主要トピック:
    • ログイン・ログアウト機能の実装
    • セッション、クッキー、トークンを利用したユーザ状態の管理
    • ドロップダウンメニューの実装
    • 自動ログイン機能の実装

第9章

  • 所要時間:3時間
  • 難易度:普通
  • 主要トピック:
    • ユーザー情報の編集機能(フォーム)実装
    • 編集権限の付与
    • ユーザーの一覧表示
    • シードデータの設定
    • ページネーションの実装
    • 管理者権限の付与
    • ユーザー削除機能の実装

第10章

  • 所要時間:4時間
  • 難易度:難しい
  • 主要トピック:
    • メール認証によるアカウントアクティベーション
    • ActionMailerを利用したメール送信設定
    • パスワードリセット機能の実装
    • 認証用のカスタムURL生成

第11章

  • 所要時間:5時間
  • 難易度:普通
  • 主要トピック:
    • Micropost(Tweet)モデルの開発
    • モデル間の関連付け(1対Nの関係性)
    • Micropost(Tweet)表示画面の実装
    • Micropost(Tweet)の作成と削除
    • 画像投稿機能の実装
    • Amazon S3の設定

第12章

  • 所要時間:4時間
  • 難易度:かなり難しい
  • 主要トピック:
    • Follow/Follower機能の実装
    • ホームフィード画面の実装
    • モデル間の関連付け(多対多の関係性)
    • Follow一覧/Follower一覧ページの実装
    • Unfollow機能の実装

完成アウトプットイメージ

live_status_feed.png

所感

  • ただ動くものを作るというだけではなく、コードのリファクタリングや、セキュリティ面への配慮など、かなり実践的な内容であると感じた。知人のエンジニアからは Railsチュートリアルの内容が全般的に習得できていれば、開発現場で即戦力になれる と言われた。
  • Ruby on Railsに関わる部分だけではなく、Bootstrapを利用したデザイン、Git/Bitbucketを用いたバージョン管理、Herokuを利用した本番環境へのデプロイ、アップロードされた画像をAmazon S3で保管するなども含まれているので、Webアプリケーションを開発していく上での全体像がすごくつかみやすい。
  • とはいえプログラミング初心者が取り組む上にあたって、特に後半部分の難易度はかなり高いので、最低3回は繰り返すという前提で、わからない部分はどんどん飛ばしながら進めるのが良いと思われる。理解が難しい部分であまりにも深入りしてしまうと挫折する可能性が出てしまいそう。
  • これが無料で公開されているというのは本当に感謝でしかない。
50
54
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
50
54

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?