フルスタック設計ロードマップ
フロントからインフラまで、ソフトウェア設計の全体像を段階的に学ぶ学習ガイド
プロローグ — 設計のロードマップを手に入れる
なぜ体系的に設計を学ぶのか。未経験からエンジニアになったヒロシが、メンターのマイと出会い、フルスタック設計の旅を始める
Stage 1: クリーンコード — 読みやすいコードの基礎
命名、関数設計、Railsの規約を通じて、誰でも読めるコードを書く技術を学ぶ
Stage 2: プログラミングパラダイム — OOP・関数型・手続き型
オブジェクト指向・関数型・手続き型の3つのパラダイムを理解し、Rubyのオブジェクト指向を使いこなす
Stage 3: SOLID原則 — オブジェクト指向設計の5原則
Single Responsibility, Open/Closed, Liskov, Interface Segregation, Dependency Inversionの5原則をRailsで実践する
Stage 4: デザインパターン — GoFパターンの活用
Strategy・Observer・Factoryパターンを中心に、再利用可能な設計語彙をRailsで身につける
Stage 5: アーキテクチャ原則 — コンポーネント設計
凝集度・結合度・パッケージ原則を通じて、コンポーネント間の依存関係を正しく設計する
Stage 6: アーキテクチャスタイル — MVC・レイヤード・クリーン
MVCからクリーンアーキテクチャまで、Railsでのアーキテクチャスタイルの選択と実践を学ぶ
Stage 7: データベース設計 — スキーマ設計とクエリ最適化
正規化、インデックス設計、N+1問題の解決から、AWSのRDS・DynamoDB選択まで実践的に学ぶ
Stage 8: テスト戦略 — テストピラミッドと品質保証
テストピラミッドを理解し、RSpecを使って効果的なテスト設計とTDDのサイクルを習得する
Stage 9: DevOps と CI/CD — デプロイの自動化
GitHub ActionsとAWS CodePipeline、ECSを使った安全で高速なデプロイパイプラインを構築する
Stage 10: 分散システム — 大規模設計の入り口
CAP定理、メッセージング、耐障害性設計を通じて、大規模システムの設計思考を習得する
エピローグ — ロードマップの先へ
学び続けるエンジニアへ。T字型スキルの成長戦略と、ヒロシとマイが振り返るフルスタック設計の旅