聯繫我們
 課程時長 28 時間:

課程簡介

Day 1 — 穩健的 Python 基礎與工具鏈

現代 Python 特性與型別系統

  • 型別基礎、泛型、Protocols 及 TypeGuard
  • 數據類(Dataclasses)、凍結數據類及 attrs 概覽
  • 模式匹配(PEP 634+)及慣用寫法

代碼品質與工具

  • 代碼格式化工具與 Linter:black, isort, flake8, ruff
  • 使用 MyPy 和 pyright 進行靜態型別檢查
  • Pre-commit hooks 及開發者工作流程

專案管理與打包

  • 使用 Poetry 和虛擬環境進行相依性管理
  • 套件佈局、進入點及版本控制最佳實務
  • 構建並發佈套件至 PyPI 及私有註冊表

Day 2 — 設計模式與架構實務

Python 中的設計模式

  • 創造型模式:工廠(Factory)、建造者(Builder)、單例(Singleton)(Pythonic 變體)
  • 結構型模式:適配器(Adapter)、外掛(Facade)、裝飾器(Decorator)、代理(Proxy)
  • 行為型模式:策略(Strategy)、觀察者(Observer)、命令(Command)

架構原則

  • 將 SOLID 原則應用於 Python 代碼庫
  • 六角架構(Hexagonal)/ 清晰架構(Clean Architecture)及邊界
  • 依賴注入模式與配置管理

模組化與重用

  • 設計函式庫與應用程式代碼
  • API、穩定介面及語意版本控制
  • 處理配置、機密資訊及環境特定設定

Day 3 — 並發、Async IO 與效能

並發與並行

  • 執行緒基礎及 GIL 的影響
  • 多程序(Multiprocessing)及用於 CPU 密集型任務的程序池
  • 何時使用 concurrent.futures 與 multiprocessing

使用 asyncio 的異步編程

  • Async/await 模式、事件循環(Event Loop)及取消機制
  • 設計異步函式庫及與同步代碼的互操作性
  • IO 密集型模式、背壓(Backpressure)及速率限制

分析與優化

  • 分析工具:cProfile, pyinstrument, perf, memory_profiler
  • 優化熱路徑,並在適當情況下使用 C 擴展/Numba
  • 測量延遲、吞吐量及資源使用率

Day 4 — 測試、CI/CD、可觀察性與部署

測試策略與自動化

  • 使用 pytest 進行單元測試及 fixtures;測試組織
  • 使用 Hypothesis 進行基於屬性的測試及合約測試
  • 模擬(Mocking)、猴子補丁(Monkeypatching)及測試異步代碼

CI/CD、發布與監控

  • 將測試與品質閘門整合至 GitHub Actions/GitLab CI
  • 使用 Docker 及多階段構建(Multi-stage builds)建置可重現容器
  • 應用程式可觀察性:結構化日誌、Prometheus 指標及追蹤(Tracing)

安全性、加固與最佳實務

  • 相依性審計、SBOM 基礎及漏洞掃描
  • 針對輸入驗證與機密資訊管理的安全編程實務
  • 運行時加固:資源限制、用戶權限及容器安全性

綜合專案與回顧

  • 團隊實驗:使用課程中的模式設計並實作一個小型服務
  • 專案的測試、型別檢查、打包及 CI 管線
  • 最終回顧、代碼批評及可執行的改進計劃

總結與下一步

最低要求

  • 具備強大的中級 Python 編程經驗
  • 熟悉物件導向編程及基礎測試
  • 具有使用命令列與 Git 的經驗

目標受眾

  • 資深 Python 開發者
  • 負責 Python 代碼品質與架構的軟體工程師
  • 處理 Python 代碼庫的技術主管及 MLOps/DevOps 工程師

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類