返回課程

課程課前準備

課程所需的必備軟件和工具。請在課程開始前確保已安裝以下所有內容。

一款 AI 代碼編輯器,利用大型語言模型提供 AI 輔助編寫及代碼庫索引,幫助您更輕鬆地構建項目。
How to check:

打開 Cursor 並確認其可以正常運行。

一款圖形化 Git 版本控制工具,方便您用可視化方式查看提交歷史、比對變更及管理分支,適合日常開發協作。
How to check:

打開 SourceTree 並確認可以成功連接或建立本機 Git 倉庫。

Flutter SDK

Google 開發的 UI 工具包,用於構建跨平台應用程式。它是本課程開發移動應用的核心框架。
How to check:

在終端中運行 `flutter doctor`。

Successful Installation Example:
Flutter SDK Installation Success

XCode 與開發者工具

Apple 必備開發環境,用於創建 iPhone 和 Mac 應用程式。iOS 開發與測試所需。
How to check:

在終端中運行 `xcode-select --version` 或打開 XCode。

Successful Installation Example:
XCode 與開發者工具 Installation Success

Android Studio

Android 官方開發工具,用於管理 Android SDK 並在電腦上運行虛擬模擬器進行測試。
How to check:

打開 Android Studio 並確保其可以啟動。

一個讓 JavaScript 可以在瀏覽器外運行的環境,包含管理專案依賴程式庫必備的 npm 和 yarn。
How to check:
NodeJS:node -v
npm:npm -v
npx:npx -v
yarn:yarn -v

MongoDB Compass

MongoDB 的圖形化界面工具,讓您可以直觀地瀏覽數據和管理數據庫,無需編寫命令行指令。
How to check:

打開 MongoDB Compass。

進一步詞彙與概念說明

以下是課程中常見技術詞彙與基本知識,幫助您在上課前先建立共同語言。

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(單點故障)

系統中一旦失效就會導致整體中斷的關鍵單一元件。架構設計通常會避免單點,改用備援。