所有文章
共 79 篇 · 依日期由新到舊
Cloudflare Turnstile 實戰:Vue 3 + Spring Boot 雙端整合
Cloudflare Turnstile 雙端整合筆記:Vue 3 widget 兩種寫法、Spring Boot siteverify 手寫對照套件,涵蓋 action 防重放、idempotency_key 重試、hostname 安全鎖與完整 error-codes 速查。
最短路三兄弟:Dijkstra / Bellman-Ford / Floyd-Warshall
帶實作程式碼深入比較 Dijkstra、Bellman-Ford、Floyd-Warshall 三種最短路演算法的原理、複雜度與適用場景
動態規劃入門模板:背包、LIS、編輯距離
從 0/1 背包、完全背包到 LIS 與編輯距離,拆解 DP 三要素並提供可直接套用的 Java 模板與 LeetCode 對應題
六角形架構(Ports & Adapters)實戰
以 Spring Boot 為例,實作六角形架構的 Domain、Application、Infrastructure 三層分離,解釋為何要分開 JPA Entity 與 Domain Entity
Spring Boot 3 + Virtual Threads 實戰
深入解析 Project Loom Virtual Threads 原理,Spring Boot 3.2 啟用方式、Pinning 問題與 ThreadLocal 陷阱的實戰指南
Outbox Pattern — 分散式事務一致性
解析分散式 Dual-Write 問題,實作 Outbox Pattern 的 Polling 與 Debezium CDC 兩種方式,以及 Spring Modulith 內建支援
jq — 命令列 JSON 處理
jq 完整使用指南:從基本過濾器到 map、select、string interpolation,以及 CI/CD 實戰範例與常見陷阱
JPA N+1 偵測與解法
深入解析 JPA N+1 問題的成因、偵測方式,以及 JOIN FETCH、EntityGraph、BatchSize 三種解法的適用時機
HikariCP 連線池調校
HikariCP 核心參數公式推導、max-lifetime 與 MySQL wait_timeout 的關係,以及洩漏偵測與 Actuator 監控設定
Dockerfile 進階多階段建構
Dockerfile cache mount 加速建構、secret mount 防洩漏、distroless 與 jlink 最小化 JRE,以及 ARG vs ENV 的差異
Docker Compose V2 遷移指南
Docker Compose V1 到 V2 的差異對照、version 欄位廢棄原因、depends_on 健康檢查與 compose watch 熱更新實戰
FTP 工具類實作指南:安全、可靠的檔案傳輸解決方案
完整的 FTP 工具類實作指南,包含連線池管理、安全配置、錯誤處理與最佳實踐
JPA Enum 型別處理完整指南:映射策略與最佳實踐
深入探討 JPA 中 Enum 型別的各種映射策略、自訂轉換器、效能優化與最佳實踐
Xargs 命令完整指南:Linux 參數處理與並行執行的強大工具
深入解析 xargs 命令的完整用法,包含參數處理、並行執行、管道組合與實戰應用場景
Find 命令完整指南:Linux 檔案搜尋與管理的瑞士軍刀
深入解析 Linux find 命令的完整用法,包含檔案搜尋、條件過濾、批次操作與實戰應用場景
Ubuntu 系統管理完整指南:Linux 入門到進階實戰
深入解析 Ubuntu 系統的完整使用方法,包含安裝配置、套件管理、系統維護與 Docker 容器化應用
Java TreeSet 完整實作指南:紅黑樹有序集合與 NavigableSet 介面詳解
深入探討 Java TreeSet 的完整實作指南,包含紅黑樹內部結構、NavigableSet 介面、排序機制、效能分析與企業級應用最佳實踐
Shell 檔案與字串表達式詳解
本文提供 Shell Script 中常用的檔案、目錄及字串測試表達式,包含語法說明與實用範例,幫助您更有效地撰寫腳本。
鏈表反轉(Reverse Linked List)完整解析
深入探討鏈表反轉的多種實作方式,包含迭代、遞歸方法以及區間反轉等進階應用
並查集(Union-Find)演算法完整指南
深入探討並查集數據結構的原理、優化技巧與實際應用,包含路徑壓縮和按秩合併等優化策略
分散式 ID 生成系統:Snowflake 算法與企業級實現
深入探討 Twitter Snowflake 分散式 ID 生成算法,包含多種實現方式、Spring Boot 整合、企業級應用場景與最佳實踐
回溯演算法(Backtracking)完整指南
深入探討回溯演算法的原理、實作技巧與經典題型解析
代碼壞味道 (Code Smells) 完整識別與重構指南:軟體品質改善最佳實踐
深入探討代碼壞味道的完整識別與重構指南,包含常見壞味道類型、識別方法、重構技巧、預防策略與企業級代碼品質改善最佳實踐
GitHub SSH 金鑰設定
GitHub SSH 金鑰設定、Classic vs Fine-grained PAT 比較,以及 SSH vs HTTPS 選型指南
Docker MySQL:容器化部署與設定
本指南詳細介紹如何使用 Docker 容器化部署 MySQL 資料庫,包含常用啟動指令、資料持久化、字元集設定及連接方式,助您快速建立開發與測試環境。
Shell 環境配置與 Homebrew 安裝
macOS 開發環境設定:Homebrew 安裝、zsh 設定、PATH 管理、常用工具安裝清單
拓撲排序(Topological Sort)演算法詳解
深入探討拓撲排序演算法原理、實作方式與實際應用,包含 DFS 和 BFS 兩種方法
Reactive Programming 完整指南:Spring WebFlux 與 Project Reactor
深入探討 Reactive Programming 概念,包含 Mono、Flux 操作符詳解與 Spring WebFlux 實戰應用
GraphAccountMerge - 圖論帳戶合併深度解析與企業應用
LeetCode 721 帳號合併:Union-Find 解法詳解,以及圖論建模的思路對比
二元樹遍歷(Binary Tree Traversal)完整指南
深入探討二元樹的三種遍歷方式:前序、中序、後序遍歷的原理、實作與應用
Java TreeMap 完整實作指南:紅黑樹有序映射與 NavigableMap 介面詳解
深入探討 Java TreeMap 的完整實作指南,包含紅黑樹內部結構、NavigableMap 介面、排序機制、效能分析與企業級應用最佳實踐
QueryDSL 完整實戰指南:類型安全的動態查詢解決方案
深入解析 QueryDSL 動態查詢框架的完整使用方法,包含配置、查詢建構、效能優化與企業級應用實戰
Kotlin lateinit 完整實作指南:延遲初始化與企業級開發最佳實踐
深入探討 Kotlin lateinit 關鍵字的完整實作指南,包含延遲初始化機制、與 lazy 的比較、企業級應用場景、效能優化與最佳實踐
cURL 完整指南:HTTP 客戶端工具與 API 測試利器
深入解析 cURL 工具的完整用法,包含 HTTP 請求、API 測試、檔案傳輸與網路除錯的專業應用
Docker 網路模式詳解:容器間通訊與外部連接
深入解析 Docker 提供的各種網路模式,包括 Bridge、Host、None 和 Container 模式,並詳細說明如何建立自訂網路以實現容器間的順暢通訊與外部連接。
Docker Compose 完整指南:多容器應用程式的定義與執行
深入解析 Docker Compose 的核心概念、常用指令與 `docker-compose.yml` 設定檔的撰寫方式,幫助您輕鬆定義與管理多容器應用程式的生命週期。
Selenium Grid Multi-Architecture Docker 映像建構
使用 Dockerfile 建構跨 linux/amd64 與 linux/arm64 的 Selenium 多架構映像,處理 NVM 路徑設定與多階段建構
Dockerfile 基礎:建構 Docker 映像檔的核心指令
本指南深入介紹 Dockerfile 的基本指令與最佳實踐,從基礎映像檔選擇到多階段建構,助您高效、安全地建構 Docker 映像檔。
UML 統一建模語言完整指南:軟體設計與架構建模最佳實踐
深入探討 UML 統一建模語言的完整指南,包含類別圖、序列圖、使用案例圖、設計模式建模與企業級軟體架構建模最佳實踐
Spring 依賴注入完整指南:@Autowired 與最佳實踐
深入探討 Spring 依賴注入的各種方式、最佳實踐與常見陷阱,重點說明為何不建議使用 Field Injection
SOLID 設計原則完整指南:物件導向程式設計的五大核心原則
深入解析 SOLID 五大設計原則,包含單一職責、開閉原則、里氏替換、介面隔離與依賴反轉的理論基礎與實戰應用
JWT 認證機制完整實作:Spring Security 整合與最佳實踐
深入解析 JWT 認證機制在 Spring Boot 中的完整實作,包含 Token 生成、驗證、Filter 配置與安全性最佳實踐
Swagger/OpenAPI 完整指南:API 文檔化與測試最佳實踐
深入探討 Swagger/OpenAPI 在 Spring Boot 中的完整應用,包含進階配置、安全整合、自動化測試與最佳實踐
Spring RestTemplate 完整實戰指南:HTTP 客戶端最佳實踐
深入解析 Spring RestTemplate 的完整使用方法,包含配置優化、錯誤處理、攔截器、測試策略與現代化替代方案
YAML 語法從入門到實踐
本文詳細介紹了 YAML 的核心語法,包括鍵值對、陣列、物件等資料結構,並透過與 JSON 的比較,幫助您快速上手,應用於 Kubernetes、Spring Boot 等現代開發場景。
MergeSort - 合併排序算法深度解析與企業應用
深入解析 Merge Sort:穩定排序證明、in-place 成本、外部排序應用,以及 Java Arrays.sort() 底層 Timsort 的關聯
CQRS (Command Query Responsibility Segregation) 完整實作指南:命令與查詢職責分離的企業架構模式
深入探討 CQRS 架構模式的完整實作指南,包含命令與查詢職責分離、事件驅動架構、最終一致性與企業級應用實踐
Java Map 按 Value 排序:完整實作與效能優化指南
深入解析 Java Map 按 Value 排序的多種實作方法,包含 Stream API、Collections.sort、TreeMap 等方式,並提供效能分析與最佳實踐
Git Tag 使用指南
Git tag 的完整操作指南,包含 annotated tag、CI/CD 部署 tag 與 semver 工作流
Dig 命令完整指南:DNS 查詢與網路診斷的強大工具
深入解析 dig 命令的完整用法,包含 DNS 記錄查詢、網路診斷、效能分析與故障排除技巧
Spring Boot SFTP 工具類:企業級安全文件傳輸系統實作指南
深入介紹在 Spring Boot 中實作企業級 SFTP 文件傳輸工具類,包含連線池管理、檔案操作、安全性配置、錯誤處理、效能優化與監控機制
Spring Data JPA Pageable 分頁查詢:完整實作與效能優化指南
詳細介紹 Spring Data JPA 中 Pageable 分頁查詢的使用方法,包含自訂查詢、排序與效能優化技巧
Side Project 企業級專案配置指南:完整開發環境設定與最佳實踐
完整的 Side Project 企業級專案配置指南,包含現代化開發環境設定、專案結構規劃、容器化部署、監控系統與 CI/CD 流程的最佳實踐
Spring Framework 註解完整指南:從基礎到進階應用
全面整理 Spring Framework 中的重要註解,包含核心容器、Web、資料存取、安全、測試等各個領域的註解使用指南
AWK 程式設計完整指南:Linux 文本處理與資料分析利器
深入解析 AWK 程式語言的完整用法,包含模式匹配、資料處理、內建變數與實戰應用場景
Java Map 計算方法完整指南:高效能數據操作與最佳實踐
深入解析 Java Map 介面的所有計算方法,包含 putIfAbsent、compute、computeIfAbsent、computeIfPresent、merge 等,並提供效能優化與執行緒安全實踐
Sed 流編輯器完整指南:Linux 文本處理的強大工具
深入解析 sed 流編輯器的完整用法,包含文本替換、行操作、正規表達式與實戰應用場景
Memento — 不破壞封裝的快照與復原
Memento 模式以快照記錄物件狀態,在不暴露內部結構的前提下支援 undo/redo,Java record 是現代的輕量實作。
Interpreter — 為語言定義文法與解釋器
Interpreter 模式為簡單語法定義 AST 與解釋邏輯,適合小型 DSL;複雜語法請改用 ANTLR 等解析器工具。
Iterator — 迭代器模式
迭代器模式:提供統一介面循序存取集合元素,不暴露底層資料結構,Java Iterable/Iterator 即此模式的內建實作。
Visitor — 將演算法從物件結構抽離
訪問者模式透過雙分派將操作邏輯從物件結構抽離,適合在穩定的元素層級上頻繁新增操作
State — 讓物件隨狀態改變行為
State 模式將狀態相關行為封裝成獨立類別,消除大型 if-else/switch,物件轉換狀態時行為自動切換。
Command — 命令模式
命令模式:將請求封裝為物件,讓呼叫者與接收者解耦,並支援 undo/redo、排隊與日誌記錄。
Strategy — 策略模式
策略模式:定義一族可互換的演算法並各自封裝,讓演算法的變化獨立於使用它的客戶端,現代 Java 以 lambda 直接實現。
Observer — 一對多狀態變更通知
Observer 模式定義一對多依賴關係,Subject 狀態變更時自動通知所有訂閱者;Spring @EventListener 是現代首選實作。
Chain of Responsibility — 責任鏈模式
責任鏈模式:將請求沿處理者鏈傳遞,讓多個物件都有機會處理請求,避免發送者與接收者的強耦合。
Mediator — 以中介者解耦多方互動
Mediator 模式透過中介者集中管理物件間通訊,將網狀耦合降為星狀結構,Spring ApplicationEventPublisher 是其典型實踐。
Template Method — 模板方法模式
模板方法模式:在抽象父類定義演算法骨架,子類覆寫特定步驟而不改變整體流程,體現好萊塢原則。
Decorator — 動態疊加行為
Decorator 模式在不修改原始類別的前提下,透過包裝物件動態疊加行為,避免繼承導致的類別爆炸。
Bridge — 抽象與實作分離
Bridge 模式將抽象層與實作層分離,讓兩者可以獨立演進,解決多維度繼承導致的類別爆炸問題。
Facade — 子系統統一入口
Facade 模式為複雜子系統提供簡化的統一介面,降低客戶端與子系統的耦合,Spring Service 層即其典型應用。
Flyweight — 共享內部狀態節省記憶體
Flyweight 模式透過共享內部狀態降低大量相似物件的記憶體開銷,適用於字元渲染、粒子系統等場景。
Proxy — 控制物件存取的代理層
代理模式在不改變介面的情況下攔截對物件的存取,是 Spring AOP、JDK 動態代理、CGLIB 的底層機制
Composite — 樹狀結構統一操作
Composite 模式讓客戶端以一致方式處理單個物件與物件組合,適合樹狀結構如目錄、組織圖、UI 元件。
Adapter — 介面轉換橋接
Adapter 模式將不相容的介面轉換為客戶端期望的介面,常用於整合第三方 SDK 與遺留系統。
Prototype — 透過複製建立新物件
GoF Prototype 模式:比較淺拷貝與深拷貝的陷阱,說明為何應避免 Cloneable,以及拷貝建構子與 Jackson 序列化的現代替代方案
Builder — 分離複雜物件的建構與表示
GoF Builder 模式:用流式介面解決 telescoping constructor 問題,比較 Lombok @Builder 底層實作與 Java Records 的適用邊界
Factory Method — 讓子類決定實例化哪個類別
GoF Factory Method 模式:定義建立物件的介面,將具體類別的決策交給子類,並釐清與 Simple Factory、Abstract Factory、靜態工廠的差異
Singleton — 確保唯一實例
GoF Singleton 模式四種實作比較:Enum、Holder、DCL、Eager,說明 Spring Bean Singleton 與 GoF 的本質差異