iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Software Development

30 天 Python 專案工坊:環境、結構、測試到部署全打通 系列

30 天不談語法、專講工程化:Hatch 環境、pyproject 依賴、測試與型別、FastAPI 六邊形設計、Docker+CI/CD、監控追蹤。結尾交付可 fork 的模板與 Checklist。

參賽天數 29 天 | 共 29 篇文章 | 3 人訂閱 訂閱系列文 RSS系列文 團隊Cyber Edge Runners
DAY 11

Day 11 - 測試策略藍圖:pytest 目錄結構、fixtures 與 coverage

在前十天,我們已經完成了從環境、設定、專案結構、依賴管理、一鍵化工作流、程式風格到型別與資料契約的基礎建設。 專案終於能「穩定地跑」,但還缺一塊關鍵拼圖:自動化...

2025-09-25 ‧ 由 shothead6062 分享
DAY 12

Day 12 -設定與祕密管理:dotenv、pydantic-settings、雲端祕密服務

在前 11 天,我們已經把專案的「基礎建設」建起來了:環境、設定檔、專案結構、依賴管理、一鍵化工作流、程式風格、型別與資料契約,再到測試藍圖。 專案已經能穩定執...

2025-09-26 ‧ 由 shothead6062 分享
DAY 13

Day 13 - 結構化日誌:logging/structlog 與 JSON Log

在前 12 天,我們已經建立了環境、依賴、目錄結構、測試、設定與秘密管理的基礎。專案「能跑、能測、能設定」。 但還缺一個關鍵拼圖:日誌(Logging)。 日誌...

2025-09-27 ‧ 由 shothead6062 分享
DAY 14

Day 14 - 失敗即常態:例外分層、重試與降級(tenacity)

在前 13 天,我們已經讓專案具備了環境一致性、型別契約、測試藍圖,以及結構化日誌。 專案「能跑、能測、能記錄」。 但現實世界告訴我們一件事:再完美的程式,也不...

2025-09-28 ‧ 由 shothead6062 分享
DAY 15

Day 15 -序列化與設定格式:orjson、YAML、TOML 實務

在前 14 天,我們談過環境、依賴、測試、日誌、例外處理。專案已經能「穩定跑、能被監控、遇到錯誤還能撐下去」。但還有一個日常一定會碰到的基礎能力還沒說清楚:資料...

2025-09-29 ‧ 由 shothead6062 分享
DAY 16

Day 16 -非同步基礎:asyncio / anyio 的落地心法

在前 15 天,我們已經打好了「能跑、能測、能控管」的工程基礎:環境一致性、依賴管理、測試藍圖、日誌、錯誤處理、序列化格式…專案算是能穩穩上線了。 但實務開發裡...

2025-09-30 ‧ 由 shothead6062 分享
DAY 17

Day 17 -效能觀測:cProfile、py-spy、line-profiler

在前一天(Day 16),我們討論了非同步與 I/O 模型。你可能已經感受到,程式效能問題很少是「神祕的黑盒子」,而是 CPU 與 I/O 的拉扯。接下來,我們...

2025-10-01 ‧ 由 shothead6062 分享
DAY 18

Day 18 -快取策略:lru_cache、Redis 與失效設計

延續前一篇的效能觀測(cProfile / py-spy / line-profiler),我們今天把「量測之後的行動」落到快取層,讓系統用更少的資源交付更快...

2025-10-02 ‧ 由 shothead6062 分享
DAY 19

Day 19 -資料層工程化:SQLAlchemy 2.x 與 Repository Pattern

在前 18 天,我們把環境、專案結構、型別與資料契約、測試藍圖、結構化日誌、錯誤處理與快取都建好了。今天把資料層補齊:用 SQLAlchemy 2.x 的現代...

2025-10-03 ‧ 由 shothead6062 分享
DAY 20

Day 20 -API 層:用 FastAPI 落實 Ports/Adapters(六邊形味道)

在路線圖裡,這一天就是把資料層與應用服務層接到 Web 端入口(Adapter)上,完整走完「入站介面 → 應用服務 → 資料層」的閉環。路線圖早就把這天寫死了...

2025-10-04 ‧ 由 shothead6062 分享