網站內容
該站點的內容是成為一個「工程決策與知識資產中心」。具體來說,它的用途可以歸納為以下三個核心維度:
軟體架構的決策紀錄
記錄各項架構決策的背景資訊,包括考量因素、限制條件與選擇理由。每份決策都應能讓後續開發者回溯當時的狀況,理解為什麼採用某種設計,並據此評估後續調整的必要性。
技術開發討論
收錄與技術研究相關的分析與討論。內容以問題導向的方式撰寫,逐步說明觀察、推導與結論,協助團隊追蹤各項技術議題的脈絡,並提供後續實作與改善的基礎。
團隊標準規範手冊
整理團隊共同遵循的標準,包括命名慣例、程式風格、API 規格、文件格式與部署要求。目的是提供一致的工作基準,降低協作成本,並確保各專案的品質維持在可預期的範圍內。
本網站可收錄專案層級的高層說明,例如專案目的、責任邊界與對外介面。與實作詳細相關的內容(如部署步驟、操作流程、程式碼範例與除錯技巧)仍應保留在各自的專案儲存庫中,以避免責任分散,並維持文件的更新效率。
本網站不得包含能直接還原產品行為的原始碼、設定值或完整實作片段。需要說明技術概念時,應以流程描述、架構示意或去識別化範例呈現。此限制用於降低資訊外洩風險,並維持系統與智慧財產的安全性。
撰寫指南
以下幾個小節用來紀錄網站的主要內容,本站點的文章可以分成三種形式:
- Page - 如同本頁的單頁網站,收錄於
contents資料夾 - Blog - 以部落格方式呈現的討論串,主要內容是 Architectural Decision 或是 Tech Blog,收錄於
adr與blog資料夾 - Docs - 以文件方式呈現的頁面,主要內容收錄於
docs資料夾
該站點的主要設定於 docusaurus.config.ts, plugins 可分別使用 content-* 來設定要使用 pages, blog 還是 docs。
具體的設定請參考 Docusaurus Plugins 中,不同插件的 Configuration 章節。
對於每個 Markdown,也可以參考各插件的,不同插件的 Front Matter ,確認可以設定的屬性。
對於上方的導覽列,請參考Docusaurus Navigator說明。我們選擇把 Docs 與 Page 形式的頁面靠左;Blog 形式的頁面靠右。
若修改了 docusaurus.config.ts 裡的 plugins 設定,請確認 themeConfig.navbar.items 是否註冊了對應的頁面。
在「授權指南」中,撰寫了一個範本。
決策紀錄流程
當你需要提出新的技術選型或架構異動時,請遵循以下狀態流程:
- Proposed (提案中):初期的 RFC(Request For Comments) 構想,開放大家閱覽。
- Accepted (已通過):經過團隊共識,正式採用的技術方案。
- Superseded (已取代):隨著系統演進,該決策已被新的 ADR 取代。
- Rejected (已拒絕):評估後不採行的方案,保留紀錄以供日後參考。
通常是由主管級工程師提出與審閱,當然我們也鼓勵個別專案提出自己的意見給大家審視。AWS的介紹1或是其網站的介紹2可以協助您釐清這份文件的用途。
我們撰寫的內容不要求符合正式的Architecture Decision Record格式,多為早期系統的規劃議題、替代方案比較與當時可見的限制條件。
技術部落格
技術部落格用於記錄具有時效性或探索性的技術經驗,例如問題排查過程、技術嘗試的結果、工具評估心得或開發過程中的觀察。這類內容不一定形成正式結論,其價值在於保存思考軌跡與實務經驗,供日後回顧或轉化為更穩定的規範與決策。
部落格內容不作為正式標準或決策依據。當某項經驗被反覆驗證並具備長期價值時,應整理並移轉至對應的決策紀錄、規範文件或專案說明中,以維持知識結構的清晰度。
文件形式的文章
文件形式的文章用於整理較為穩定、可長期使用的知識內容,例如團隊開發指南、流程建議、工具使用方式與工作協作的基本原則。這類文章聚焦在提供可操作的做法與清楚的步驟,讓團隊成員能快速理解並在實務中落實。
文件的角色介於技術部落格與正式規範之間。它不需要像規範一樣嚴謹,也不具有強制性;但內容應維持一致性與可檢查性,避免依賴個人習慣。
環境建置
本專案使用 pnpm 作為套件管理器,請依照以下步驟完成環境設定:
-
安裝 Node.js: 前往 Node.js 官網 下載並安裝 LTS (Long Term Support) 版本。
-
啟用 Corepack:
Node.js 預設內建了 Corepack,請開啟終端機執行以下指令來啟用 pnpm:
corepack enable pnpm
pnpm setup
安裝依賴
pnpm install
本地開發
pnpm start
瀏覽器將自動開啟並導向 http://localhost:3000。
特色擴展
本專案已經預先安裝一些基礎的擴展,請查看:
1. 基礎語法
本平台完整支援 GitHub Flavored Markdown (GFM),也就是通用的 Markdown 語法。詳情可參考 GFM Spec 指南。
除此之外,若你想要使用 React 語法撰寫頁面也可以,有許多特色語法,請參考 MDX Feature。
2. 提示框 (Admonitions)
用於強調特定資訊,支援 note, tip, info, warning, danger。
:::tip[專業建議]
在撰寫 RFC 時,建議優先描述「問題」而非「解決方案」。
:::
在撰寫 RFC 時,建議優先描述「問題」而非「解決方案」。
詳細請參考Admonitions
3. Mermaid 圖表
支援直接在 Markdown 中繪製流程圖、時序圖與甘特圖:
4. 數學算式
支援 KaTeX ,用於在 Web 上渲染 TeX 數學公式。
$$
I = \int_0^{2\pi} \sin(x)\,dx
$$