聯繫我們

課程簡介

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

現代 Python 功能與型別註解

  • 基本型別、泛型、Protocols 與 TypeGuard
  • 資料類別、不可變資料類別與 attrs 概覽
  • 模式匹配 (PEP 634+) 及其慣用法

程式碼品質與工具

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

專案管理與封裝

  • 使用 Poetry 與虛擬環境進行依賴套件管理
  • 封裝結構、入口點與版本管理的最佳實踐
  • 構建並發佈套件至 PyPI 及私有註冊中心

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

Python 中的設計模式

  • 創建型模式:Factory、Builder、Singleton(具 Python 特色的變體)
  • 結構型模式:Adapter、Facade、Decorator、Proxy
  • 行為型模式:Strategy、Observer、Command

架構原則

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

模組化與重用

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

第三天 — 併發、Async IO 與效能

併發與平行處理

  • 執行緒基礎與 GIL 的影響
  • 用於 CPU 密集型任務的多重處理與程序池
  • 何時使用 concurrent.futures vs multiprocessing

使用 asyncio 進行非同步程式設計

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

效能分析與最佳化

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

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

測試策略與自動化

  • 使用 pytest 進行單元測試與 fixtures;測試組織方式
  • 使用 Hypothesis 進行基於屬性的測試與合約測試
  • Mocking、monkeypatching 及非同步程式碼的測試

CI/CD、版本發布與監控

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

安全、加固與最佳實踐

  • 依賴套件稽核、SBOM 基礎與漏洞掃描
  • 用於輸入驗證與金鑰資訊管理的_secure coding_實踐
  • 運行時加固:資源限制、使用者權限與容器安全

結案專案與回顧

  • 團隊實驗室:使用課程中的模式設計並實現小型服務
  • 測試、型別檢查、封裝與專案的 CI 管道
  • 最終回顧、程式碼評審與具體改進計畫

總結與後續步驟

最低要求

  • 具紮實中階 Python 程式設計經驗
  • 熟悉物件導向程式設計與基礎測試
  • 具備命令列操作與 Git 使用經驗

受眾對象

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

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類