課程前言與學習目標
2026 【後端】Node.js 直播班 歡迎來到 2026 【後端】Node.js 直播班 的學習筆記! 這份系列筆記記錄了我在這堂課中的所有學習歷程,從最基礎的 Node.js 環境建置、非同步處理,一路到打造完整的 RESTful API 與資料庫整合。 🎯 學習目標 1. 掌握 Node....
Node.js 與 V8 引擎架構解析
Node.js 與 V8 引擎架構解析 本章節介紹 Node.js 的核心基礎,包含其背後的 V8 引擎原理以及 Node.js 本身的系統架構。 V8 引擎介紹 V8 引擎就像是 Node.js 的「大腦」,沒有 V8 的高效能,就不會有現在的 Node.js。 1. 源自 Google 的強悍技...
環境建置與基礎操作
環境建置與基礎操作 本章節將引導你完成 Node.js 開發環境的建置,以及學習開發時必備的終端機基礎指令。 命令提示字元 / 終端機操作 不管你是使用 macOS 還是 Windows 系統,進行 Node.js 開發都離不開終端機。 常用基礎指令: cd :進入目標資料夾路徑。 cd ..:回到...
Node.js 核心模組與系統基礎
Node.js 核心模組與系統基礎 當進入 Node.js 環境後,原本瀏覽器裡的 window 等物件將不復存在。本章節介紹 Node.js 特有的全域變數、模組系統與核心功能。 Global 全域物件 在 Node.js 中,最頂層的全域物件稱為 global,類似於瀏覽器環境下的 window...
NPM 套件管理與生態系
NPM 套件管理與生態系 NPM Node Package Manager 是 Node.js 官方預設的套件管理系統,它擁有全球最大的開源生態系,為開發者提供了豐富的第三方函式庫。 NPM init:建立專案配置 package.json 在任何 Node.js 專案開始前,第一步就是建立 pac...
-1 實作待辦清單 API (1)
實作待辦清單 API 1:環境建置與原生 HTTP 伺服器 在這系列教學中,我們將不依賴任何框架(如 Express),純粹使用 Node.js 內建的 http 模組來實作一個「待辦清單 Todo List」的 RESTful API。這能幫助初學者打好最扎實的 Node.js 後端基礎! > �...
-2 實作待辦清單 API (2)
實作待辦清單 API 2:設計統一的 Response Handler 在上一篇我們成功建立了伺服器,但你可能會發現一個問題: 未來我們會有很多個路由(例如 GET 拿資料、POST 新增資料、錯誤找不到資料等)。如果每個地方都要寫一次 res.writeHead... 然後用 JSON.strin...
-3 實作待辦清單 API (3)
實作待辦清單 API 3:路由判斷、GET 與 DELETE 前置作業都完成了,我們終於要來撰寫核心的 API 邏輯!這篇將涵蓋如何判斷「請求方法與網址」,並實作讀取 GET 與刪除 DELETE 的功能。 > 💡 完整程式碼下載 > 為了方便對照與學習,本系列教學的最終完整程式碼已經開源在 Gi...
-4 實作待辦清單 API (4)
實作待辦清單 API 4:處理 Request Body 與 POST/PATCH 終於來到最後一步了!在建立 POST 或修改 PATCH 資料時,前端會將資料包裝成 JSON 格式放在 HTTP 請求的 body 裡面送給我們。 但在原生 Node.js 中,接收 body 跟你想像的有點不一樣...
-1 非同步與 Promise 基礎
為什麼要學 Promise、Async、Await? 在 JavaScript 中處理非同步事件時,如果不妥善管理,很容易會導致程式碼難以維護(例如著名的「回呼地獄 Callback Hell」)。學習這三種語法的目的在於: 1. 提升可讀性:隨著程式越寫越多,良好的非同步寫法能讓程式碼保持簡潔。 ...
-2 職責分離與 Promise 鏈式寫法
重構流程與職責分離原則 在撰寫複雜的邏輯時,我們應該遵守職責分離原則。這意味著每個函式或 Promise 應該只負責一件事情,然後透過鏈式寫法(Promise Chain)將多個步驟串接起來。 撰寫批改作業邏輯與 Catch 流程 讓我們先實作一個簡單的批改作業 Promise,並加入 catch ...
-3 使用 Async/Await 再升級
為什麼要用 Async/Await? 雖然 Promise Chain 解決了 Callback Hell 的問題,但當步驟變多時,不斷地使用 .then 仍會讓程式碼看起來像是鏈條一樣冗長。 ES8 引入了 async 和 await,讓我們能以「寫同步程式」的思維與風格,來撰寫「非同步程式」,大...
-4 Promise.all 與 Fetch API
Promise.all 語法教學 Promise.all 接收一個 Promise 陣列作為參數,當陣列中所有的 Promise 都變為 fulfilled(成功)狀態時,它才會回傳一個包含所有結果的陣列。如果其中一個失敗,就會進入 catch。 javascript // 模擬批改分數的非同步函式...
-1 Express 框架基礎與路由設計
Express 框架介紹 Express 是一個靈活且簡潔的 Node.js Web 應用開發框架,是目前後端開發最主流的選擇之一。 核心價值: Node.js Web 應用框架:提供了一套輕量級的開發基礎,讓開發者能快速建立 Web 伺服器與 API。 資料庫整合:能輕鬆與 MySQL、Mongo...
-2 Express & Middleware
Express Generator 與 Middleware 中介軟體 本篇筆記涵蓋了如何使用 Express Generator 快速建置專案,以及 Express 框架中最重要的核心:Middleware 中介軟體 的運作機制。 1. Express Generator 快速建置專案 1.1 全...
-1 SQL 資料庫基礎
關聯式資料庫 SQL 基礎操作與查詢 本篇筆記涵蓋了關聯式資料庫的基本觀念、資料表關聯設計(主鍵與外來鍵)、空值處理,以及最常使用的 SQL 聚合函數與 UUID 設計。 1. 關聯式資料庫 SQL 基礎 1. 定義:用來記錄網站的相關數據資訊。 2. 架構:資料庫的格式包含資料表 Table、欄位...