第0章: オリエンテーション
🎯 この章で学ぶこと(所要時間: 1時間)
この教材全体の目的とゴールを理解し、開発環境の準備状況を確認します。
1. 学習ゴールの整理
🚀 この教材で作るもの
セッション認証付きTodoアプリケーションを、Rails APIとReact(TypeScript)で作成します。
主な機能:
- ユーザー登録・ログイン機能(セッションベース認証)
- Todoの作成・読取・更新・削除(CRUD)
- Dockerによるワンコマンド起動
- 自動テスト(RSpec + React Testing Library)
- CI/CDパイプライン
💡 なぜこの構成なのか?
現代のWeb開発では、以下のような構成が主流となっています:
- API駆動開発: フロントエンドとバックエンドの完全分離
- コンテナ技術: 環境差異をなくし、チーム開発を円滑に
- 型安全性: TypeScriptによるバグの早期発見
- 自動化: テストとデプロイの自動化で品質向上
2. ロードマップの確認
全11章、合計40時間の学習プログラムです:
| 章 | タイトル | 時間 | 内容 |
|---|---|---|---|
| 0 | オリエンテーション | 1h | 本章 |
| 1 | Docker & Docker-Compose 超入門 | 4h | コンテナ技術の基礎 |
| 2 | Rails APIプロジェクト雛形 | 3h | APIモードでのRails構築 |
| 3 | 認証基盤 (セッション) | 5h | セキュアな認証実装 |
| 4 | Todo ドメイン & CRUD API | 3h | RESTful APIの実装 |
| 5 | React & TypeScript リフレッシュ | 3h | フロントエンド基礎の確認 |
| 6 | ビュー統合: ERB + React | 4h | RailsとReactの統合 |
| 7 | フロントエンド: ログインフロー | 4h | 認証UIの実装 |
| 8 | フロントエンド: Todo CRUD | 5h | TodoアプリUIの実装 |
| 9 | E2Eテスト & CI | 3h | 自動テストの構築 |
| 10 | 本番運用ミニ講座 | 3h | デプロイと運用 |
| 11 | まとめ & 発展課題 | 2h | 振り返りと次のステップ |
3. 事前準備チェックリスト
📚 前提知識
この教材を始める前に、以下の知識が必要です:
-
Rails Tutorial を完了していること
- MVCアーキテクチャの理解
- Active Recordの基本操作
- ルーティングの基礎
- 基本的なRubyの文法
-
JavaScriptの基本的な記法を理解していること(特にES6)
- アロー関数
() => {} - 分割代入
const { name } = user - スプレッド構文
...array - Promise と async/await
- import/export によるモジュール管理
- アロー関数
前提知識が不足している場合
- Rails Tutorial: https://railstutorial.jp/
- JavaScript (ES6) 入門: https://jsprimer.net/
上記のリソースで基礎を固めてから、この教材に取り組むことをお勧めします。
💻 必要なPCスペック
- OS: macOS、Windows(WSL2推奨)、またはLinux
- メモリ: 8GB以上(16GB推奨)
- ストレージ: 20GB以上の空き容量
4. 学習の進め方
📚 各章の構成
各章は以下の構成になっています:
- 概要説明: その章で学ぶ内容の全体像
- ハンズオン: 実際にコードを書いて動かす
- 解説: なぜそのように実装するのかの理解
- 演習問題: 理解度を確認する小課題
- まとめ: 重要ポイントの振り返り
⚡ 効率的な学習のコツ
- エラーを恐れない: エラーメッセージは学習の友
- 公式ドキュメントを読む習慣: 一次情報源の重要性
- 小さくコミット: Gitで細かく進捗を記録
- 質問する: 詰まったら15分考えて、それでも解決しなければ質問
🔨 実践パートの見つけ方
この教材では、実際に手を動かすパートを 「🔨 実際にやってみましょう!」 というマーカーで統一しています。
- 概念の説明や読むだけのパートと、実際にコマンドを実行するパートを明確に区別
- このマーカーを見つけたら、必ずターミナルやエディタで作業してください
- 読み飛ばさずに、一つ一つ確実に実行することが大切です
5. さあ、始めましょう!
すべての準備が整ったら、第1章「Docker & Docker-Compose 超入門」に進みましょう。