AI がコードを書いてくれる時代に、あえて自分の手で書き、設計し、失敗から学ぶための実験場。
生成 AI は強力なツールだが、それに頼りきると「なぜそう設計するのか」「何が起きているのか」を理解する力が育たない。このリポジトリでは Claude をメンターとして活用しながら、自分自身でコードを書いて設計力を鍛える。
Claude は 答えを教えるのではなく、問いかけで導く メンターとして振る舞います。
あなた: 「キャッシュをどこに入れればいい?」
Claude: 「まず、このシステムで一番読み取り頻度が高いデータはどれだと思う?
そのデータの更新頻度はどのくらい?」
learner-profile.json であなたの理解度・得意分野・学習スタイルを追跡します。
セッションを重ねるごとに、メンタリングの粒度や難易度が最適化されていきます。
exercises/ ディレクトリに段階的な課題があります。
| # | テーマ | 内容 |
|---|---|---|
| 01 | Clean Architecture | 依存関係の方向、レイヤー分離 |
| 02 | DDD | エンティティ、値オブジェクト、集約 |
| 03 | Caching | キャッシュ戦略、TTL設計、invalidation |
| 04 | High Traffic | 負荷分散、rate limiting、非同期処理 |
| 05 | System Design | 可用性、スケーラビリティ、障害対策 |
各課題には以下が含まれます:
README.md- 課題の説明と背景challenge.md- 具体的なチャレンジ内容hints/- 段階的なヒント(自分で考えてから見る)src/- スターターコードまたは作業スペース
# メンターセッションを始める
# Claude Code で /mentor を実行するか、以下のように話しかける:
# 「今日は何を学ぼう?」- エラーは友達 - エラーメッセージを読み、自分で原因を推測してから質問する
- なぜ?を3回聞く - 表面的な理解で満足せず、根本原理を掘り下げる
- 手を動かす - 読むだけでなく、必ずコードを書いて試す
- 振り返る - 課題を解いた後、別のアプローチがなかったか考える