参考文献

各章に分散していた参考文献・参考資料・リンク集をこのファイルへ集約しています。

コンピュータサイエンス基礎

参考リンク集(拡張版)

使い分けメモ
参考資料は、まず `公開資料` で定義や正確な挙動を確認し、次に `講義・教科書` で体系的に学び、最後に `日本語資料` や補助教材で理解を補うのがおすすめです。

公開資料

情報表現・文字コード

OS・プロセス・メモリ

ネットワーク

データベース

並行性・分散

サイバーセキュリティ

講義・教科書

全体像・アルゴリズム

OS・アーキテクチャ・性能

データベース・分散

日本語資料・補助教材

  • IPA 情報処理推進機構 — 基本情報技術者・応用情報技術者試験
  • QiitaZenn
  • 『アルゴリズム図鑑』石田保輝
  • 『達人に学ぶ SQL 徹底指南書』ミック
  • 『マスタリング TCP/IP』竹下隆史ら
  • 『Go ならわかるシステムプログラミング』渋川よしき

計算理論

情報の表現

参考文献

公開資料

解説・補助資料

アルゴリズムとデータ構造

参考文献

アルゴリズム総覧側の参考資料

総合的なアルゴリズム教材

探索・ソート

グラフアルゴリズム

動的計画法・貪欲法・分割統治

文字列アルゴリズム

データ構造と一緒に読む資料

補助的に便利な資料

参考文献の使い分け

  • 体系的に学ぶ: Jeff Erickson, MIT OCW
  • 個別アルゴリズムをすぐ引く: cp-algorithms
  • 動きを直感で掴む: VisuAlgo
  • 実装と理論の橋渡し: Princeton Algorithms

アルゴリズムとデータ構造側の参考資料

講義・教科書

実装・演習寄り資料

形式言語とオートマトン

参考文献

  • Michael Sipser, Introduction to the Theory of Computation
  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction to Automata Theory, Languages, and Computation
  • Aho, Lam, Sethi, Ullman, Compilers: Principles, Techniques, and Tools

計算可能性と計算量

参考文献

  • Michael Sipser, Introduction to the Theory of Computation
  • Sanjeev Arora and Boaz Barak, Computational Complexity: A Modern Approach
  • Christos Papadimitriou, Computational Complexity

プログラミング言語

参考文献

  • Benjamin C. Pierce, Types and Programming Languages
  • Robert Harper, Practical Foundations for Programming Languages
  • Michael L. Scott, Programming Language Pragmatics
  • Rust Reference
  • Java Language Specification
  • Haskell 2010 Language Report

コンパイラ

参考文献

まず読む本

  • Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Compilers: Principles, Techniques, and Tools
  • Keith Cooper, Linda Torczon, Engineering a Compiler
  • Torben Ægidius Mogensen, Introduction to Compiler Design

仕様・実装寄り

読み進め方

  • 最初の1冊なら Crafting Interpreters
  • 体系的に理解するなら Engineering a Compiler
  • 古典的な網羅性なら Dragon Book
  • 実装に寄せるなら rustc-dev-guideLLVM Documentation

章ごとの主要出典マップ

主な戻り先
字句解析・構文解析 Dragon Book, Mogensen, Crafting Interpreters
AST・意味解析 Dragon Book, rustc-dev-guide
IR・最適化 Engineering a Compiler, LLVM docs
コード生成・ABI Engineering a Compiler, System V ABI, LLVM docs
JITVM Crafting Interpreters, HotSpot / V8 design docs

アセンブラ

参考文献

  • Intel 64 and IA-32 Architectures Software Developer Manuals
  • Arm Architecture Reference Manual for A-profile
  • Agner Fog, Optimizing subroutines in assembly language
  • Randall Hyde, The Art of Assembly Language

CPU

参考文献

公開資料

教科書・講義

性能・実装寄り資料

メモリ

参考文献

公開資料

教科書・解説

OS

参考資料

古典教科書・オンライン公開教科書

  1. Operating Systems: Three Easy Pieces (OSTEP) — Remzi & Andrea Arpaci-Dusseau

  2. Modern Operating Systems (4th Edition) — Andrew S. Tanenbaum, Herbert Bos

  3. Operating System Concepts (10th Edition) — Silberschatz, Galvin, Gagne

  4. Computer Systems: A Programmer’s Perspective (CSAPP, 3rd Ed.) — Bryant & O’Hallaron

  5. Operating Systems: Design and Implementation (3rd Ed.) — Tanenbaum & Woodhull

    • MINIX 3 のソースコード付きで「実装を読む」教科書
  6. The Design and Implementation of the FreeBSD Operating System (2nd Ed.) — McKusick et al.

    • BSD 系列 OS の決定版
  7. Understanding the Linux Kernel (3rd Ed.) — Bovet & Cesati

    • Linux 2.6 詳細、古いが今も有用
  8. Linux Kernel Development (3rd Ed.) — Robert Love

  9. Windows Internals (8th Ed.) — Mark Russinovich, David Solomon, Alex Ionescu

  10. Mac OS X Internals: A Systems Approach — Amit Singh

    • XNU と Darwin の詳細、やや古いが基礎は有効
  11. Writing an OS in Rust — Philipp Oppermann

  12. Operating Systems: From 0 to 1 — Tu, Do Hoang

    • 低レベルから OS を構築する実践的書

Linux カーネル公式・コミュニティ

  1. The Linux Kernel Archives

  2. The Linux Kernel Documentation

  3. Memory Management — Kernel Documentation

  4. CFS Scheduler

  5. LWN.net

    • https://lwn.net/
    • 最も深い Linux カーネル技術記事。有料だが古い記事は無料
  6. Linux Kernel Newbies

  7. Linux Insides(Rus)

  8. Linux Weekly News — Kernel Index

Windows 公式・実装

  1. Microsoft Learn — Windows Kernel-Mode Driver Architecture

  2. Sysinternals Suite

  3. Windows Internals Official Reference

  4. WSL Documentation

Apple / macOS / XNU

  1. Kernel Programming Guide (Apple, Archive)

  2. Apple Platform Security Guide

  3. XNU Source Code (Apple OSS Distributions)

  4. Darwin Source Browser

  5. The Mach Kernel — Tech Overview

プロセス・スレッド・並行性

  1. POSIX Threads Programming (LLNL)

  2. pthreads(7) — Linux man pages

  3. POSIX.1-2024 Standard

  4. Foundations of the C++ Concurrency Memory Model — Boehm & Adve

  5. C++11 Language Extensions — Concurrency (ISO)

  6. The Art of Multiprocessor Programming — Herlihy & Shavit

  7. Little Book of Semaphores — Allen Downey

メモリ管理・MMU・CPU

  1. Intel® 64 and IA-32 Architectures Software Developer’s Manual

  2. ARM Architecture Reference Manual — ARMv8-A

  3. RISC-V Privileged ISA

  4. What Every Programmer Should Know About Memory — Ulrich Drepper

  5. Virtual Memory in Operating System — GeeksforGeeks

ファイルシステム・ストレージ

  1. Understanding Linux Filesystems: Inodes, Block Sizes — Linux Journal

  2. ext4 Documentation (kernel.org)

  3. XFS Documentation

  4. Btrfs Documentation

  5. OpenZFS Documentation

  6. Apple File System (APFS) Reference

  7. NTFS Overview — Microsoft Learn

サイバーセキュリティ

  1. SELinux Project Wiki

  2. AppArmor Official

  3. Seccomp BPFkernel.org

  4. capabilities(7) — man7

  5. Kernel Self-Protection Project (KSPP)

  6. Apple Platform Security (PDF)

仮想化・コンテナ

  1. KVM Documentation

  2. QEMU Documentation

  3. Xen Project Documentation

  4. Open Container Initiative (OCI)

  5. OCI Runtime Specification

  6. Kubernetes Documentation

  7. Firecracker (AWS)

  8. Cilium & eBPF

スケジューリング・性能

  1. CFS: Completely Fair Scheduler — Opensource.com

  2. Inside the Linux 2.6 Completely Fair Scheduler — IBM Developer

  3. Brendan Gregg’s Blog

  4. Linux Performance (Brendan Gregg)

  5. Systems Performance (Brendan Gregg)

    • 書籍、システム性能工学の集大成

ネットワーキング

  1. RFC 9293 — Transmission Control Protocol

  2. RFC 9000 — QUIC

  3. io_uring Whitepaper — Jens Axboe

  4. io_uring(7) — man pages

  5. eBPF.io

  6. Linux Kernel Networking — Rami Rosen

    • カーネル ネットワークスタックの実装書籍

ブート・初期化

  1. UEFI Specifications

  2. GNU GRUB Manual

  3. systemd Documentation

  4. launchd.info

モバイルOS

  1. Android Open Source Project (AOSP)

  2. AOSP — Kernel Overview

  3. Android Runtime (ART)

  4. iOS Security Guide

  5. HarmonyOS Developer Documentation

RTOS・組み込み

  1. FreeRTOS Documentation

  2. Zephyr Project Documentation

  3. QNX Neutrino RTOS Documentation

  4. Yocto Project

  5. PREEMPT_RT Wiki

OS の歴史

  1. A Quarter Century of Unix — Peter H. Salus

    • Unix 歴史の決定版
  2. The Unix Heritage Society

  3. History of Unix — Bell Labs

  4. Multics History

  5. Computer History Museum — Software

日本語資料

  1. 「30日でできる!OS自作入門」 — 川合秀実

    • 日本語で OS を自作する最良の入門書
  2. 「作って理解するOS」 — 林高勲

    • モダンな自作 OS 本
  3. 「詳解 Linux カーネル 第3版」 — Daniel P. Bovet, Marco Cesati 著、高橋浩和ほか訳

    • 日本語訳で深い Linux カーネル学習
  4. 「Linuxカーネル Hacks」 — 池田 宗広ほか

    • 実践 Linux カーネル改造
  5. 「Goならわかるシステムプログラミング」 — 渋川よしき

    • 現代的な視点からのシステムプログラミング
  6. 「詳解 Linux カーネル」Oracle Linux 資料

その他有用なリソース

  1. Kernel.org — Active Kernel Releases

  2. The Linux Foundation — Training - https://training.linuxfoundation.org/

  3. OSDev.org Wiki - https://wiki.osdev.org/ - 自作OSコミュニティのWiki、実装詳細の宝庫

  4. MIT 6.828 Operating System Engineering - https://pdos.csail.mit.edu/6.828/ - xv6(UNIX v6 の再実装)を題材にした MIT の OS 講義

  5. Stanford CS140 Operating Systems - https://cs140.stanford.edu/

  6. UC Berkeley CS162 - https://cs162.org/

  7. Ask HN / Reddit r/osdev, r/kernel - コミュニティ Q&A

  8. The morning paper (Adrian Colyer, now OK Colyer) - 重要論文の毎日解説、OS/分散系多数

  9. USENIX Conference Proceedings - https://www.usenix.org/ - OSDI, ATC, NSDI 等の OS 系トップカンファレンス

  10. ACM SIGOPS / SOSP - https://www.sigops.org/

Windows vs macOS vs Linux の比較記事

  1. Educative — Differences between Windows, macOS, and Linux - https://www.educative.io/answers/differences-between-windows-macos-and-linux-operating-systems

  2. GeeksforGeeks — Operating Systems Tutorial - https://www.geeksforgeeks.org/operating-systems/

  3. TutorialsPoint — Operating System Architecture - https://www.tutorialspoint.com/operating_system/os_architecture.htm

  4. FreeCodeCamp — Introduction to Operating Systems - https://www.freecodecamp.org/news/an-introduction-to-operating-systems/

  5. Scaler Topics — OS Architectures - https://www.scaler.com/topics/architectures-of-operating-system/

  6. Wikipedia — Operating System - https://en.wikipedia.org/wiki/Operating_system


## 参考資料(追加分・2025-2026 最新)

Linux 6.x 最新リリース関連

  1. Linux 6.6 Release Notes — KernelNewbies
    https://kernelnewbies.org/Linux_6.6 — EEVDF 完全解説

  2. Linux 6.12 Release — KernelNewbies (PREEMPT_RT完全統合)
    https://kernelnewbies.org/Linux_6.12

  3. Phoronix — Linux Kernel Highlights For 2025
    https://www.phoronix.com/news/Linux-Kernel-Highlights-2025

  4. EEVDF Scheduler Documentation
    https://docs.kernel.org/scheduler/sched-eevdf.html

io_uring

  1. Efficient IO with io_uring — Jens Axboe
    https://kernel.dk/io_uring.pdf

  2. Kernel Recipes 2024: Efficient zero-copy networking using io_uring
    https://kernel-recipes.org/en/2024/schedule/efficient-zero-copy-networking-using-io_uring/

  3. io_uring for High-Performance DBMSs (arXiv 2024)
    https://arxiv.org/html/2512.04859v1

  4. liburing examples (GitHub)
    https://github.com/axboe/liburing

Rust for Linux

  1. Rust for Linux 公式
    https://rust-for-linux.com/

  2. Apple AGX GPU driver — Asahi Linux Rust
    https://rust-for-linux.com/apple-agx-gpu-driver

  3. Asahi Linux 開発者離職報道 — The Register
    https://www.theregister.com/2025/03/20/asahi-linux-asahi-lina/

  4. LWN.net — Rust in Linux シリーズ
    https://lwn.net/Articles/908347/

eBPF / BPF

  1. eBPF.io — Applications landscape
    https://ebpf.io/applications/

  2. Tetragon — Runtime Security Observability
    https://tetragon.io/

  3. sched_ext documentation
    https://docs.kernel.org/scheduler/sched-ext.html

  4. Linux Observability with BPF — Book (David Calavera)
    O’Reilly, 2019

  5. BPF Performance Tools — Brendan Gregg (Book + Site)
    https://www.brendangregg.com/bpf-performance-tools-book.html

Confidential Computing

  1. Confidential VMs Explained (ACM SIGMETRICS 2025)
    https://dse.in.tum.de/wp-content/uploads/2024/11/sigmetrics25summer-CVM-Explained.pdf

  2. Google Cloud Confidential Computing Updates
    https://cloud.google.com/blog/products/identity-security/new-confidential-computing-updates-for-more-hardware-security-options

  3. Intel TDX White Papers
    https://www.intel.com/content/www/us/en/developer/tools/trust-domain-extensions/overview.html

  4. AMD SEV-SNP Technical Documentation
    https://www.amd.com/system/files/TechDocs/SEV-SNP-strengthening-vm-isolation-with-integrity-protection-and-more.pdf

  5. ARM CCA Architecture Reference Manual
    https://developer.arm.com/documentation/den0126/latest

  6. IETF RATS (Remote Attestation Architecture)
    https://datatracker.ietf.org/wg/rats/documents/

WebAssembly / WASI

  1. WASI Preview 2 リリース — Bytecode Alliance
    https://bytecodealliance.org/articles/WASI-0.2

  2. Component Model Documentation
    https://component-model.bytecodealliance.org/

  3. wasmtime Documentation
    https://docs.wasmtime.dev/

  4. WasmEdge — eBPF Runtime for Edge Computing
    https://wasmedge.org/

  5. containerd WASM シム (runwasi)
    https://github.com/containerd/runwasi

形式検証

  1. seL4 公式
    https://sel4.systems/

  2. Comprehensive Formal Verification of seL4 (SOSP 2009)
    https://sel4.systems/Research/pdfs/comprehensive-formal-verification-os-microkernel.pdf

  3. CompCert 公式
    https://compcert.org/

  4. Isabelle Proof Assistant
    https://isabelle.in.tum.de/

  5. Lean 4 Documentation
    https://lean-lang.org/

  6. TLA+ Site (Lamport)
    https://lamport.azurewebsites.net/tla/tla.html

プラットフォーム最新情報

  1. Apple Intelligence — Machine Learning Research
    https://machinelearning.apple.com/research/introducing-apple-foundation-models

  2. Private Cloud Compute Security Research — Apple
    https://security.apple.com/blog/pcc-security-research/

  3. Windows 11 24H2 — Microsoft Learn
    https://learn.microsoft.com/en-us/windows/release-health/status-windows-11-24h2

  4. Recall Privacy and Control — Microsoft Support
    https://support.microsoft.com/en-us/windows/privacy-and-control-over-your-recall-experience-d404f672-7647-41e5-886c-a3c59680af15

  5. Android 15 新機能 — Google Blog
    https://blog.google/products/android/android-15-google-io-2024/

  6. Android Theft Protection
    https://blog.google/products/android/android-theft-protection/

CXL / メモリ技術

  1. Linux CXL Documentation
    https://docs.kernel.org/driver-api/cxl/index.html

  2. CXL Consortium — Specifications
    https://www.computeexpresslink.org/specifications

  3. DAMON — Data Access Monitor
    https://sjp38.github.io/post/damon/

  4. Linux Kernel 6.11 DAMON Self-Tuning — Phoronix
    https://www.phoronix.com/news/DAMON-Self-Tuned-Memory-Tiering

BBRv3 / QUIC

  1. BBR v3 Algorithm Draft — IETF
    https://datatracker.ietf.org/doc/draft-ietf-ccwg-bbr/

  2. BBRv3 Introduction — IETF 117
    https://www.ietf.org/proceedings/117/slides/slides-117-ccwg-bbrv3-algorithm-bug-fixes-and-public-internet-deployment-00

Chaos Engineering

  1. Chaos Mesh — Kubernetes Chaos Engineering
    https://chaos-mesh.org/

  2. Principles of Chaos Engineering
    https://principlesofchaos.org/

  3. Linux Fault Injection Framework
    https://docs.kernel.org/fault-injection/fault-injection.html

cgroup v2 / namespaces

  1. Control Group v2 Documentation
    https://docs.kernel.org/admin-guide/cgroup-v2.html

  2. namespaces(7) — Linux manual page
    https://man7.org/linux/man-pages/man7/namespaces.7.html

  3. rootless containers — rootlesscontaine.rs
    https://rootlesscontaine.rs/

章ごとの主要出典マップ

章・論点 主に戻る資料
プロセス / スレッド / スケジューリング OSTEP, CSAPP, docs.kernel.org scheduler, Windows Internals
メモリ管理 OSTEP, docs.kernel.org mm, Intel/AMD manuals
ファイルシステム / I/O FreeBSD book, docs.kernel.org, LWN
ネットワークスタック RFC 群, eBPF.io, Linux networking 資料
セキュリティ / 保護 Apple Security Guide, AOSP, NIST, kernel docs
仮想化 / コンテナ KVM docs, OCI, cgroup v2 docs, namespaces(7)
ブート / 初期化 UEFI spec, GRUB manual, systemd docs
最新補講 kernel.org releases, Rust for Linux, io_uring, CXL, WASI, Confidential Computing

ネットワーク

参考文献

資料の見分け方
厳密な挙動は `RFC`、実装や学習は `書籍・教材`、日常的な確認は `オンライン資料` と `ツール` を使い分けると混線しにくいです。

RFC(標準文書)

書籍・教材

オンライン資料

ツール・リソース

  • tcpdump, Wireshark(パケットキャプチャ・解析)
  • curl, HTTPie(HTTP テスト)
  • dig, nslookup(DNS 問い合わせ)
  • traceroute, mtr(経路・遅延測定)
  • iperf(スループット計測)
  • netperf(詳細ネットワーク性能測定)

章ごとの主要出典マップ

章・論点 主に戻る資料
DNS RFC 1034, Cloudflare Learning
TCP / UDP RFC 9293, RFC 768, Stanford CS144
HTTP/1.1 / 2 / 3 RFC 9110, 9112, 9113, 9114
QUIC RFC 9000, QUIC WG
TLS RFC 8446
ソケット実装 UNIX Network Programming, CS144

データベース

参考文献

公開資料

講義・教科書

並行性と分散システム

参考文献・さらに深く学ぶために

公開情報から見た分散システムの現実

分散システムの議論は、どうしても「すごい仕組み」の話に寄りがちですが、MIT 6.5840、Raft 論文、FLP、CAP の古典を読むと、中心にあるのは派手な最適化ではなく制約の受け入れです。

1. まず故障モデルを決める

同じ「落ちる」でも、

  • ノード停止
  • 遅延
  • パケット喪失
  • 重複配信
  • ネットワーク分断
  • 時計ずれ

では設計がまったく変わります。公開資料では、アルゴリズムの強さは万能性ではなく「どの故障まで面倒を見るか」で定義されます。設計時にここを曖昧にすると、テストも監視もぶれます。

2. 合意形成は「正解を素早く出す」技術ではない

Raft や Paxos は、全員が常に即座に同じ値へ収束することを保証する魔法ではありません。多数派が取れる範囲で、ログ順序と安全性を保つための仕組みです。だから、

  • リーダー選出が頻発する環境
  • ディスクやネットワークが不安定な環境
  • タイムアウト調整が雑な環境

では、理屈上正しくても実務では不安定になります。

3. exactly-once は配信だけでは成立しない

メッセージング基盤が exactly-once をうたっていても、アプリケーションの副作用まで含めて一回きりになるとは限りません。結局は、

  • 冪等な API 設計
  • 重複検知キー
  • Outbox / Inbox
  • 再試行戦略

が必要です。分散では「再送されても壊れない」設計の方が、「絶対に一回だけ」を信じるより現実的です。

4. 整合性モデルは API 契約に書くべき

線形化可能、逐次整合、因果整合、結果整合の違いは、理論だけの話ではありません。ユーザーが

  • 直前の書き込みを必ず読めると思うのか
  • 別リージョンでは遅れて見えることを許すのか
  • カウンタや在庫で重複更新をどう扱うのか

を明示しないと、障害時の「仕様かバグか」が判定できません。

5. 運用まで含めて初めて分散システム

本番で重要なのは、アルゴリズム名よりも、

  • どのメトリクスを追うか
  • どのログが残るか
  • 障害時にどこでトリアージするか
  • 手動復旧の手順があるか

です。分散システムは、理論を学んで終わりではなく、観測と復旧まで含めて成立します。


古典論文

Raft & 合意形成

並行性とロックフリー

CRDT

分散システム実装

実装参考

サイバーセキュリティ

参考文献

資料の見分け方
`NIST` と `RFC` を定義と標準、`OWASP` を実装の近道、`CISA` と `Passkeys.dev` を現在の実務運用の補助線として使うと整理しやすいです。

認証・認可

実装ガイド・暗号

Web セキュリティ実装

フレームワーク・標準

TLS・プロトコル

PKI・証明書

OAuth・OIDC・SAML

最新動向・運用

章ごとの主要出典マップ

章・論点 主に戻る資料
認証 / MFA / passkey NIST SP 800-63-4, 63B-4, Passkeys.dev
認可 OWASP Authorization Cheat Sheet
暗号ストレージ OWASP Cryptographic Storage Cheat Sheet, RFC 6234
TLS / PKI RFC 8446, RFC 5280, Let’s Encrypt docs
OAuth / OIDC / SAML RFC 9700, OIDC Core, OASIS SAML
Zero Trust NIST SP 800-207, CISA ZTMM

アプリケーションアーキテクチャ

D.4 参考リソース

参考文献

資料の見分け方
この章では、`古典的必読書` を設計原則の土台、`オンラインリソース` と `公式仕様` を現在の実装判断、`日本語資料` を補助導線として使うと読みやすいです。

古典的必読書

  1. Gang of Four, “Design Patterns”(1994)— デザインパターン原典
  2. Martin Fowler, “Patterns of Enterprise Application Architecture”(2002)
  3. Eric Evans, “Domain-Driven Design”(2003)— DDD バイブル
  4. Robert C. Martin, “Clean Architecture”(2017)
  5. Sam Newman, “Building Microservices” 2nd Ed.(2021)
  6. Martin Kleppmann, “Designing Data-Intensive Applications”(2017)— 分散システム必読
  7. Gregor Hohpe, “Enterprise Integration Patterns”(2003)
  8. Vaughn Vernon, “Implementing Domain-Driven Design”(2013)
  9. Neal Ford et al., “Fundamentals of Software Architecture”(2020)
  10. Neal Ford et al., “Software Architecture: The Hard Parts”(2021)

オンラインリソース

  1. Microsoft Cloud Design Patterns
  2. AWS Architecture Center
  3. Google Cloud Architecture Framework
  4. Martin Fowler’s Website
  5. Microservices.io(Chris Richardson)
  6. High Scalability Blog
  7. System Design Primer

DDD

  1. DDD Reference(Eric Evans)
  2. Event Storming(Alberto Brandolini)
  3. Strategic DDD Poster

イベント駆動・CQRS

  1. Event Sourcing(Martin Fowler)
  2. CQRS(Martin Fowler)
  3. EventStoreDB
  4. Apache Kafka

マイクロサービス

  1. Microservices(Martin Fowler)
  2. Monolith First
  3. The Twelve-Factor App
  4. Chris Richardson - Pattern: Microservice Architecture

API 設計

  1. OpenAPI Specification
  2. GraphQL Best Practices
  3. gRPC Documentation
  4. JSON:API
  5. REST API Tutorial

可観測性

  1. OpenTelemetry Documentation
  2. Google SRE Book — 無料
  3. Distributed Tracing in Practice(O’Reilly)

サイバーセキュリティ

  1. OWASP Top 10
  2. NIST SP 800-207 Zero Trust
  3. CISA Zero Trust Maturity Model

データ

  1. Database Internals(Alex Petrov)
  2. Designing Data-Intensive Applications(DDIA)
  3. Foundations of Data Engineering

分散システム

  1. Jepsen Analysis
  2. Raft Consensus Algorithm
  3. Paxos Made Simple(Lamport)

Kubernetes・クラウドネイティブ

  1. Kubernetes Concepts Overview
  2. CNCF Landscape
  3. Cloud Native Patterns(Cornelia Davis)

面接対策

  1. Alex Xu, “System Design Interview” Vol. 1 & 2
  2. Grokking the System Design Interview

日本語資料

  1. ドメイン駆動設計入門 成瀬 允宣
  2. マイクロサービスアーキテクチャ 第2版 Sam Newman 著、佐藤 直生 監訳
  3. Clean Architecture 達人に学ぶソフトウェアの構造と設計 Robert C. Martin 著、角 征典 / 高木 正弘 訳
  4. 実践ドメイン駆動設計 Vaughn Vernon 著
  5. データ指向アプリケーションデザイン Martin Kleppmann 著

ブログ・ポッドキャスト

  1. Martin Fowler’s Blog
  2. Thoughtworks Technology Radar
  3. InfoQ
  4. The Morning Paper (Adrian Colyer)
  5. Software Engineering Daily

章ごとの主要出典マップ

章・論点 主に戻る資料
モノリス / マイクロサービス Martin Fowler, Microservices.io, Sam Newman
DDD / 境界づけられたコンテキスト Eric Evans, Vaughn Vernon, DDD Reference
API 契約 OpenAPI, GraphQL, gRPC
イベント駆動 / CQRS Fowler, Kafka, EventStoreDB
可観測性 / 運用 OpenTelemetry, Google SRE Book
クラウド設計判断 AWS Architecture Center, Azure Patterns, Google Cloud Architecture Framework

ソフトウェア工学

参考文献

  • Ian Sommerville, Software Engineering
  • Steve McConnell, Code Complete
  • Martin Fowler, Refactoring
  • Jez Humble and David Farley, Continuous Delivery
  • Google, Site Reliability Engineering

GPU

参考文献

公開資料

実装・補助資料

章ごとの主要出典マップ

章・論点 主に戻る資料
CUDA 実行モデル CUDA Programming Guide
GPU 最適化 CUDA Best Practices Guide
AMD GPU プログラミング ROCm Programming Guide
Apple GPU / Metal Metal Resources, Compute Passes, MTLComputeCommandEncoder
Vulkan / 低レベル API Vulkan Guide, What is Vulkan, What is SPIR-V
GPU 分割 / マルチテナンシー MIG User Guide, GPU Operator docs
グラフィックスパイプライン Direct3D 12 docs, Vulkan Guide, Metal docs
LLM 推論 TensorRT docs, Triton docs, vLLM docs
GPU 最適化の進め方 CUDA Programming Guide, CUDA Best Practices Guide
API 別コードモデル CUDA Programming Guide, ROCm docs, Metal docs, Vulkan Guide

GPU プログラミングモデル実践ガイド

参考文献

公開資料

GPU 最適化実践ガイド

参考文献

公開資料

LLM 推論と GPU サービング実践ガイド

参考文献

公開資料

まとめ

この参考文献集は、各章を深掘りするときの入口です。本文で気になったテーマがあれば、ここから関連する公開資料や学習資料へ戻って理解を広げていけます。