Curated Tech Reading Map

次に読むべき技術書が見つかるサイト

目的地

「Release It!」に至る道筋

この本にたどり着くために、先に読んでおきたい本を依存関係から逆算しました。基礎から順に並んでいます。

ここまでの道筋(8冊)

  1. Clean Code

    なぜ先に読むのか: 個々の関数やクラスをきれいに書けるようになったら、Java のコードで繰り返し現れる設計課題に名前のついた解法=デザインパターンを学ぶ番だ。本書は GoF の 23 パターンを Java の実装で体感させ、再利用可能な設計の語彙とクラス間の関係を意図を持って組み立てる力を養う。

  2. なぜ先に読むのか: クラス単位のパターンを使いこなせるようになったら、システム全体の依存の向きと境界をどう設計するかという上位の視点へ広げる。クリーンアーキテクチャは詳細を外側へ追いやり、ビジネスルールを中心に据える依存性のルールを与える。

  3. なぜ先に読むのか: Go の基本的なシステムプログラミングができるようになったら、Go 最大の武器である並行処理を深く掘り下げる。Concurrency in Go は goroutine とチャネルを使った「メモリ共有ではなく通信で協調する」設計を体系立て、安全な並行プログラムの組み立て方を与える。

  4. なぜ先に読むのか: 単一プロセス内の並行処理を理解したら、複数プロセス=サービス間で非同期に協調する世界へ広げる。Microservices Patterns はメッセージング・Saga・イベント駆動といった分散システムの協調パターンを与え、並行性の発想をネットワーク越しに展開する。

  5. なぜ先に読むのか: Spring でひと通りアプリを組めるようになると、フレームワークに引きずられた設計(DB やフレームワーク中心)の限界に気づく。クリーンアーキテクチャはビジネスルールをフレームワークから独立させる依存性のルールを与え、長期的に変更に強い構造を選べるようにする。

  6. なぜ先に読むのか: システム内部の境界を設計できるようになったら、その境界をプロセス=サービスへ分割すべきかという次の判断へ進む。Monolith to Microservices は「まずモノリスから」という現実的な指針のもと、分割の動機・進め方・落とし穴を体系立てる。

  7. なぜ先に読むのか: モノリスを分割すべきかの判断ができたら、実際に分割した先で必要になる実装パターンの引き出しを揃える。Microservices Patterns はサービス分割・データ管理・通信・デプロイの定石をカタログ化し、「どう分けるか」から「どう作るか」へ橋渡しする。

  8. なぜ先に読むのか: 分散システムを実装する力がついたら、それが「壊れたときにどう振る舞うか」を設計する視点が不可欠になる。Release It! はサーキットブレーカーやバルクヘッドといった安定性パターンを与え、障害が連鎖しないシステムを設計させる。