KD's Tech Blog

Hi, 我是 KD Chang 凱迪,我在這書寫我的軟體開發/程式設計技術筆記 | KD 技術部落格

Pinia Setup Store 與 Option Store 比較介紹入門教學筆記


前言Pinia 是 Vue 3 推薦的狀態管理工具,作為 Vuex 的繼任者,Pinia 以簡潔且直觀的 API 設計,為 Vue 生態系帶來更輕量且易於維護的解決方案。Pinia 提供兩種撰寫 store 的方式:Option Store 與 Setup Store。兩者皆支援響應式狀態管理,但在語法結構與彈性上有所不同。理解這兩種寫法的差異,對於新手以及想提升開發效率的工程師來說相當重要......

Django Middleware 入門教學筆記


前言在 Web 應用程式中,每一次的 HTTP 請求與回應都會經過一連串的處理流程。在 Django 框架中,這些處理流程的攔截點與操作邏輯就是透過「Middleware(中介軟體)」來實現。 Middleware 是 Django 請求與回應處理流程中一個極為關鍵的機制,允許開發者在請求進入 View 前或回應送出前進行特定操作,例如:身份驗證、日誌紀錄、權限控制、跨域處理、錯誤攔截、壓縮......

Django 中的 n+1 問題入門教學筆記


Django 中的 n+1 問題入門教學筆記前言Django 作為一個功能完整的 Python Web 框架,其 ORM(Object-Relational Mapping)能讓開發者以物件導向方式操作資料庫。然而,這樣的便利也容易隱藏一些效能陷阱,其中最常見也最容易忽略的就是 n+1 查詢問題(n+1 query problem)。 n+1 問題會導致程式在執行查詢時產生大量多餘的 SQL......

GraphQL 入門教學筆記(ESM 模組版)| 學習筆記


前言在傳統的 REST API 中,前端往往需要根據不同的需求,呼叫多個端點取得資料,有時還會遇到資料過多(Over-fetching)或不足(Under-fetching)的問題。為了解決這些痛點,Facebook 在 2015 年開源了 GraphQL,一種靈活且高效率的查詢語言。 GraphQL 讓前端可以明確指定想要的資料欄位,伺服器僅回傳需要的資料,改善資料浪費與重複請求的問題。此......

軟體工程專有名詞彙整學習筆記


軟體工程專有名詞 Agile 敏捷開發 DbC 契約精神 SOLID 原則 TDD 測試驅動 KISS 原則 YAGNI (避免過度設計) DRY (模組化、擅用設計模式) 迪米特法則(降低依賴和耦合) 依賴注入 關注點分離 無暇程式碼 clean code 設計模式 ...