後端系列 Roadmap

計畫文件,不會被 Quartz 渲染(無 frontmatter)。每個 chapter 有自己的詳細 ROADMAP。 公開頁 → backend/index.md


編排原則

1. 五段式結構(每章節)+ 可選 📎 補充

  • 🌱 基本介紹 — What
  • 為什麼需要 — Why(不用的話會痛在哪)
  • 🕰️ 演進 — How we got here
  • 🧠 知識型 — How it works(深入概念)
  • 🔧 小實作注意事項 — gotcha、實戰 tips
  • 💣 Anti-pattern — 地雷合輯
  • 🧰 對應檢查工具 — lint / bench / audit
  • 📎 補充(可選)— niche 主題

2. Why-first 原則(每篇文章都要)

開頭段或前 1/3 段必須說明:不用這個會痛在哪。詳見 CLAUDE.md

3. 推進順序

基礎層(B01–B04)
  B01 跨語言共通概念 → B02 網路協議 → B03 資料持久化 → B04 OS 基礎

抽象層(B05–B07)
  B05 跨語言 CRUD 比較(+ backend/language/{name}/ 觸發)
  B06 Framework 生態比較(+ backend/framework/{name}/ 觸發)
  B07 後端專案共用規範(proto shared 整套教材)

架構層(B08–B09)
  B08 架構決策 → B09 API 設計

應用層(B10–B14)
  B10 認證授權 → B11 驗證序列化 → B12 Queue → B13 Cache → B14 儲存

品質跨切面(B15–B19)
  B15 測試 → B16 資安 → B17 觀測 → B18 部署 → B19 壓測效能

AI 輔助與 LLM Backend(B20)
  B20 AI 輔助後端開發 + LLM Backend(跟 frontend CH17 對稱)

實作練習(walkthroughs/)
  W04 無 framework 後端 → W05 後端 Level 1–5

4. 狀態標記

  • 🌱 seed — 待寫
  • 🌿 growing — 已寫
  • 🌳 mature — 完整(有出處、校對、交叉連結)
  • ⛔️ 在其他 series 已寫

章節明細

CH章節詳細計畫現有 🌿估計 🌱
B01跨語言共通概念backend/concepts/ROADMAP.md0~25
B02網路與協議backend/network/ROADMAP.md2~36
B03資料持久化backend/database/ROADMAP.md6~56(+F03-J 微服務 DB 策略 7 題)
B04作業系統基礎backend/os/ROADMAP.md1~28
B05跨語言 CRUD 比較backend/language/ROADMAP.md5~19(+7 觸發系列)
B06Framework 生態比較backend/framework/ROADMAP.md5~28(+10 觸發系列)
B07後端專案共用規範backend/conventions/ROADMAP.md0~49(+Log 四層 + Base Controller)
B08後端架構決策backend/architecture/ROADMAP.md2~52(+F08-F Monolith→MS 準備 15 + F08-G Patterns 3 + F08-H Multi-region 3)
B09API 設計backend/api-design/ROADMAP.md3~53(+F09-I 文件化 Governance 10 + Billing/Payment 2)
B10認證與授權backend/auth/ROADMAP.md3~35(+F10-E 微服務認證 5)
B11資料驗證與序列化backend/validation/ROADMAP.md0~22
B12背景任務與 Queuebackend/queue/ROADMAP.md2~37(+Email/Push/Notification/i18n infra 4)
B13快取策略backend/cache/ROADMAP.md3~28
B14檔案與儲存backend/storage/ROADMAP.md1~29(+F14-E 微服務 Storage 6)
B15測試(後端視角)backend/testing/ROADMAP.md2~32(+F15-F 後端 TDD 實戰 5)
B16資安(後端視角)backend/security/ROADMAP.md2~44(+F16-F 合規 + DDoS 5)
B17觀測性backend/observability/ROADMAP.md4~33
B18部署與 DXbackend/deployment/ROADMAP.md6~39
B19壓測與效能backend/stress-testing/ROADMAP.md5~42
B20AI 輔助後端 + LLM Backendbackend/ai/ROADMAP.md0~42
WalkW04 無 framework / W05 Level 1–5walkthroughs/ROADMAP.md0~30
合計20 章 + W04/W05~52~757+(不含語言/framework 觸發系列 ~225 額外)

語言觸發清單(backend/language/{name}/

配 B05 章節「跨語言 CRUD 比較」:章節本身是跨語言並列,各語言深入放這裡觸發。

優先度語言既有素材預計子題備註
🔴JS / TypeScriptbackend/express/(5 篇)、micro-service/11-nodejs-crud~15Event Loop / Stream / Worker / Typing / monorepo
🔴Pythonmicro-service/12-python-crud、proto 整套~15GIL / asyncio / typing / __slots__ / packaging
🔴PHPmicro-service/14-laravel-crud~10FPM / PSR / Composer / Blade / Queue
🟡Java(跨層級完整)micro-service/13-jvm-clr-crud~20JMM / GC / JIT / classloader / concurrency / Spring / Kotlin coroutine
🟡Gomicro-service/10-go-crud~12Goroutine / Channel / Context / GC / stdlib
🟡C# / .NETmicro-service/13-jvm-clr-crud(CLR 部分)、proto dotnet~12CLR / GC / async-await / LINQ / Kestrel
🟢Rust~15Ownership / Borrow / Lifetime / async / tokio

觸發規則:目錄不預先建,寫到 5+ 篇時才 mkdir。ROADMAP 有列就算數。


Framework 觸發清單(backend/framework/{name}/

配 B06 章節「Framework 生態比較」:章節本身是選型比較,各 framework 深入放這裡觸發。

優先度Framework生態既有素材預計子題
🔴FastAPIPythonproto 主力(完整實作)~15
🔴ExpressNode.js5 篇 🌿(init / ESLint / Jest / Base Controller / Generic Log)~15
🟡NestJSNode.js~12
🟡FastifyNode.js~10
🟡DjangoPython~15
🟡Spring BootJavaproto springboot skeleton~15
🟡LaravelPHPmicro-service/14-laravel-crud~12
🟡GinGo~10
🟡ASP.NET CoreC#proto dotnet~12
🟢Axum / ActixRust~10

進度追蹤

Milestone 流程

  • M1–M4:基礎層(B01–B04)
  • M5–M7:抽象層(B05–B07,含 B07 共用規範)
  • M8–M9:架構層(B08–B09)
  • M10–M14:應用層(B10–B14)
  • M15–M19:品質層(B15–B19)
  • M20:AI / LLM Backend(B20)
  • W04 / W05 併入對應 milestone

每章完成定義

  • 基本介紹、演進、知識型、小實作四段都有文章 🌿
  • Anti-pattern 與檢查工具段都有列出
  • 跨系列引用齊全
  • 架構師已檢查過漏項

附錄 A:後端 → 其他系列 Cross-Reference 盤點

整理後端 ROADMAP 所有 ⛔️ 跨系列引用,給未來整理通用系列時對齊。 通用系列尚未建立 ROADMAP.md(最後一輪才整理)。

A-1 micro-service/(實戰素材庫,68 篇)

分類文章
壓測平台01–05(why / architecture / controlled vars / k6 / Grafana)
bcrypt 系列06–08(bottleneck / implementations / vs argon2)
跨語言 CRUD09–14(overview + Go/Node/Python/JVM+CLR/PHP)
前端相關15–16(Lighthouse / render strategy)
DB 深入17–19、31–32、56–57、59–61(PG vs MySQL / bulk / pool / deep dive / migration / search / race / lock / read-write split)
Storage20(Redis / ES)
Infra 容量21–24(free lunch / scaling / cross-layer / mixed overview)
上傳 / 即時25–26、58(file upload / websocket-sse / communication protocols)
Queue / Cache27、33–34(cold start / correct usage / antipatterns)
微服務拆分28、39–40(monolith → micro / when to split / split patterns)
Anti-pattern / 回顧29–30(real-world / lessons learned)
Event-driven35–36(basics / pitfalls)
Framework 選型37–38(methodology / cases)
Docker / K8s41–42(Docker Compose vs K8s / production)
Observability 實戰43–45(tracing / logging / dashboard)
Data 一致性46–47(Saga / eventual consistency)
CI/CD / Deploy48–49(microservice CI/CD / zero-downtime)
微服務資安50–51(microservice security / API gateway security)
DX52–53(local development / debugging)
成本54–55、62(cost calc / optimization / optimization roadmap)
Conclusion63–68(f2e / b2e / db / storage / infra / fullstack-selection)

後端 ROADMAP 會大量 ⛔️ 引用這些,整理通用系列時記得:這些素材可能需要分散到對應主題的通用系列(例如 DB 系列、Queue 系列、壓測系列各自吸收)。

A-2 infra/(基礎建設素材庫,30+ 篇)

  • B02 網路:01-network-dns、02-reverse-proxy-tls
  • B18 部署:03-container-runtime、07-container-registry、05-infra-core-cicd、08-gitlab-cicd-templates、25-environment-separation
  • B17 觀測:15-metrics-monitoring、16-log-management、17-alerts-chatops、18-alert-webhook-integration、19-multi-node-monitoring
  • B14 儲存:10-storage-management、28-backup-disaster-recovery
  • B03 DB:11-database-postgresql、13-postgresql-advanced、14-elasticsearch-deep-dive
  • B16 資安:04-identity-access、09-secrets-config、26-security-scanning、27-secrets-certificate-management、30-application-security
  • B12 Queue:22-event-driven-queue
  • B09 API:21-api-gateway、23-websocket、24-serverless

A-3 k8s/database/cloud/system-design/

  • k8s/index → B18 部署
  • database/index → B03 資料持久化
  • cloud/02-serverless-vs-server → B08 架構決策
  • system-design/03-api-designsystem-design/05-proto-planning → B09 API 設計

A-4 fundamentals/(跨領域基礎)

引用位置
fundamentals/restful-apiB09 #01 REST 基礎
fundamentals/swaggerB09 #07 OpenAPI
fundamentals/oauth-guideB10 #02 OAuth
fundamentals/websocketB02 #05 / B09 WebSocket
fundamentals/containerizationB04 / B18 容器化

A-5 process/ / standards/ / testing/ / security/ / career/

通用系列後端引用點
process/01-environment-planningB18 環境管理
process/02-testing-strategyB15 測試
process/08-release-methodologyB18 發布策略
process/14-tdd-bdd-sddB15 測試
standards/02-good-backend-frameworkB06 Framework
standards/03-good-api-designB09 API
standards/04-good-database-designB03 DB
standards/06-good-cicd-pipelineB18 CI/CD
standards/07-good-monitoring-systemB17 觀測
testing/05-api-contract-testingB15 合約測試
security/03-web-securityB16 OWASP
career/02-good-backend-engineer後端起點

A-6 architecture-patterns/

所有 A01–A13 都跟後端相關(Layered / Clean / DDD / CQRS / Event Sourcing / Microservices 等),B08 架構決策 pointer 過去。


附錄 B:未解決 / 待後續處理

  • 通用系列 ROADMAP:最後一輪重整時建立(testing / security / career / process / standards / fundamentals)
  • micro-service/ 篇章重新歸類:多篇實戰文可能要搬(例如 33-cache-correct-usage 搬到 cache/?)→ 通用系列整理輪次再決定,現在只引用
  • proto dotnet 實作盤點:等進入 C#.NET 觸發時再看
  • 語言 / Framework 觸發目錄:寫到 5+ 篇才建

跨系列連結