KD's Tech Blog

軟體工程和產品專案管理現場觀察:關於軟體開發/程式設計/工程思維的技術部落格

Django、Flask、FastAPI 吞吐量比較入門教學筆記 | 學習筆記


前言在 Python Web 開發領域,Django、Flask 與 FastAPI 是三個非常熱門且廣泛使用的框架。它們各有特點與適用場景,但在性能表現,特別是吞吐量(throughput)方面,存在一定差異。吞吐量通常指每秒鐘能處理的請求數量,是衡量 Web 框架在高併發環境中效率的重要指標。 本篇筆記將簡要介紹這三個框架的基本架構與設計理念,並透過簡單測試與範例比較其吞吐量,幫助初學者......

Django「一對一」、「一對多」、「多對多」關聯入門教學筆記 | 學習筆記


前言當你在學 Django 或資料庫設計時,常會遇到「一對一」、「一對多」、「多對多」這三種關聯(Relationship)。這些是資料庫中表與表之間的關係,下面用簡單的例子幫你搞懂它們的差異: 一對一(One-to-One)概念:一個資料只對應另一個資料,彼此之間是唯一配對的關係。 例子:每個人都有一張身份證 → 一個人對應一張身份證,一張身份證只對應一個人。 Django 實作:cla......

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......

Django CRUD(不使用 ModelForm)入門教學筆記 | 學習筆記


前言在 Django 中,ModelForm 提供了一個快速建立表單與驗證的工具,但在某些情境下,我們可能希望自己掌控表單結構與驗證流程。這篇筆記將示範如何不依賴 ModelForm,手動實作一套 CRUD 系統,幫助你更深入理解 Django 表單處理的基本原理。 我們將製作一個簡單的「書籍管理系統」,支援新增(Create)、讀取(Read)、更新(Update)與刪除(Delete)書......

concurrently.js 入門教學筆記 | 學習筆記


前言在前端與全端開發中,我們經常需要同時執行多個指令,例如一邊啟動前端開發伺服器,一邊啟動後端 API 伺服器,或一邊監看 Sass 編譯,一邊執行 TypeScript 編譯。在這樣的情境下,concurrently 是一個非常實用的工具,它能讓我們在同一個命令列同時執行多個命令。 本篇筆記將介紹 concurrently 是什麼、如何安裝、基本用法,以及實際應用範例。 什麼是 conc......

Django RESTful API 入門教學筆記 | 學習筆記


前言隨著 Web 與行動應用的發展,API(應用程式介面)已成為前後端溝通的橋樑。RESTful API 是目前最常見的 API 設計風格之一,而 Django REST Framework(簡稱 DRF)則是基於 Django 的強大工具,讓開發 RESTful API 變得更簡單。 本篇筆記將帶我們從零開始,快速建立一個 Django RESTful API 專案,實作一個基本的「文章系......