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

課程簡介

第一天 — 穩健的 Python 基礎與工具鏈

現代 Python 特性與類型提示

  • 類型提示基礎、泛型、協議(Protocols)及 TypeGuard
  • 數據類(Dataclasses)、凍結數據類(frozen dataclasses)及 attrs 概覽
  • 模式匹配(PEP 634+)及慣用法

代碼質量與工具鏈

  • 代碼格式化工具及 linter:black, isort, flake8, ruff
  • 使用 MyPy 和 pyright 進行靜態類型檢查
  • Pre-commit 掛鉤及開發者工作流

項目管理與打包

  • 使用 Poetry 及虛擬環境進行依賴項管理
  • 包佈局、入口點(entry points)及版本控制的最佳實踐
  • 構建并发布包至 PyPI 及私有註冊表

第二天 — 設計模式與架構實踐

Python 中的設計模式

  • 創建型模式:工廠模式、建造者模式、單例模式(Pythonic 變體)
  • 結構型模式:適配器模式、外觀模式、裝飾器模式、代理模式
  • 行為型模式:策略模式、觀察者模式、命令模式

架構原則

  • 將 SOLID 原則應用於 Python 代碼庫
  • 六角形/清潔架構及邊界定義
  • 依賴注入模式及配置管理

模塊化與複用

  • 庫代碼與應用代碼的設計區分
  • API、穩定接口及語義化版本控制
  • 處理配置、機密信息及環境特定設置

第三天 — 並發、異步 IO 與性能

並發與並行

  • 線程基礎及 GIL(全局解釋器鎖)的影響
  • 使用多進程及進程池處理 CPU 密集型任務
  • 何時選擇 concurrent.futures 對比 multiprocessing

使用 asyncio 進行異步編程

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

性能分析與優化

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

第四天 — 測試、CI/CD、可觀察性與部署

測試策略與自動化

  • 使用 pytest 進行單元測試及 fixture;測試組織結構
  • 使用 Hypothesis 進行基於屬性的測試及契約測試
  • Mock、monkeypatch 及異步代碼的測試

CI/CD、發布與監控

  • 將測試及質量門禁集成到 GitHub Actions/GitLab CI 中
  • 使用 Docker 及多階段構建創建可重現的容器
  • 應用可觀察性:結構化日誌、Prometheus 指標及追蹤

安全、加固與最佳實踐

  • 依賴項審計、SBOM 基礎及漏洞掃描
  • 輸入驗證及機密信息管理的安全編碼實踐
  • 運行時加固:資源限制、用戶權限及容器安全

綜合項目與回顧

  • 團隊實驗:設計並實現一個使用課程中模式的小型服務
  • 項目的測試、類型檢查、打包及 CI 管道
  • 最終回顧、代碼評審及可行的改進計劃

總結與下一步

最低要求

  • 紮實的中級 Python 編程經驗
  • 熟悉面向對象編程及基礎測試知識
  • 有使用命令行和 Git 的經驗

受眾

  • 高級 Python 開發者
  • 負責 Python 代碼質量與架構的軟件工程師
  • 處理 Python 代庫的技術負責人及 MLOps/DevOps 工程師

客戶評論 (2)

課程分類