KD's Tech Blog

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

JWT 的實作安全策略與 Refresh Token 安全做法入門教學筆記 | 學習筆記


一、JWT 基本安全策略1. 使用強密鑰(Secret)或非對稱加密 對稱加密:使用 HS256 時,secret 應具備高強度(建議 256-bit 以上)。 非對稱加密:使用 RS256 時,私鑰與公鑰分離,便於服務間驗證。 2. 設定有效期限(exp) Access Token 建議設為 短效(10~30 分鐘)。 避免永久有效的 Token,防止被盜用後長期濫用。 3. 限制 T......

Prisma ORM 入門教學筆記 | 學習筆記


前言在現代 Web 應用中,資料庫與後端邏輯的整合至關重要,而 ORM(Object Relational Mapping)工具正好扮演了簡化資料操作、提升開發效率的角色。Prisma 是一個現代化的 TypeScript ORM,具有直觀的語法、自動型別生成、遷移管理與強大的查詢功能,深受開發者喜愛。 本教學將帶你從安裝 Prisma、設定 schema、執行 migration、撰寫查詢......

React Query 入門教學筆記 | 學習筆記


前言隨著前端應用程式越來越複雜,資料的取得、快取、同步更新以及狀態管理成為重要挑戰。傳統使用 useEffect 搭配 fetch 或 axios 取得資料,會讓程式碼變得冗長且難以維護,特別是需要處理快取、錯誤重試、背景重新整理(refetch)等功能時。 React Query 是一個強大的資料同步庫,它抽象並管理伺服器狀態(server state),讓你能輕鬆完成資料抓取、快取、更新......

使用 ESM 的 Swagger 入門教學(Node.js + Express) | 學習筆記


前言在現代後端開發中,撰寫標準化的 API 文件是必要的工作。Swagger(OpenAPI)讓我們可以定義並分享 API 結構,也支援透過 UI 測試 API。本文將示範如何在 ESM 模組架構的 Node.js 專案中 整合 Swagger,實現互動式 API 文件。 重點摘要 使用 swagger-jsdoc 定義 API 文件(支援 YAML 格式註解)。 使用 swagger-u......

Vue pinia 保持 reactive 入門教學筆記 | 學習筆記


保持 reactive 寫法: 1️. 用 computedconst todos = computed(() => todoStore.todos) 優點 保持 reactive 簡單直接 在 template 裡 todos 可以直接使用 缺點 如果只是讀值,其實有點多餘 建議用於:在 template 需要用 v-for="todo in t......

JWT 入門教學筆記 | 學習筆記


前言在現代 Web 應用中,使用者認證與授權機制是系統安全的重要基礎。傳統上,我們可能使用 Session 與 Cookie 搭配伺服器端儲存進行身份驗證;但在前後端分離、多平台(Web、Mobile、API Gateway)應用日益普及的情況下,更輕量、跨平台、無狀態的驗證方案逐漸成為主流。 JWT(JSON Web Token)正是這樣一種流行的解法。它是一種根據 JSON 格式加密後產......

HTTP/2 介紹與入門教學筆記 | 學習筆記


1. HTTP/2 簡介HTTP/2 是 HTTP/1.1 的後繼版本,由 IETF HTTP 工作小組開發,並於 2015 年 5 月成為正式標準(RFC 7540)。HTTP/2 的主要目標是提高 Web 的性能,減少延遲,並優化資源的傳輸方式。 2. HTTP/2 的核心特性2.1 二進制分幀層(Binary Framing Layer......

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


前言Django 是一個由 Python 編寫的高階 Web 框架,強調快速開發與簡潔設計。它提供完整的功能模組如 ORM、Admin 介面、Form 處理、URL 路由與認證系統,讓開發者能專注於商業邏輯而非重複造輪子。本文將帶你一步一步建立一個基本的 Django 應用程式,並說明其核心概念。 一、環境安裝首先,請確保你已安裝好 Python(建議 3.8+)與 pip。以下是建立虛擬環......

setTimeout + for loop + closure 核心介紹入門教學筆記 | 學習筆記


一、var 和 let 的作用域差異 宣告方式 作用域 是否有暫時性死區(TDZ) var 函式作用域 否 let 區塊作用域 是 const 區塊作用域 是 var 宣告的變數在整個函式內都可存取 let 則只在所在區塊 {} 中有效 二、閉包(Closure)閉包是指「函式能記住它被定義時的作用域,即使在外部執行也能存取當時的變數」。 fu......

SCSS 介紹入門教學筆記 | 學習筆記


一、SASS 是什麼?SASS(Syntactically Awesome Stylesheets)是一種 CSS 預處理器(CSS Preprocessor),它擴展了 CSS 的功能,使樣式表更具可讀性、模組化和可維護性。SASS 允許使用變數、巢狀(Nesting)、混入(Mixin)、繼承(Extend)等進階特性,讓開發者能更有效率地管理 CSS。 SASS 有兩種語法: ......