跳到主要內容

Web Day 45 系列總結與延伸路線

Web Day 45 系列總結與延伸路線

執行需求:CPU 可跑。今天是「Web 系統實戰:用 FastAPI 打造能上線的後端」45 篇系列的最後一篇。我們從 Day 1 的 FastAPI hello world 起步,用七個主題區塊(導論、基礎、安全、品質、前端整合、上線、貫穿專案)走到 Day 44 的 runbook 與交接文件,最後用 Day 45 這篇把整個路徑索引起來,並列出三條值得繼續深入的延伸學習方向:分散式系統、可觀察性棧、與團隊工程化。整個系列用「預約管理系統」做貫穿專案,把資料模型、衝突檢查、HTMX 後台、Docker Compose 部署、Prometheus 監控、locust 壓測、runbook 交接都走過一輪。所有資料都是虛構示範,目的是讓你在沒有真實客戶資料的情況下也能練完整個流程。本文是系列的收束、不是結束,後續建議的延伸內容才是真正的下一段路。

引言

回顧整個 45 天的學習地圖,我們從 Day 1 的「為什麼需要從腳本走到系統」開始,一路建到 Day 35–44 的「預約管理系統 end-to-end 可上線」。這不是一條單一路徑,而是七個主題區塊互相交織的學習旅程:基礎(Day 3–10)讓你會寫 HTTP API;安全(Day 11–15)讓你會保護使用者資料;品質(Day 16–22)讓你會寫測試、跑背景任務、寫日誌;前端整合(Day 23–28)讓你會把 API 接到介面上;上線(Day 29–34)讓你會用 Docker 部署、寫 CI、設監控;貫穿專案(Day 35–44)則把這些全部串起來,每天解決一個現實問題。

這個系列刻意只用 2025 年 7 月之前已存在且具知名度的工具:Python 3.13、FastAPI 0.116、SQLModel 0.0.24、PostgreSQL 17、Redis 8、HTMX 2.0、Next.js 15、Streamlit 1.46、Docker Compose v2、locust 2.3。我們不教你追逐新框架,而是教你把這些穩定的主流工具用到能撐 production。這也是讀者從「會寫腳本」走到「能獨立上線後端」需要的最短路徑。

今天的內容分四段:第一段把 45 天的學習地圖索引起來;第二段列出三條延伸學習方向;第三段用一支 Python 腳本把「如何查閱這個系列」做成可重現工具;第四段回顧整個系列的核心精神。讀完這篇你會了解:這個系列給了你什麼能力、哪些方向可以繼續深入、怎麼把這套能力實際應用到自己的工作上。

寫在最後:完成 45 天並不代表你會了所有後端議題,但代表你已經有辦法獨立讀懂官方文件、寫出一個能跑能測試的服務、並把部署與監控的整套節奏跑起來。下一次你碰到沒學過的主題時,這套「從零到 production」的學習方法比任何單一框架更值得帶走;它會讓你在新的工具、新的需求、新的團隊裡都能站穩腳步。

原理解念:45 天的學習地圖

整個系列分成七個主題區塊、共 45 篇。我們把它當成一座七層樓梯,每一層都站在前一層的肩膀上,每一層都會用到前一層的能力:學了基礎才能談安全、學會寫測試才能談品質、學會整合前端才方便上線、貫穿專案把前面六層都用上一輪。這種層疊式的設計避免了「先學離散知識再整合」的茫然,讓學習者每天都有明確目標、每天都有可跑的成果。

# 對應的學習地圖(純文字示範)
LEARNING_MAP = """
第一層 導論(Day 1–2)
  └─ 系列地圖、環境、工具鏈、專案結構

第二層 基礎(Day 3–10)
  └─ HTTP、FastAPI、SQLModel、CRUD、關聯、Alembic、錯誤處理

第三層 安全(Day 11–15)
  └─ 密碼雜湊、JWT、OAuth2、檔案上傳、輸入防護

第四層 品質(Day 16–22)
  └─ pytest、非同步、背景任務、快取、排程、日誌

第五層 前端整合(Day 23–28)
  └─ HTMX、Next.js 串接、前端認證、WebSocket

第六層 上線(Day 29–34)
  └─ 環境變數、Docker、PostgreSQL、CI/CD、反向代理、監控

第七層 貫穿專案(Day 35–45)
  └─ 預約管理系統的端到端實作
"""
print(LEARNING_MAP.strip())

這七層的設計精神是「先穩後大」。前 34 天的知識點多是各自獨立的(學完一個就會用一個),第 35 天開始的貫穿專案則把所有點串起來變成「一個真實會跑的服務」。這樣的順序對學習者特別友善:前 34 天你可以「每天學一個新東西」,第 35 天開始才進到「把所有東西整合」。沒有這個順序,初學者常會在 Day 35 就被整合複雜度擊倒。

從能力矩陣看,45 天結束時你應該會的:

CAPABILITIES = """
- 寫一個乾淨的 FastAPI 0.116 服務(含依賴注入、Pydantic v2 驗證、JWT 認證)
- 用 SQLModel 0.0.24 設計資料模型、跑 Alembic 1.16 migration
- 寫 pytest 8.4 + httpx 0.28 的單元、整合、端對端測試
- 把背景任務與排程工作整合進 lifespan
- 用 HTMX 2.0 寫伺服器端渲染的後台介面
- 用 Docker Compose v2 部署整套 stack(API + PostgreSQL 17 + Caddy 2.8)
- 用 prometheus_client 暴露 metrics、用 JSON log 收集 events
- 用 locust 2.3 與純 Python 壓測找出容量邊界
- 用 pg_dump 與還原演練確保資料可救
- 用 runbook 與 README 把專案變成可被接手
"""
print(CAPABILITIES.strip())

這十項能力是「後端工程師可以獨立交付一個 production 服務」的最小集合。我們的系列不是教你某一項做到 90 分,而是教每項都做到 60–80 分、能組合起來成可上線系統。真正的高手都是在每個層面都熟悉、並能評估什麼情境要用什麼工具。十項之中,後端工程師最常忽略的是第三、四、八項(測試、整合、團隊文件),這三項看似沒有顯著的技術含量,卻是讓專案從「個人作品」升級為「團隊資產」的關鍵。

延伸學習:三條值得繼續的路

45 天結束是另一條路的起點。我們列出三條「值得繼續走」的方向,每一條都有對應的延伸資源:

ROUTES = """
(一)分散式系統與服務拆分
    情境:單一 FastAPI 服務到天花板了,該拆成多個 microservice
    學習路徑:
      - Day 43 學的 locust 不夠用 → 改用 k6 或 Gatling 模擬分散式流量
      - Day 42 學的 metrics 不夠細 → 改用 OpenTelemetry + Jaeger 做分散式追蹤
      - Day 41 學的 docker compose 不夠彈性 → 改用 Kubernetes(Helm / Kustomize)
      - Day 28 學的 WebSocket 在多節點時要 sticky session → 改用 Redis Pub/Sub
    投入時間:3-6 個月

(二)可觀察性棧(observability stack)
    情境:metrics + log 夠用,trace 還沒串起來
    學習路徑:
      - 在 Day 42 的 metrics 模組加 OpenTelemetry SDK
      - 從每個 request 帶 trace_id 開始,逐步把 metrics / log / trace 串成一條鏈
      - 用 Grafana Tempo 或 Jaeger 把 trace 視覺化
      - 把今天的 loki / Prometheus / Tempo 三件套用 docker compose 串起來
    投入時間:1-3 個月

(三)團隊工程化
    情境:一個人寫的專案變成 3-5 個人共同維護
    學習路徑:
      - Day 40 學的 pytest 不夠 → 加上 mutation testing(mutmut)、contract testing(schemathesis)
      - Day 32 學的 GitHub Actions 不夠 → 加上 dependency review、code scanning、gitleaks
      - Day 44 學的 README / runbook 不夠 → 加上 ADR(Architecture Decision Record)
      - 用 trunk-based development、feature flag 提升協作效率
    投入時間:6-12 個月(持續)
"""
print(ROUTES.strip())

這三條不是互斥的——很多專案會同時往兩三條走。例如把 stack 升級到 k8s 的同時順手引入 OpenTelemetry,或者在團隊壯大時同時發展 AD 與 CI 政策。我們的 Day 45 結束並不代表「你都會了」,而是「你可以開始選下一條路」。

每條路的投入時間與該系列預期收益都在上面 ROUTES 段落裡。讀者可以依照自己工作上的痛點來選:覺得部署卡住就走 k8s、覺得查問題很慢就走 observability、覺得團隊協作出問題就走工程化。三條路都與本系列高度接續,但深度有限,深入要各自再花幾個月。Day 45 結束並非「你會了所有」,而是「你具備挑戰下一階段的基礎」,這個觀點比「全都學完」更健康。

完整實作:學習地圖索引器

底下是一支小型 Python 腳本,把整個系列的主題、版本、文件位置索引成可重現的 Markdown:

# scripts/series_index.py
# 把整個 45 天系列的索引輸出成 Markdown,方便讀者複習
from datetime import datetime, timezone
from pathlib import Path
import textwrap


SERIES = [
    ("導論", "Web Day 1–2", "從腳本到系統的學習地圖、環境與工具鏈"),
    ("基礎", "Web Day 3–10", "HTTP、FastAPI、SQLModel、CRUD、關聯、Alembic、錯誤處理"),
    ("安全", "Web Day 11–15", "密碼雜湊、JWT、OAuth2、檔案上傳、輸入防護"),
    ("品質", "Web Day 16–22", "pytest、httpx、非同步、BackgroundTasks、快取、排程、日誌"),
    ("前端整合", "Web Day 23–28", "HTMX、Next.js 串接、前端認證、WebSocket"),
    ("上線", "Web Day 29–34", "環境變數、Docker、PostgreSQL、CI/CD、Caddy、健康檢查"),
    ("貫穿專案", "Web Day 35–45", "預約管理系統資料模型、認證、預約流程、通知、後台 HTMX、測試、Docker Compose、監控、壓測、文件"),
]


def render_markdown() -> str:
    today = datetime.now(timezone.utc).strftime("%Y-%m-%d")
    lines = [
        "# Web 系統實戰系列 — 索引(自動生成)",
        "",
        f"生成日期:{today}",
        f"總篇數:45 篇(導論 2 + 基礎 8 + 安全 5 + 品質 7 + 前端整合 6 + 上線 6 + 貫穿專案 11)",
        "",
        "## 七個主題區塊",
        "",
    ]
    for stage, days, desc in SERIES:
        lines.append(f"### {stage}({days})")
        lines.append(desc)
        lines.append("")
    lines.append("## 版本基準(2025 年 7 月)")
    lines.append("")
    lines.append("- Python 3.13、FastAPI 0.116、SQLModel 0.0.24、SQLAlchemy 2.0.41")
    lines.append("- Pydantic 2.11、Alembic 1.16、pytest 8.4、httpx 0.28、uv 0.7")
    lines.append("- HTMX 2.0、Next.js 15、Streamlit 1.46、PostgreSQL 17、Redis 8")
    lines.append("- Docker Compose v2、Caddy 2.8、Prometheus client 0.21、locust 2.3")
    lines.append("")
    return "\n".join(lines) + "\n"


if __name__ == "__main__":
    out = Path("docs/series-index.md")
    out.write_text(render_markdown(), encoding="utf-8")
    print(f"索引寫到 {out}({len(SERIES)} 個主題)")

這支腳本可以做兩件事:第一,把整個系列的結構索引成 Markdown,當成「系列封面頁」放在 README 開頭;第二,未來新增章節時只要更新 SERIES 常數就會自動同步。我們刻意把它寫在 scripts/ 下,與 Day 44 的 build_docs.py 並排,下次 deploy 就會自動生成最新索引。

另外一支小工具是把這個系列的「常見問題」做成索引卡,方便讀者複習:

# scripts/cheatsheet.py
# 把 45 天的關鍵指令 / 程式片段濃縮成一張 cheatsheet
CHEATSHEET = {
    "環境": [
        "uv python install 3.13",
        "uv init --package",
        "uv add fastapi==0.116 uvicorn[standard]==0.35",
        "uv sync",
    ],
    "FastAPI": [
        "uvicorn booking_system.main:app --reload",
        "curl http://localhost:8000/openapi.json",
        "@app.get('/health')",
        "Depends(get_session)",
    ],
    "資料庫": [
        "alembic revision --autogenerate -m 'add field'",
        "alembic upgrade head",
        "pg_dump --no-owner --no-privileges",
        "psql -d booking -c 'SELECT * FROM bookings LIMIT 5;'",
    ],
    "測試": [
        "uv run pytest -v",
        "uv run pytest -m slow",
        "locust -f tests/load/locustfile.py --headless",
    ],
    "部署": [
        "docker compose up -d",
        "docker compose logs api",
        "docker compose exec api alembic upgrade head",
    ],
    "監控": [
        "curl http://localhost/metrics",
        "docker compose logs api | jq .",
        "python scripts/backup_postgres.py",
    ],
}


for category, items in CHEATSHEET.items():
    print(f"## {category}")
    for it in items:
        print(f"- `{it}`")
    print()

這張 cheatsheet 可以輸出成 Markdown 放在 docs/cheatsheet.md,讓讀者「30 秒找到指令」。

常見錯誤與踩雷

第一個常見錯誤是「讀完 45 天就覺得自己會了」。讀完跟會做是兩回事:讀完只能保證你「知道有這些東西」,實際寫程式時還是會卡在套件衝突、SQL 索引、套件版本。這也是我們在前 34 天都堅持「完整可跑的範例」的原因:每篇都附帶一段程式碼與執行指令,照著做就能看到結果,比純讀文字有效得多。如果你想真正內化,就挑幾天的主題親手做一遍(從 Day 35 的預約資料模型開始重做是個不錯的起點)。

第二個常見踩雷是「Day 41 沒裝 Docker 直接跳過」。Docker 是 production 部署的標準工具,跳過這個議題會在 production 第一天就被擊倒。我們在 Day 41 提供了「沒 Docker 的替代方案」(uvicorn + 本機 PostgreSQL),那是過渡方案,不是終點。真的想 production-deploy,建議花一個週末把 Docker 從零學起。

第三個是「只想學沒人教的部分」。Day 11–15 的安全、Day 16–17 的測試、Day 34 的監控,這幾塊是「單獨看起來不重要、整合起來救你一命」的部分。如果只挑喜歡的章節讀,最後會留下難以整合的盲點。建議至少把每一主題區塊的第一篇(10、15、22、28、34、45)都讀過,把握每塊的核心觀念。

第四個是「把這個系列當聖經」。這個系列教的是「2025 年 7 月主流工具的標準做法」,不是「唯一正確的做法」。套件會升級、API 會改、觀念會演進。我們的內容會在某個時間點變得過時,但那時你已經會讀官方文件、跑壓測評估容量、寫 runbook 處置事件,這些能力不會過時。工具會變、學習方法不會。

效能與實務提醒

45 天只是學習曲線的起點,不是終點。後端工程這條路很長,我們能做到的是「給你起點與方向」。從 Day 1 到 Day 45 的累積:知道 HTTP 是什麼、會寫 FastAPI 服務、會設計資料模型、會寫測試、會做整合、會部署、會監控、會交接。這些能力組合起來,已經足以勝任大多數中小型後端職缺。

下一段路怎麼走完全看你:想往架構走就去看 microservice、k8s;想往資料走就補 Data Engineering;想往 ML 走就把 Day 26 的 NLP/LLM 經驗拿來做 LLM 應用的 backend;想往管理走就學習技術領導與團隊工程化。三條都通,但深度有限;選一條深入,是更有效的策略。

實務上,學習最快的路徑是「做中學」。找一個工作中的小型專案(內部工具、side project、公司 demo),把這 45 天的能力實際應用上去:寫 FastAPI、做 Docker Compose、加 Prometheus 監控。碰到卡住時回來查對應的篇章,會比純讀有效得多。

最後,學習不是線性累積。每天花一小時複習、一週寫一篇心得、一個月做一個 side project——這些都比「計畫一次讀完 45 篇」更有效。我們這個系列的設計是「每天一篇、每篇 30 分鐘內可讀完」,這也是鼓勵你能持續 45 天。讀完後把這個習慣帶到下一條路上,就會持續進步。

# scripts/series_index.py — 把整個 45 天的關鍵指標索引成清單
# 這支腳本可以單獨跑,也可以併入 Day 44 的 build_docs.py
SUMMARY = {
    "總篇數": 45,
    "主題區塊": 7,
    "程式碼範例": "每篇 6-10 個,可單獨跑",
    "測試覆蓋率": "8 支核心 E2E + 1 支效能 smoke + 1 支 migration",
    "可選 extension": ["microservice", "observability", "team engineering"],
    "下次閱讀建議": "Day 35–44 整個貫穿專案重做一次",
}


def print_summary(summary: dict) -> None:
    for key, value in summary.items():
        if isinstance(value, list):
            print(f"- {key}:")
            for v in value:
                print(f"  - {v}")
        else:
            print(f"- {key}:{value}")


print_summary(SUMMARY)

把這個系列的事實摘要寫成可重現的腳本,可以放在 docs/series-summary.md、可以在演講中引用、可以併入開源專案的 README。下次有人問「你這個系列到底涵蓋什麼?」,把這張表印出來即可。

小結

今天是「Web 系統實戰:用 FastAPI 打造能上線的後端」45 篇系列的最後一篇。我們回顧了七個主題區塊、列出三條延伸學習方向、用兩支 Python 腳本把學習地圖與 cheatsheet 自動化。整個系列結束,但你剛走完的是「後端工程師上手指南」這條路,後面還有 microservice、分散式追蹤、k8s、團隊工程化等更深的議題。我們希望你帶走的不只是工具箱,還有「從零到 production」的學習方法:把大問題拆成每天一篇的小問題、每篇都附可執行的範例、寫 runbook 把經驗固化下來、讓團隊與自己都能從頭複習。

結語

這 45 天學到的核心精神:把「在原作者電腦裡跑得通」變成「可以被接手、能上線、能量化」。這個精神跨越了具體的工具:明天也許 FastAPI 被其他框架取代、SQLModel 改寫、HTMX 不流行,但「寫可被測試、可被監控、可被維運的程式」這件事永遠不會過時。祝福你在後端這條路上走得順,遇到每個新框架都能靠這套方法快速上手;如果我們這個系列幫助到你,就達到目的了。感謝你陪這個系列走完 45 天。

延伸資源

  • Web Day 45 系列完賽紀錄:本系列已全部上線,可以從 manifest-web.json 查到所有 URL;對應的章節與日期見 SPEC-web-series.md。
  • 延伸方向 1:Kubernetes 官方文件(2025):https://kubernetes.io/docs/home/,Day 41 之後的下一步:把 Docker Compose 升級為 Helm chart。
  • 延伸方向 2:OpenTelemetry Python SDK(2025):https://opentelemetry.io/docs/languages/python/,從 Day 42 的 metrics / log 走到分散式追蹤的標準介面。
  • 延伸方向 3:martinfowler.com — Architecture 專欄(跨年代經典):https://martinfowler.com/architecture/,決策記錄(ADR)、microservice、團隊工程化的最佳讀物。
  • 延伸方向 4:Google SRE Book(2017,跨年代經典):https://sre.google/sre-book/,production monitoring、incident response、toil reduction 的官方聖經。
  • 延伸方向 5:Four Tet 拉的 Postgres 索引研究(2024):https://pgexercises.com/,實際練習 PostgreSQL 索引與 query plan。

留言

這個網誌中的熱門文章

Day 2 變數與資料型別

Day 2 變數與資料型別 引言 寫程式的過程中,變數與資料型別是處理資料的基礎。變數是存放資料的容器,資料型別則決定這筆資料有哪些特性、可以進行哪些操作。學會定義變數、認識各種資料型別,是學好 Python 的關鍵一步。 這篇文章會帶你了解 Python 中變數的觀念、如何定義變數,以及常見的資料型別,包括整數、浮點數、字串、布林值,還有串列、元組、字典與集合等容器型別。我們也會介紹變數的命名規則與撰寫風格建議,以及如何用 type() 檢查資料型別。 什麼是變數?如何在 Python 中定義變數 變數是在程式執行時用來存放資料的名稱。透過定義變數,我們可以給一筆資料一個名字,並在程式的其他地方用這個名字取用該筆資料。在 Python 中,變數不需要事先宣告型別,因為 Python 是動態型別語言,變數的型別由指定給它的值決定。 定義變數的基本語法 在 Python 中定義變數非常簡單,只要用賦值符號 = 把值指定給變數即可。例如: x = 5 # 定義變數 x,並把整數 5 賦值給它 name = "Alice" # 定義變數 name,並把字串 "Alice" 賦值給它 在這裡,x 是一個變數,被賦予整數 5;name 是另一個變數,被賦予字串 "Alice"。 變數的更新與覆寫 變數的值可以修改,也就是說,我們可以在程式的不同地方給同一個變數新的值。例如: x = 10 # x 最初被賦予 10 x = 15 # x 的值現在被更新為 15 這樣就能依照需求,在程式執行過程中靈活調整變數的值。 Python 的動態型別系統 Python 和某些靜態型別語言不同,定義變數時不需要宣告型別。賦值時,Python 會根據值自動判斷變數的型別。例如: x = 5 # x 是整數 x = 3.14 # x 變成浮點數 x = "Hi" # x 變成字串 同一個變數在程式執行過程中可以存放不同型別的值,這是 Python 的彈性之一。 常見資料型別 在 Python 中,資料型別決定我們可以對變數進行哪些操作...

Day 1 Python 簡介與環境設定

Day 1 Python 簡介與環境設定 引言 在現在的科技環境裡,程式設計已經是一項重要技能。無論你是對資料科學有興趣、想成為開發者,或是想踏入人工智慧(AI)領域,學會寫程式都能明顯提升你的競爭力。在眾多程式語言中,Python 因為語法簡單、功能強大、應用範圍廣泛,成為許多人進入程式世界的第一選擇。這篇文章會帶你認識 Python 的背景與優勢,並一步步教你在不同系統上安裝與設定 Python 開發環境,最後寫出第一支 Python 程式。 為什麼選擇 Python? Python 是一種高階程式語言,由 Guido van Rossum 在 1991 年發布。Python 的設計哲學強調程式碼的可讀性,並用縮排來定義程式區塊,這點和許多使用大括號的語言不同。簡潔的語法讓它成為初學者的理想選擇;就算是經驗豐富的開發者,也能用它完成複雜的專案。 Python 的優勢如下: 簡單易學 :Python 的語法清楚、結構簡潔,初學者很快就能上手。和其他語言相比,學習曲線相對平緩,不需要先弄懂一堆複雜觀念,就能開始寫程式。 應用範圍廣泛 :從資料科學、網頁開發、人工智慧、機器學習、自動化測試到網路爬蟲,Python 都有大量開源函式庫與工具支援,而且在這些領域都扮演關鍵角色。 豐富的函式庫與框架 :Python 的函式庫生態系非常龐大。做資料分析有 NumPy、Pandas;開發網站有 Django、Flask;做深度學習有 TensorFlow、PyTorch。各種需求幾乎都能找到對應的套件,讓開發更有效率。 跨平台支援 :Python 支援 Windows、macOS、Linux 等作業系統,程式通常不需要太多修改就能跨平台執行,讓開發與部署更有彈性。 活躍的社群 :Python 擁有龐大的開發者社群。學習或開發上遇到問題,幾乎都能在社群與論壇(例如 Stack Overflow)找到答案,對初學者來說是很強的後盾,也能減少卡關時的挫折感。 Python 的應用領域 Python 的流行與強大功能,讓許多領域都開始大量使用它。以下是幾個常見的應用方向: 資料科學 :隨著大數據與人工智慧興起,資料科學大量使用 Python。NumPy、Pandas 與 Matplotlib 等工具能處理和分析龐...

Python 從入門到 PyTorch 深度學習:開啟 AI 世界的大門

Python 從入門到 PyTorch 深度學習:開啟 AI 世界的大門 隨著人工智慧(AI)與深度學習(Deep Learning)快速發展,越來越多人對這些技術產生興趣。不論你是想踏入 AI 領域的初學者,還是已經有程式基礎的開發者,學好 Python 與深度學習框架(例如 PyTorch),都能為你打開更多可能。 為什麼選擇 Python? Python 已經是資料科學與人工智慧領域的首選語言。它的語法簡潔、容易上手,而且擁有龐大的生態系與大量開源函式庫。無論是資料處理、資料視覺化,還是建立機器學習與深度學習模型,Python 都能勝任。對想進入 AI 或資料科學領域的人來說,它幾乎是必備工具。 PyTorch 是什麼? PyTorch 是由 Meta(原 Facebook)AI 研究團隊開發的開源深度學習框架,以易用、靈活和動態計算圖著稱,是許多 AI 研究人員與開發者的首選。相較於其他框架,PyTorch 的寫法更貼近原生 Python,對初學者相對友善。無論是簡單的實驗,還是複雜的深度學習模型,PyTorch 都能提供強大的支援。 這個系列能帶給你什麼? 這個系列會從 Python 的基礎開始,帶你一步一步學習,最後能自己用 PyTorch 建立深度學習模型。即使你完全沒有寫過程式,也能跟著文章的節奏累積技能,理解 AI 與深度學習的核心觀念。 本系列涵蓋的主題 Python 基礎:從變數、條件判斷到函式與模組。 資料處理工具:用 NumPy 與 Pandas 有效率地操作資料。 資料視覺化:用 Matplotlib 與 Seaborn 把資料畫成圖表。 深度學習的數學基礎:線性代數、微積分與機率。 PyTorch 入門:理解張量、模型建構與 GPU 加速。 基礎深度學習模型:CNN 與 RNN 的實作應用。 深度學習專案實戰:從資料前處理到模型部署的端到端流程。 誰適合這個系列? 程式初學者 :如果你對 AI 充滿好奇,卻還沒寫過程式,系列的第一部分會帶你快速上手 Python,並幫助你理解深度學習的基本觀念。 資料科學愛好者 :如果你已經熟悉一些資料處理方法,進階部分會教你如何用 PyTorch 建構深度學習模型。 開發者與研究人員 :想更深入了...