這是我第二次參加鐵人賽。
原本的構想很單純 ——
想以 Node.js 為主題,把學習與實作過程整理成完整系列,
也讓自己能透過每天的輸出,更深刻理解後端開發,
從年初開始學 Node.js,大量實作、寫筆記,
原以為能「從從容容游刃有餘」地完成挑戰,
結果實際卻是 「匆匆忙忙連滾帶爬」,邊學邊趕、邊改邊寫。
主要是工作的忙碌以及太晚才開始準備系列文章內容,
幾乎是拖到鐵人賽開始才開始準備。
每篇文章發佈前都再三著墨,
有時光是為了調整範例程式碼,讓說明更清楚,
就花上不少時間,我也在思考:「這些內容網路上都有,還需要寫嗎?」
但在持續撰寫發文的過程中,
我發現到—真正的價值,不在於文章被誰看到,
而在於 查資料、思考與整理的過程,
那些原本模糊的概念,在反覆思考與書寫中變得更清晰。
以為有理解的概念,開始弄懂了;
以為有弄懂的技術,在細節上還沒有學習透徹。
30 天下來,這場挑戰的意義不只是「發 30 篇文」,
而是建立起一種將所學的內容轉化為輸出的過程,
今後,終於不再在床上想:我今天發文了嗎?
最後,能夠看到自己完成整個系列的文章,
讓想做的事情實踐並堅持到底,
是件很棒的事情。
謝謝這段時間這麼認真的自己。
30 天前,我們從一行簡單的
console.log('Hello Node.js')
開始。
如今,已經打造出一個具備:
是一個 全端小型專案。
階段 | 主題 | 核心技術 | 範例篇章 |
---|---|---|---|
基礎篇 | Node.js 入門、模組化、HTTP | Node.js Core、fs、path | Day1–Day10 |
架構篇 | Express MVC 模組化 | Router、Middleware | Day11–Day15 |
資料篇 | MongoDB 整合 | CRUD、Mongoose ODM | Day16–Day20 |
安全篇 | 登入驗證與 RBAC 權限 | bcrypt、JWT、Session | Day21–Day27 |
文件篇 | 自動生成文件 | Swagger、JSDoc | Day28 |
整合篇 | 前後端整合與反向代理 | Nginx Reverse Proxy | Day29 |
完結篇 | 架構總結與展望 | - | Day30(本篇) |
Day | 標題 |
---|---|
1 | Node.js 學習之旅 |
2 | 認識 Node.js,開啟全端新世界 |
3 | 認識 npm、建立專案與必備套件 |
4 | Node.js 基本語法入門 |
5 | CommonJS vs ES Modules |
6 | Path 模組 — 檔案路徑處理全攻略 |
7 | fs 模組 — 檔案系統 |
8 | 事件驅動與 EventEmitter |
9 | HTTP 模組實戰 — 打造迷你伺服器 |
10 | 打造靜態伺服器與簡易 API |
11 | Express.js 入門 |
12 | Express.js Middleware |
13 | RESTful API 設計 |
14 | Express Router 拆分與架構化 |
15 | Express MVC 架構 |
16 | MongoDB 基礎與連線 |
17 | MongoDB CRUD 操作 |
18 | MongoDB + Express 打造 CRUD API |
19 | Mongoose 入門 |
20 | Mongoose 驗證與 Hooks |
21 | 使用者密碼安全 — bcrypt |
22 | JWT 登入與驗證 |
23 | Session vs JWT |
24 | JWT Refresh Token 自動延長機制 |
25 | RBAC 角色權限控管 |
26 | RBAC API 實作篇 |
27 | RBAC React 權限頁面篇 |
28 | Swagger + JSDoc 文件自動化 |
29 | Nginx 反向代理入門 — 前後端整合 |
30 | 結語與目錄 |
很開心再次完成鐵人賽挑戰。
這次不只持續精進前端,也正式踏入後端開發的領域,
透過實作與撰文,把 Node.js 的學習整理得更有系統。
Node.js 的世界還有許多值得探索的主題,
我會持續研究、持續精進。
明年,若沒有意外,
我仍會帶著新的主題與熱情再度回歸。
「每次完成,都是下一次的起點。」
明年見。