1. MQTT → RabbitMQ 架構轉換與 Pub/Sub 設計
- 你將原本的 MQTT 架構轉為 RabbitMQ,並建立
MQ_server.js作為接收與分發的專用模組。 - 學會如何設計 Pub/Sub 模式,模仿 MQTT 的彈性佈局,例如動態 dispatch 到 PHP。
- 運用
axios + x-www-form-urlencoded結合 RabbitMQ message handler 並記錄 log。
✅ 技術收穫:
- 熟悉 RabbitMQ 架構、Message Queue 運作流程與模組化封裝方式。
- 精煉後端與 PHP 之間的跨語言溝通(RESTful + MQ hybrid model)。
2. React 表格元件優化:FloatingHeader + TanStack Table V8
- 解決 header 高度抓取問題,使用
useLayoutEffect + ref.offsetHeight自動設定 sticky。 - 整合浮動表頭與欄寬自動調整、搜尋欄位、自定欄位寬度 resizing。
- 重構表格元件為可重用、模組化、高度可配置的組件。
✅ 技術收穫:
- 深入掌握
@tanstack/react-table v8,包括 pagination、column sizing、custom cell render。 - 更細膩地管理 DOM 高度與 layout calculation,提升使用者體驗。
3. Node.js MVC 架構優化與 PHP 系統重構
- 明確規劃了從 legacy PHP → Node.js 重構流程。
- 成功串接 PHP CLI,使用 Node 後端觸發 PHP 模組,並以 async/await 管理流程。
- 重構
get_req()等 PHP 函式為getCheckRequirements等 Node.js async 函式。
✅ 技術收穫:
- 完善理解 Node.js + PHP 雙系統整合的策略與風險控管。
- 將 async Node pattern 與 MVC 架構應用於實際專案中。
4. n8n 自動化流程深化應用
- 完成一個完整的 FTP 任務自動執行流程:資料庫查詢 → Disk file 檢查 → FTP 傳輸 → 更新狀態。
- 使用 Merge Node 整合多個流程節點,搭配 SSH 自動建立目錄。
- 接入 RabbitMQ 作為 n8n 觸發點,並測試報表延後解析設計。
✅ 技術收穫:
- 熟練操作 n8n 節點(FTP、PostgreSQL、Merge、Switch、HTTP)。
- 建立模組化自動化架構,提升流程透明度與維護性。
🤔 本月省思與調整方向
1. 系統越來越模組化,但維護成本上升
- 雖然各模組功能漸趨完整,但串接點與相依邏輯也逐漸複雜,日後 debug 或新需求需要清楚的 flow documentation。
👉 建議:建立 flowchart / ERD / module interaction map,避免知識集中在腦中或 code comments 裡。
2. 越來越多 async 流程,錯誤處理機制要加強
- 無論是 n8n、MQ、RabbitMQ、Node → PHP,錯誤與例外情境尚未全面考慮(如 fail-retry、timeout fallback)。
👉 建議:建立統一的錯誤攔截機制與監控 log,例如配合 n8n 的 webhook callback / retry policy。
3. 前後端資料流日趨複雜,需重視資料一致性與驗證邏輯
- 前端 React 組件愈來愈重,邏輯分層不明(如 handleColumnSearch、欄位驗證、資料異步更新)。
👉 建議:開始考慮使用 Form Hook、Zod/Yup 驗證與前後端 schema 同步方式。
4. 學習節奏快但整合不易,知識零散
- 本月學了很多技術點,但尚未形成一套“共通模式”或 reusable template。
👉 建議:開始整理常用的 snippet / pattern,例如:
- 自定 React 表格 template
- n8n FTP 流程模組
- Node-to-PHP Bridge handler base class





















