聯繫我們

課程簡介

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

現代 Python 功能與型別標註

  • 型別標註基礎、泛型、Protocols 及 TypeGuard
  • 資料類別 (Dataclasses)、不可變資料類別,以及 attrs 概覽
  • 模式匹配 (PEP 634+) 及其慣用法

程式碼品質與工具鏈

  • 程式碼格式化器與靜態分析工具:black、isort、flake8、ruff
  • 使用 MyPy 和 pyright 進行靜態型別檢查
  • Pre-commit hooks 與開發工作流程

專案管理與封裝

  • 使用 Poetry 與虛擬環境管理相依性
  • 套件結構、入口點與版本控制最佳實踐
  • 建置並將套件發布至 PyPI 及私有註冊中心

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

Python 中的設計模式

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

架構原則

  • SOLID 原則在 Python 程式碼庫中的應用
  • 六邊形架構/乾淨架構及其邊界
  • 依賴注入模式與配置管理

模組化與重用

  • 設計庫程式碼 versus 應用程式程式碼
  • APIs、穩定介面與語意化版本控制
  • 處理配置、密鑰及環境特定設定

第三天 — 併發、非同步 I/O 與效能

併發與平行處理

  • 執行緒基礎與 GIL(全域解釋器鎖)的影響
  • 多工處理與程序池用於 CPU 密集型任務
  • 何時使用 concurrent.futures versus multiprocessing

基於 asyncio 的非同步編程

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

效能分析與最佳化

  • 效能分析工具:cProfile、pyinstrument、perf、memory_profiler
  • 最佳化關鍵路徑,並適當地使用 C 擴展/Numba
  • 測量延遲、吞吐量及資源利用率

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

測試策略與自動化

  • 使用 pytest 進行單元測試與 fixtures;測試組織結構
  • 基於 Hypothesis 的屬性測試與合約測試
  • 模擬 (Mocking)、猴子修補 (monkeypatching) 及非同步程式碼測試

CI/CD、發布與監控

  • 將測試與品質閘道整合至 GitHub Actions/GitLab CI
  • 使用 Docker 與多階段建置來建立可重現的容器
  • 應用程式可觀測性:結構化日誌、Prometheus 指標及追蹤

安全性、加固與最佳實踐

  • 相依性審計、軟體物料清單 (SBOM) 基礎與漏洞掃描
  • 輸入驗證與密鑰管理的安全編碼實踐
  • 執行時加固:資源限制、使用者權限與容器安全

綜合專案與回顧

  • 團隊實驗室:設計並實作一個結合課程中設計模式的小型服務
  • 針對該專案執行測試、型別檢查、封裝及 CI 管線
  • 最終回顧、程式碼評論與具體改進計劃

總結與下一步

最低要求

  • 具備扎實的 Python 程式編寫經驗(初階至中階水平)
  • 熟悉物件導向編程與基礎測試
  • 有使用命令列和 Git 的經驗

受眾

  • 資深 Python 開發人員
  • 負責 Python 程式碼品質與架構的軟體工程師
  • 使用 Python 程式碼庫的技術主管及 MLOps/DevOps 工程師
 28 小時

客戶評論 (2)

課程分類