FastAPI 資深後端工程師養成系列 - 完整目錄
從零基礎到生產級 API 開發的完整學習路徑
目錄
📚 FastAPI 資深後端工程師養成系列 - 目錄
🎯 目標讀者: 想成為資深後端工程師的開發者 ⏱️ 預估總時數: 40+ 小時 📊 難度範圍: ⭐ ~ ⭐⭐⭐⭐⭐
🗺️ 學習路線圖
基礎篇 (1-3週) 進階篇 (2-4週) 實戰篇 (2-4週)
│ │ │
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ 01 基礎 │ ────────▶ │ 05 非同步│ ────────▶ │ 09 測試 │
│ 02 驗證 │ │ 06 DI │ │ 10 部署 │
│ 03 資料庫│ │ 07 快取 │ │ 11 微服務│
│ 04 認證 │ │ 08 任務 │ │ 12 面試 │
└─────────┘ └─────────┘ └─────────┘01. FastAPI 基礎篇 🌱
從零開始,建立穩固的 FastAPI 基礎
- 01-1. FastAPI 是什麼?為什麼選擇它? ⏱️ 10min
- 01-2. 環境設定與第一個 API ⏱️ 15min
- 01-3. 路徑參數與查詢參數 ⏱️ 15min
- 01-4. 請求體與回應模型 ⏱️ 15min
- 01-5. 狀態碼與錯誤處理 ⏱️ 12min
- 01-6. 自動生成 API 文件 ⏱️ 10min
- 01-7. 專案結構最佳實踐 ⏱️ 15min
02. Pydantic 資料驗證篇 ✅
掌握 Pydantic v2,寫出型別安全的程式碼
- 02-1. Pydantic 基礎模型 ⏱️ 12min
- 02-2. 欄位驗證與約束 ⏱️ 15min
- 02-3. 自訂驗證器 ⏱️ 15min
- 02-4. 巢狀模型與繼承 ⏱️ 12min
- 02-5. 序列化與反序列化 ⏱️ 12min
- 02-6. Settings 管理與環境變數 ⏱️ 15min
- 02-7. Pydantic v1 vs v2 遷移指南 ⏱️ 10min
03. 資料庫整合篇 🗄️
SQLAlchemy 2.0 + 非同步資料庫操作
- 03-1. SQLAlchemy 2.0 新特性 ⏱️ 15min
- 03-2. 非同步引擎與 Session ⏱️ 15min
- 03-3. ORM 模型設計 ⏱️ 20min
- 03-4. 關聯關係(一對多、多對多) ⏱️ 20min
- 03-5. CRUD 操作封裝 ⏱️ 15min
- 03-6. Alembic 資料庫遷移 ⏱️ 15min
- 03-7. 查詢優化與 N+1 問題 ⏱️ 20min
- 03-8. 事務管理與併發控制 ⏱️ 18min
- 03-9. 多資料庫與讀寫分離 ⏱️ 15min
04. 認證與權限篇 🔐
從密碼雜湊到 OAuth2,建立安全的認證系統
- 04-1. 密碼安全與雜湊 ⏱️ 12min
- 04-2. JWT 原理與實作 ⏱️ 18min
- 04-3. OAuth2 密碼流程 ⏱️ 15min
- 04-4. Refresh Token 機制 ⏱️ 15min
- 04-5. 基於角色的權限控制(RBAC) ⏱️ 20min
- 04-6. API Key 認證 ⏱️ 12min
- 04-7. OAuth2 第三方登入(Google、GitHub) ⏱️ 25min
- 04-8. Token 黑名單與撤銷 ⏱️ 15min
05. 非同步程式設計篇 ⚡
深入理解 async/await,發揮 FastAPI 真正效能
- 05-1. Python 非同步基礎 ⏱️ 20min
- 05-2. asyncio 事件循環 ⏱️ 18min
- 05-3. 協程 vs 執行緒 vs 進程 ⏱️ 20min
- 05-4. 非同步 HTTP 客戶端(httpx) ⏱️ 15min
- 05-5. 並發執行與 asyncio.gather ⏱️ 15min
- 05-6. 非同步上下文管理器 ⏱️ 12min
- 05-7. 避免阻塞事件循環 ⏱️ 15min
- 05-8. 同步 vs 非同步路由選擇 ⏱️ 12min
06. 依賴注入系統篇 💉
FastAPI 最強大的特性,掌握 DI 設計模式
- 06-1. 依賴注入基礎概念 ⏱️ 15min
- 06-2. 函數依賴與類別依賴 ⏱️ 15min
- 06-3. 依賴的依賴(巢狀) ⏱️ 12min
- 06-4. 路徑操作裝飾器中的依賴 ⏱️ 12min
- 06-5. 全域依賴與路由群組依賴 ⏱️ 12min
- 06-6. 依賴覆蓋(測試利器) ⏱️ 15min
- 06-7. 資料庫 Session 依賴 ⏱️ 12min
- 06-8. 認證依賴實戰 ⏱️ 15min
07. 快取與效能優化篇 🚀
讓你的 API 快如閃電
- 07-1. HTTP 快取機制(ETag、Cache-Control) ⏱️ 15min
- 07-2. Redis 快取整合 ⏱️ 18min
- 07-3. 快取策略(Cache-Aside、Write-Through) ⏱️ 15min
- 07-4. 快取穿透、擊穿、雪崩 ⏱️ 18min
- 07-5. 請求限流(Rate Limiting) ⏱️ 15min
- 07-6. 回應壓縮(Gzip、Brotli) ⏱️ 10min
- 07-7. 連線池優化 ⏱️ 12min
- 07-8. 效能監控與分析 ⏱️ 15min
08. 背景任務與訊息佇列篇 📬
處理耗時任務,提升使用者體驗
- 08-1. FastAPI BackgroundTasks ⏱️ 12min
- 08-2. Celery 基礎架構 ⏱️ 20min
- 08-3. Celery + Redis 實戰 ⏱️ 18min
- 08-4. 任務重試與錯誤處理 ⏱️ 15min
- 08-5. 定時任務(Celery Beat) ⏱️ 15min
- 08-6. 任務鏈與工作流 ⏱️ 15min
- 08-7. ARQ:輕量級替代方案 ⏱️ 12min
- 08-8. 訊息佇列選擇(Redis vs RabbitMQ vs Kafka) ⏱️ 18min
09. 測試策略篇 🧪
寫出可靠的測試,建立信心
- 09-1. 測試金字塔與策略 ⏱️ 12min
- 09-2. pytest 基礎與進階 ⏱️ 18min
- 09-3. pytest-asyncio 非同步測試 ⏱️ 15min
- 09-4. TestClient 與 httpx ⏱️ 15min
- 09-5. 資料庫測試與 Fixtures ⏱️ 18min
- 09-6. Mocking 與 Patching ⏱️ 15min
- 09-7. 測試覆蓋率與報告 ⏱️ 10min
- 09-8. 整合測試與 E2E 測試 ⏱️ 15min
10. 部署與維運篇 🚢
從開發到生產,完整的部署流程
- 10-1. ASGI 伺服器(Uvicorn、Hypercorn) ⏱️ 15min
- 10-2. Gunicorn + Uvicorn Workers ⏱️ 15min
- 10-3. Docker 容器化 ⏱️ 20min
- 10-4. Docker Compose 多服務編排 ⏱️ 15min
- 10-5. Nginx 反向代理 ⏱️ 15min
- 10-6. HTTPS 與 SSL 憑證 ⏱️ 12min
- 10-7. 日誌管理(Loguru、結構化日誌) ⏱️ 15min
- 10-8. 健康檢查與優雅關閉 ⏱️ 12min
- 10-9. CI/CD 流程(GitHub Actions) ⏱️ 20min
- 10-10. Kubernetes 部署入門 ⏱️ 25min
11. 微服務架構篇 🏗️
邁向分散式系統,成為架構師
- 11-1. 單體 vs 微服務 ⏱️ 15min
- 11-2. API Gateway 設計 ⏱️ 18min
- 11-3. 服務間通訊(REST、gRPC) ⏱️ 20min
- 11-4. 服務發現與註冊 ⏱️ 15min
- 11-5. 分散式追蹤(OpenTelemetry) ⏱️ 18min
- 11-6. 斷路器模式(Circuit Breaker) ⏱️ 15min
- 11-7. 事件驅動架構 ⏱️ 18min
- 11-8. CQRS 與 Event Sourcing ⏱️ 20min
- 11-9. 分散式事務處理 ⏱️ 18min
12. 面試篇 🎤
準備面試,展現實力
- 12-1. FastAPI 常見面試題(基礎) ⏱️ 20min
- 12-2. FastAPI 常見面試題(進階) ⏱️ 20min
- 12-3. 系統設計面試(API 設計) ⏱️ 25min
- 12-4. 系統設計面試(高併發) ⏱️ 25min
- 12-5. 程式碼實作題 ⏱️ 20min
- 12-6. 情境題與經驗分享 ⏱️ 15min
📊 技能檢核表
初級後端工程師 (Junior)
- 建立基本 CRUD API
- 使用 Pydantic 進行資料驗證
- 連接資料庫並操作
- 實作基本認證
中級後端工程師 (Mid-level)
- 設計 RESTful API
- 理解並使用非同步程式設計
- 實作完整認證授權系統
- 撰寫單元測試與整合測試
- Docker 容器化部署
資深後端工程師 (Senior)
- 設計高效能 API 架構
- 快取策略與效能優化
- 背景任務與訊息佇列
- 微服務架構設計
- 分散式系統問題處理
- 技術決策與架構評估
🛠️ 實戰專案
在學習過程中,建議同時進行以下專案練習:
專案 1:待辦事項 API (基礎)
- CRUD 操作
- 使用者認證
- 資料庫整合
專案 2:電商 API (中級)
- 商品管理
- 購物車
- 訂單處理
- 庫存管理
專案 3:社群平台 API (進階)
- 即時通知
- 動態牆
- 追蹤系統
- 檔案上傳
專案 4:微服務架構 (資深)
- 使用者服務
- 商品服務
- 訂單服務
- API Gateway
📖 推薦資源
官方文件
書籍
- 《Building Python Web APIs with FastAPI》
- 《Python Concurrency with asyncio》
- 《Designing Data-Intensive Applications》
開源專案參考
🚀 開始學習
準備好了嗎?讓我們從第一章開始:
💡 小提示: 建議按順序學習,每完成一個章節就動手實作,這樣學習效果最好!
最後更新:2025-12-17