進一步詞彙與概念說明
以下是課程中常見技術詞彙與基本知識,幫助您在上課前先建立共同語言。
Versioning(版本控制)
指為程式或文件的不同修改狀態建立版本,讓團隊可以追蹤變更、回復舊版,並清楚知道每次更新內容。
Git
最常用的分散式版本控制系統,用來追蹤程式碼歷史、多人協作與分支開發。
Gitflow
一種 Git 分支管理流程,通常包含 main、develop、feature、release、hotfix,讓團隊在開發、發佈與修補上有清晰規範。
Test-Driven Development(TDD)
先寫測試,再寫程式讓測試通過,最後重構。其核心是用測試驅動設計,提升可維護性與正確性。
CI/CD
CI(持續整合)會自動整合並測試代碼;CD(持續交付/部署)會自動把已驗證版本交付或部署到環境,提升交付速度與穩定性。
Unit Test(單元測試)
針對最小可測單位(例如函式或類別方法)進行測試,確保該單元在不同輸入下都符合預期。
Test Case(測試案例)
具體定義某個測試情境,通常包含前置條件、輸入資料、執行步驟與預期結果。
Use Case(使用案例)
從使用者角度描述系統如何被使用,以及完成某目標時系統與使用者的互動流程。
Authorization vs Authentication
Authentication 是「你是誰」(身份驗證);Authorization 是「你能做什麼」(權限控管)。通常先驗證身份,再判斷權限。
Token(JWT)
JWT 是一種常見的身份憑證格式,伺服器簽發後,客戶端可在請求中帶上此 Token 以證明登入狀態與身分資訊。
Client-Server(客戶端與伺服器)
Client(例如網頁或 App)負責發送請求與呈現畫面;Server 負責執行商業邏輯、處理資料與回傳結果。
HA(High Availability,高可用性)
透過冗餘架構與故障切換,讓系統在部分元件失效時仍可持續提供服務,減少停機時間。
Single Point of Failure(單點故障)
系統中一旦失效就會導致整體中斷的關鍵單一元件。架構設計通常會避免單點,改用備援。

