<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>2026/07 on BenzHub</title><link>https://benzhub.github.io/archives/2026/07/</link><description>Recent content in 2026/07 on BenzHub</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Mon, 20 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://benzhub.github.io/archives/2026/07/index.xml" rel="self" type="application/rss+xml"/><item><title>PostGIS 地理空間：從座標系統到空間查詢的完整實戰 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/044-postgis/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/044-postgis/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostGIS&lt;/strong&gt; 是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 最重要的擴展之一，為關聯式資料庫加入完整的地理空間功能。無論是「找出附近 1 公里的餐廳」、「判斷設備是否在圍欄內」還是「計算行政區面積」，&lt;strong&gt;PostGIS&lt;/strong&gt; 都能用 &lt;strong&gt;SQL&lt;/strong&gt; 直接完成。本文從座標系統、空間型別到索引與查詢模式，帶你掌握 &lt;strong&gt;PostGIS&lt;/strong&gt; 的完整實戰知識。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>近似與線上演算法完全指南 — 頂點覆蓋、集合覆蓋與秘書問題 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/037-approximation-online/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/037-approximation-online/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;近似演算法（Approximation Algorithms）&lt;/strong&gt; 與 &lt;strong&gt;線上演算法（Online Algorithms）&lt;/strong&gt; 是面對現實世界中 &lt;strong&gt;NP-hard&lt;/strong&gt; 問題與即時決策場景的兩大核心武器。近似演算法在多項式時間內找到「足夠好」的解，並以 &lt;strong&gt;近似比（Approximation Ratio）&lt;/strong&gt; 量化品質保證；線上演算法則在完全不知未來輸入的情況下即時決策，以 &lt;strong&gt;競爭比（Competitive Ratio）&lt;/strong&gt; 衡量與最優離線解的差距。本文將帶你從理論基礎出發，完整掌握 &lt;strong&gt;Vertex Cover 2-近似&lt;/strong&gt;、&lt;strong&gt;Set Cover 貪心法&lt;/strong&gt;、&lt;strong&gt;TSP 2-近似&lt;/strong&gt;、&lt;strong&gt;秘書問題 1/e 策略&lt;/strong&gt;、&lt;strong&gt;Paging&lt;/strong&gt; 與 &lt;strong&gt;負載均衡&lt;/strong&gt; 等經典技術，搭配 JavaScript/TypeScript 與 C++ 雙語言實作。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>開發者副業：5 條用你現有技能 + AI 變現的路 | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/008-developer-side-income-5-paths/</link><pubDate>Mon, 20 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/008-developer-side-income-5-paths/</guid><description>&lt;blockquote&gt;
&lt;p&gt;你手上已經有很多東西了：寫 code 的能力、踩過的坑、用熟的工具。加上 &lt;strong&gt;AI&lt;/strong&gt;，這些東西可以變成收入。問題不是「我有什麼」，而是「我要從哪條路走進去」。這篇文章把 &lt;strong&gt;開發者副業&lt;/strong&gt; 最常見的 5 條路整理出來，讓你找到自己的第一步，而不是五條一起衝然後全部卡死。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>pgvector 向量搜尋：從 Embedding 到 RAG 的完整實戰 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/043-pgvector/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/043-pgvector/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;pgvector&lt;/strong&gt; 是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 最受歡迎的向量搜尋擴展，讓你可以在關聯式資料庫中直接儲存、索引並查詢高維度 &lt;strong&gt;Embedding&lt;/strong&gt; 向量。無論是建構 &lt;strong&gt;RAG&lt;/strong&gt; 知識庫、語意搜尋引擎還是推薦系統，&lt;strong&gt;pgvector&lt;/strong&gt; 都能讓你用熟悉的 &lt;strong&gt;SQL&lt;/strong&gt; 完成所有操作，不需要另外維護一套專用向量資料庫。本文從原理到實戰，帶你掌握 &lt;strong&gt;pgvector&lt;/strong&gt; 的完整使用方式。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>用 AI 一天做出一個能收費的小工具（含金流）| AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/007-one-day-paid-tool-with-payments/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/007-one-day-paid-tool-with-payments/</guid><description>&lt;blockquote&gt;
&lt;p&gt;很多開發者說「想做產品」，但停留在想的階段好幾個月。真正的問題不是技術，而是&lt;strong&gt;沒有逼自己在一天內做出一個能收錢的東西&lt;/strong&gt;。這篇文章只討論一件事：今天結束之前，你要有一個 &lt;strong&gt;AI 小工具&lt;/strong&gt; 、一個 &lt;strong&gt;金流連結&lt;/strong&gt;、以及一個可以讓別人 &lt;strong&gt;付費&lt;/strong&gt; 的方式。不完美沒關係，能跑、能收費就夠了。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>沒有客戶怎麼接第一個 AI 案子？開發者的 0→1 拿案法 | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/006-first-ai-client-zero-to-one/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/006-first-ai-client-zero-to-one/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;接第一個案子&lt;/strong&gt;，是很多工程師卡最久的一關。技術沒問題、作品沒問題，就是沒有&lt;strong&gt;客戶&lt;/strong&gt;。真正的問題往往不是能力，而是「開口」這個動作。這篇文章是寫給還沒拿過第一個 AI 案的 &lt;strong&gt;工程師 接案 新手&lt;/strong&gt;：告訴你第一個客人通常從哪來、怎麼讓自己顯得可信、以及怎麼實際開口提案。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>隨機演算法完全指南 — QuickSelect、Reservoir Sampling 與 Fisher-Yates 洗牌 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/036-randomized/</link><pubDate>Sun, 19 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/036-randomized/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;隨機演算法（Randomized Algorithms）&lt;/strong&gt; 是在執行過程中引入隨機決策的演算法，透過 &lt;strong&gt;「擲骰子」&lt;/strong&gt; 來換取更簡單的實作與更好的平均效能。核心分為兩大類型：保證正確但時間隨機的 &lt;strong&gt;Las Vegas&lt;/strong&gt; 演算法（如 Randomized QuickSort、Reservoir Sampling），以及固定時間但答案可能有誤的 &lt;strong&gt;Monte Carlo&lt;/strong&gt; 演算法（如 Miller-Rabin 素數測試）。本文將帶你從理論基礎出發，完整掌握 &lt;strong&gt;QuickSelect&lt;/strong&gt;、&lt;strong&gt;Fisher-Yates 洗牌&lt;/strong&gt;、&lt;strong&gt;Skip List&lt;/strong&gt; 等經典技術，搭配 JavaScript/TypeScript 與 C++ 雙語言實作。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Claude Code vs Cursor：開發者接案該用哪個？實測拆解 | AI Insights</title><link>https://benzhub.github.io/post/ai-insights/014-claude-code-vs-cursor/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-insights/014-claude-code-vs-cursor/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Claude Code&lt;/strong&gt; 和 &lt;strong&gt;Cursor&lt;/strong&gt; 這兩個工具你應該都聽過，甚至兩個都裝了——但你可能跟我一樣，用了一段時間之後發現：&lt;strong&gt;同樣是 AI coding 工具，但它們根本不是拿來解決同一件事的&lt;/strong&gt;。這篇文章從我實際&lt;strong&gt;接案&lt;/strong&gt;和&lt;strong&gt;做自己產品&lt;/strong&gt;的使用情境出發，拆解兩者差異，給你一個具體的選型建議。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 版本升級：pg_upgrade 與邏輯複寫滾動升級完整攻略 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/042-upgrade/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/042-upgrade/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 版本升級是生命週期管理中最關鍵的維運作業。本文涵蓋 &lt;strong&gt;pg_upgrade&lt;/strong&gt; 的 &lt;code&gt;--link&lt;/code&gt; 與 &lt;code&gt;--copy&lt;/code&gt; 模式、&lt;strong&gt;邏輯複寫滾動升級&lt;/strong&gt;（接近零停機）、Extension 相容性驗證、升級後 &lt;strong&gt;ANALYZE&lt;/strong&gt; 統計重建、回滾計畫與常見陷阱的完整攻略。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>博弈論完全指南 — Nim 遊戲、Sprague-Grundy 定理與組合賽局分析 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/035-game-theory/</link><pubDate>Sat, 18 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/035-game-theory/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;博弈論（Game Theory）&lt;/strong&gt; 是演算法競賽與面試中極具策略深度的主題，核心工具包括 &lt;strong&gt;Nim 遊戲&lt;/strong&gt; 的 XOR 必勝判定、&lt;strong&gt;Sprague-Grundy 定理&lt;/strong&gt; 將任意公平遊戲等價為 Nim、以及 &lt;strong&gt;Minimax&lt;/strong&gt; 搜索與 &lt;strong&gt;Alpha-Beta 剪枝&lt;/strong&gt; 的賽局樹分析。從石子遊戲的數學必勝策略，到棋類 AI 的搜索框架，博弈論為我們提供了分析雙人對抗問題的完整理論武器。本文帶你從 P/N-position 基礎概念出發，逐步掌握 Nim、Grundy 數計算、複合賽局分析、Wythoff 遊戲與 Green Hackenbush 等進階技巧，搭配 JavaScript/TypeScript 與 C++ 雙語言完整實作。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 日常維護：REINDEX、pg_repack、Bloat 偵測與健檢腳本 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/041-maintenance/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/041-maintenance/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 的 MVCC 設計讓讀寫不互相阻塞，但也帶來了 &lt;strong&gt;Bloat（膨脹）&lt;/strong&gt;、統計資訊失準與索引碎片化等維護需求。本文涵蓋 &lt;strong&gt;REINDEX CONCURRENTLY&lt;/strong&gt;、&lt;strong&gt;pg_repack&lt;/strong&gt; 線上重組、Bloat 偵測、&lt;strong&gt;ANALYZE&lt;/strong&gt; 統計更新、日誌輪替與自動化健檢腳本的完整維運手冊。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>我把這 8 個重複工作交給 AI 自動化，每週省 5 小時 | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/005-8-dev-automations-save-5-hours/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/005-8-dev-automations-save-5-hours/</guid><description>&lt;blockquote&gt;
&lt;p&gt;算一下你上週的時間：寫&lt;strong&gt;程式碼審查提示&lt;/strong&gt;、補&lt;strong&gt;測試案例&lt;/strong&gt;、整理&lt;strong&gt;技術資訊&lt;/strong&gt;、回&lt;strong&gt;Email 草稿&lt;/strong&gt;、排&lt;strong&gt;社群貼文&lt;/strong&gt;。我算過，這些&lt;strong&gt;重複性工作&lt;/strong&gt;每週吃掉我將近 6 小時——不是在思考，不是在建東西，只是在執行。現在這 8 個流程我全部交給 &lt;strong&gt;AI 自動化&lt;/strong&gt;，每週省回 5 小時，然後把這 5 小時用在能帶來回報的事情上。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>計算幾何完全指南 — 凸包、線段交點與掃描線演算法 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/034-computational-geometry/</link><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/034-computational-geometry/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;計算幾何（Computational Geometry）&lt;/strong&gt; 是演算法中最具視覺直覺的分支，核心工具包括 &lt;strong&gt;叉積（Cross Product）&lt;/strong&gt; 方向判斷、&lt;strong&gt;凸包（Convex Hull）&lt;/strong&gt; 建構、&lt;strong&gt;線段交叉判定（Segment Intersection）&lt;/strong&gt; 與 &lt;strong&gt;旋轉卡尺（Rotating Calipers）&lt;/strong&gt;。從地圖圍欄（Geofencing）、遊戲碰撞偵測（Collision Detection），到機器人路徑規劃與 3D 列印切片，計算幾何無處不在。本文帶你從向量基礎出發，逐步掌握凸包演算法、線段交叉判定、多邊形面積計算、點在多邊形內判斷等核心技術，搭配 JavaScript/TypeScript 與 C++ 雙語言完整實作，全面解鎖計算幾何的實戰能力。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 安裝與部署：從套件管理器到 Docker 完整指南 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/040-installation/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/040-installation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;正確的安裝與初始化是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 穩定運行的基礎。本文涵蓋從 &lt;strong&gt;apt/yum/Homebrew&lt;/strong&gt; 套件管理器安裝到 &lt;strong&gt;原始碼編譯&lt;/strong&gt;、&lt;strong&gt;Docker&lt;/strong&gt; 容器部署、&lt;code&gt;initdb&lt;/code&gt; 初始化、&lt;code&gt;pg_hba.conf&lt;/code&gt; 認證設定與 &lt;strong&gt;systemd&lt;/strong&gt; 服務管理的完整流程。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>開發者的第一個 AI 微型 SaaS：一個週末就能上線的最小架構 | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/004-weekend-micro-saas-minimal-stack/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/004-weekend-micro-saas-minimal-stack/</guid><description>&lt;blockquote&gt;
&lt;p&gt;你不需要 &lt;strong&gt;大團隊&lt;/strong&gt;、不需要 &lt;strong&gt;微服務架構&lt;/strong&gt;、不需要先把所有功能想清楚，才能上線一個會&lt;strong&gt;收費&lt;/strong&gt;的 &lt;strong&gt;AI 微型 SaaS&lt;/strong&gt;。最小的 &lt;strong&gt;獨立開發&lt;/strong&gt; 路徑比你想的簡單——難的不是技術，是你願不願意在「還不完美」的時候就出手。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>數論完全指南 — GCD、模運算、質數篩法與中國剩餘定理 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/033-number-theory/</link><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/033-number-theory/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;數論（Number Theory）&lt;/strong&gt; 是演算法競賽與技術面試中最常見的數學工具箱，從 &lt;strong&gt;歐幾里得演算法（Euclidean Algorithm）&lt;/strong&gt; 求最大公因數、&lt;strong&gt;質數篩法（Sieve of Eratosthenes）&lt;/strong&gt; 高效列舉質數，到 &lt;strong&gt;模運算（Modular Arithmetic）&lt;/strong&gt; 處理大數取餘、&lt;strong&gt;費馬小定理（Fermat&amp;rsquo;s Little Theorem）&lt;/strong&gt; 求模反元素，再到 &lt;strong&gt;中國剩餘定理（Chinese Remainder Theorem）&lt;/strong&gt; 合併多模數方程式——這些工具構成了密碼學、雜湊函式、隨機化演算法的底層基石。本文帶你從直覺出發，逐步掌握所有核心數論演算法的原理與完整實作，搭配 JavaScript/TypeScript 與 C++ 雙語言範例，全面解鎖數論演算法的實戰能力。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PL/Python、PL/Perl、PL/v8：PostgreSQL 的多語言程序擴展 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/039-other-languages/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/039-other-languages/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 的程序語言架構具有高度可擴展性，除了內建的 &lt;strong&gt;PL/pgSQL&lt;/strong&gt; 之外，還支援 &lt;strong&gt;PL/Python&lt;/strong&gt;、&lt;strong&gt;PL/Perl&lt;/strong&gt;、&lt;strong&gt;PL/v8（JavaScript）&lt;/strong&gt; 等多種語言。本文完整解析各語言的安裝、語法、SPI 存取、效能特性與選擇策略。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>用 Cursor 接前端案：從報價到交付的完整 SOP | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/003-cursor-freelance-frontend-sop/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/003-cursor-freelance-frontend-sop/</guid><description>&lt;blockquote&gt;
&lt;p&gt;接案最耗時的不是&lt;strong&gt;寫 code&lt;/strong&gt;，是&lt;strong&gt;溝通&lt;/strong&gt;、&lt;strong&gt;估時&lt;/strong&gt;、&lt;strong&gt;改稿&lt;/strong&gt;。一個前端案子，開發本體可能只佔你 40% 的時間，剩下 60% 全花在「確認需求」、「等客戶回覆」、「第三輪改稿」上。我用 &lt;strong&gt;Cursor&lt;/strong&gt; 把開發速度拉高之後，反而更清楚意識到這件事——所以這篇文章不只講怎麼用 Cursor 寫程式，而是把整個&lt;strong&gt;接案 SOP&lt;/strong&gt; 從頭到尾整理出來，包含報價、開發、交付、改稿、定價邏輯。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>字串演算法完全指南 — KMP、Rabin-Karp、Z-Algorithm 與 Aho-Corasick | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/032-string-algorithms/</link><pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/032-string-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;字串演算法（String Algorithms）&lt;/strong&gt; 是處理文字資料的核心工具，從 &lt;strong&gt;KMP&lt;/strong&gt; 的失配函式到 &lt;strong&gt;Rabin-Karp&lt;/strong&gt; 的滾動雜湊，從 &lt;strong&gt;Z-Algorithm&lt;/strong&gt; 的前綴匹配到 &lt;strong&gt;Aho-Corasick&lt;/strong&gt; 的多模式自動機，每種演算法針對不同問題規模與查詢類型做出精準的時間空間取捨。本文帶你從暴力法的瓶頸出發，逐步掌握四大字串匹配演算法的核心原理與完整實作，搭配 JavaScript/TypeScript 與 C++ 雙語言範例，全面解鎖文字處理的高效演算法。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Rules 與 LISTEN/NOTIFY：查詢改寫與即時事件通知 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/038-rules-and-events/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/038-rules-and-events/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 的 &lt;strong&gt;Rule System&lt;/strong&gt; 與 &lt;strong&gt;LISTEN/NOTIFY&lt;/strong&gt; 是兩個截然不同的事件導向機制。Rule System 在查詢改寫階段攔截並變換 SQL 語句，而 LISTEN/NOTIFY 則提供輕量級的非同步訊息通道，讓資料庫主動推送事件給應用程式。本文完整解析這兩個機制的原理、實作與最佳實踐。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>工程師如何用 Claude Code 把一週的工作壓縮到一天 | AI 賺錢</title><link>https://benzhub.github.io/post/ai-income/002-claude-code-dev-productivity/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/ai-income/002-claude-code-dev-productivity/</guid><description>&lt;blockquote&gt;
&lt;p&gt;你每天有多少時間，不是在&lt;strong&gt;解決真正的問題&lt;/strong&gt;，而是在打&lt;strong&gt;樣板碼&lt;/strong&gt;、查不熟的 &lt;strong&gt;API 文件&lt;/strong&gt;、手動補&lt;strong&gt;單元測試&lt;/strong&gt;？我把這些事情交給 &lt;strong&gt;Claude Code&lt;/strong&gt; 之後，同樣的工作量，原本要五天，現在大概一天半就搞定了。省下的那三天，我拿去接了兩個 &lt;strong&gt;自由接案&lt;/strong&gt;，另一個月開始做自己的 &lt;strong&gt;SaaS 產品&lt;/strong&gt;。這篇文章把我的實際工作流寫出來。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>網路流完全指南 — Ford-Fulkerson、Dinic 演算法與最大流最小割定理 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/031-network-flow/</link><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/031-network-flow/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;網路流（Network Flow）&lt;/strong&gt; 是圖論中最強大的技術之一，研究在有容量限制的有向圖中，從源點到匯點能傳送的最大流量問題。從 &lt;strong&gt;Ford-Fulkerson&lt;/strong&gt; 的增廣路徑法，到 &lt;strong&gt;Dinic&lt;/strong&gt; 的分層圖與阻塞流，再到 &lt;strong&gt;最大流最小割定理&lt;/strong&gt; 揭示的深刻對偶性，這些概念在航線排程、影像分割、任務分配等領域都有重要應用。本文帶你從核心原理到 TypeScript 與 C++ 完整實作，全面掌握網路流演算法。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Foreign Data Wrapper（FDW）：跨資料庫查詢的瑞士刀 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/037-fdw/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/037-fdw/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 的 &lt;strong&gt;Foreign Data Wrapper（FDW）&lt;/strong&gt; 實作了 SQL/MED 標準，讓你透過標準 SQL 語法查詢遠端 &lt;strong&gt;PostgreSQL&lt;/strong&gt;、MySQL、Oracle、CSV 檔案甚至 REST API——如同操作本地表格一般。本文從 FDW 三層架構到 &lt;strong&gt;Pushdown&lt;/strong&gt; 優化原理，完整解析這個跨資料庫整合的利器。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>樹演算法 — LCA、樹 DP 與重鏈剖分進階技巧 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/030-tree-algorithms/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/030-tree-algorithms/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;樹演算法（Tree Algorithms）&lt;/strong&gt; 是競技程式設計中最精深的技術之一。從 &lt;strong&gt;LCA 最近公共祖先&lt;/strong&gt; 的倍增法，到 &lt;strong&gt;樹上動態規劃&lt;/strong&gt; 的後序匯總，再到 &lt;strong&gt;重鏈剖分&lt;/strong&gt; 的路徑區間查詢，這些技巧在版本控制系統、DOM 樹查詢、網路拓撲分析中都有實際應用。本文帶你從原理到 TypeScript 與 C++ 完整實作，一次掌握進階樹演算法。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 實用擴充精選：pg_cron、pg_repack 與 pg_hint_plan | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/036-useful-extensions/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/036-useful-extensions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;上一篇我們認識了 &lt;strong&gt;PostgreSQL Extension&lt;/strong&gt; 的核心機制與常用模組。本篇將聚焦於三個生產環境的利器：&lt;strong&gt;pg_cron&lt;/strong&gt;（資料庫內的排程任務）、&lt;strong&gt;pg_repack&lt;/strong&gt;（不鎖表的線上重組）、&lt;strong&gt;pg_hint_plan&lt;/strong&gt;（強制指定執行計畫），同時深入 &lt;strong&gt;pg_stat_statements&lt;/strong&gt; 的進階分析查詢，以及各擴充在生產環境中的部署策略與雲端支援狀況。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>最小生成樹 — Kruskal 與 Prim 演算法完整比較與實作 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/029-mst/</link><pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/029-mst/</guid><description>&lt;blockquote&gt;
&lt;p&gt;想像一位城市規劃師，需要在六座城市之間鋪設光纖網路，使所有城市互聯互通，同時讓總鋪設費用最低。這個問題的答案，正是 &lt;strong&gt;最小生成樹（Minimum Spanning Tree，MST）&lt;/strong&gt;。本文完整介紹 &lt;strong&gt;Kruskal&lt;/strong&gt; 與 &lt;strong&gt;Prim&lt;/strong&gt; 兩大演算法的原理、差異，以及 JavaScript/TypeScript 與 C++ 的完整實作。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 擴充模組生態：從 pg_stat_statements 到 PostGIS | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/035-extensions/</link><pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/035-extensions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 最強大的設計哲學之一就是 &lt;strong&gt;可擴展性（Extensibility）&lt;/strong&gt;。透過 &lt;strong&gt;Extension&lt;/strong&gt; 機制，你可以在不修改核心原始碼的前提下，為資料庫新增資料型別、運算子、索引方法，甚至完整的功能套件。從效能調優必備的 &lt;strong&gt;pg_stat_statements&lt;/strong&gt;，到地理空間處理的 &lt;strong&gt;PostGIS&lt;/strong&gt;、向量搜尋的 &lt;strong&gt;pgvector&lt;/strong&gt;，Extension 生態讓 PostgreSQL 成為了「不只是關聯式資料庫」的強大平台。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>拓撲排序 — Kahn's BFS 與 DFS 雙解法完整教學 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/028-topological-sort/</link><pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/028-topological-sort/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;拓撲排序（Topological Sort）&lt;/strong&gt; 是對 &lt;strong&gt;有向無環圖（DAG）&lt;/strong&gt; 節點進行線性排序的技術，確保每條有向邊 &lt;code&gt;u → v&lt;/code&gt; 中，&lt;code&gt;u&lt;/code&gt; 永遠出現在 &lt;code&gt;v&lt;/code&gt; 之前。從大學選課的先修規劃，到 npm 套件的依賴安裝順序，背後都是拓撲排序在默默運作。本文完整介紹 &lt;strong&gt;Kahn&amp;rsquo;s Algorithm（BFS）&lt;/strong&gt; 與 &lt;strong&gt;DFS 後序反轉法&lt;/strong&gt; 雙解法，並搭配環偵測與 LeetCode 實戰題解。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PostgreSQL 組態調校：從預設值到生產級效能 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/034-configuration-tuning/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/034-configuration-tuning/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 預設組態刻意設得極為保守——它必須能在 256MB RAM 的環境上啟動。這意味著在生產環境中，幾乎 &lt;strong&gt;每一台&lt;/strong&gt; 資料庫伺服器都需要根據硬體規格與工作負載進行系統性調校。正確的 &lt;strong&gt;組態調校（Configuration Tuning）&lt;/strong&gt; 可使效能提升數倍，而錯誤的設定則可能導致 &lt;strong&gt;OOM&lt;/strong&gt;、Checkpoint 風暴與查詢計劃退化。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>最短路徑演算法 — Dijkstra、Bellman-Ford、Floyd-Warshall 完整比較 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/027-shortest-path/</link><pubDate>Fri, 10 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/027-shortest-path/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;最短路徑演算法（Shortest Path Algorithm）&lt;/strong&gt; 是圖論中最核心的問題之一。從 GPS 導航選擇最快路線，到網路封包選擇最短跳數路由，背後都是這一類演算法在運作。本文系統介紹三大主流演算法：&lt;strong&gt;Dijkstra&lt;/strong&gt;（單源正權）、&lt;strong&gt;Bellman-Ford&lt;/strong&gt;（支援負權、可偵測負環）、&lt;strong&gt;Floyd-Warshall&lt;/strong&gt;（全源最短路），並涵蓋 A* 啟發式搜尋與 SPFA 優化。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>BFS 與 DFS — 廣度優先與深度優先搜尋完整教學 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/026-bfs-dfs/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/026-bfs-dfs/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;BFS（廣度優先搜尋）&lt;/strong&gt; 與 &lt;strong&gt;DFS（深度優先搜尋）&lt;/strong&gt; 是圖論中最核心的兩種遍歷策略。&lt;strong&gt;BFS&lt;/strong&gt; 如同水波向外擴散，逐層推進，天然找到無權圖的最短路徑；&lt;strong&gt;DFS&lt;/strong&gt; 如同走迷宮，沿一條路徑深入到底再回溯，自然揭示圖的拓撲結構。掌握這兩種思想，等於拿到了圖演算法的入場券。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>監控與診斷：pg_stat 視圖、pg_stat_statements 與 Prometheus 可觀測性 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/033-monitoring/</link><pubDate>Thu, 09 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/033-monitoring/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 內建豐富的統計資訊視圖（Statistics Views），從連線狀態、查詢效能、表與索引健康到 WAL 寫入量，幾乎所有關鍵指標都可透過 SQL 查詢取得。搭配 &lt;strong&gt;Prometheus&lt;/strong&gt;、&lt;strong&gt;Grafana&lt;/strong&gt; 和 &lt;strong&gt;pgBadger&lt;/strong&gt; 等外部工具，可以建立完整的可觀測性（Observability）體系。本篇將從內建視圖到外部監控平台，全面剖析 PostgreSQL 監控與診斷的實務知識。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>連線池管理：PgBouncer、Pgpool-II 與應用層池化完全指南 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/032-connection-pooling/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/032-connection-pooling/</guid><description>&lt;blockquote&gt;
&lt;p&gt;在 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 的 Fork 模型中，每個連線都會佔用一個獨立的 Backend Process，當連線數過高時，系統資源消耗與 Context Switch 開銷會急遽上升。&lt;strong&gt;連線池&lt;/strong&gt;（Connection Pooling）透過在應用程式與資料庫之間建立中介層，重複利用已建立的連線，大幅降低開銷並提升整體吞吐量。本篇將從 &lt;strong&gt;PgBouncer&lt;/strong&gt;、&lt;strong&gt;Pgpool-II&lt;/strong&gt; 到應用層池化，全面解析連線池管理的實務知識。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>圖的表示法 — 鄰接矩陣、鄰接串列與邊串列完整解析 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/025-graph-representation/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/025-graph-representation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;圖（Graph）&lt;/strong&gt; 是由 &lt;strong&gt;頂點（Vertex）&lt;/strong&gt; 與 &lt;strong&gt;邊（Edge）&lt;/strong&gt; 組成的資料結構，能描述現實世界中幾乎所有的關聯關係：社交網路的朋友關係、地圖的路網、網頁的超連結，都是圖的實例。選擇正確的 &lt;strong&gt;圖的表示法（Graph Representation）&lt;/strong&gt;——鄰接矩陣、鄰接串列或邊串列——是決定圖演算法效能的第一步。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>位元運算 — AND、OR、XOR 六大運算子與 Bitmask 技巧 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/024-bit-manipulation/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/024-bit-manipulation/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;位元運算（Bit Manipulation）&lt;/strong&gt; 是直接對整數的二進位（Binary）表示進行操作的技術，以硬體層級的單一 CPU 指令實現 O(1) 的集合、邏輯與數值運算。從 &lt;strong&gt;AND/OR/XOR&lt;/strong&gt; 六大基礎運算子，到 &lt;strong&gt;lowbit&lt;/strong&gt;、&lt;strong&gt;popcount&lt;/strong&gt;、&lt;strong&gt;Bitmask 狀態壓縮&lt;/strong&gt;，位元操作是底層系統設計、面試題破解與動態規劃優化的核心工具。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>高可用架構（High Availability）：Patroni、repmgr 與自動 Failover | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/031-high-availability/</link><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/031-high-availability/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 高可用（&lt;strong&gt;HA&lt;/strong&gt;）架構旨在確保資料庫服務在節點故障、網路中斷時仍能持續運作。本文涵蓋主流 HA 方案——&lt;strong&gt;Patroni&lt;/strong&gt; + etcd + HAProxy、&lt;strong&gt;repmgr&lt;/strong&gt;、&lt;strong&gt;pg_auto_failover&lt;/strong&gt;——的完整部署配置、選型指南，以及 &lt;strong&gt;Kubernetes&lt;/strong&gt; 原生部署策略。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>分治法 — Divide and Conquer 三階段與 Master Theorem | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/023-divide-conquer/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/023-divide-conquer/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;分治法（Divide and Conquer）&lt;/strong&gt; 是演算法設計中最優雅的範式之一：把大問題切成小問題，各自擊破，再將答案組合回來。從 &lt;strong&gt;Merge Sort&lt;/strong&gt; 到 &lt;strong&gt;Quick Select&lt;/strong&gt;、從 &lt;strong&gt;最近點對&lt;/strong&gt; 到 &lt;strong&gt;FFT&lt;/strong&gt;，分治法的三階段思維貫穿了無數高效演算法的核心，也是面試中理解遞迴複雜度的重要框架。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>複寫與高可用（Replication）：從 Streaming 到 Logical Replication | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/030-replication/</link><pubDate>Mon, 06 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/030-replication/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; 的 &lt;strong&gt;複寫&lt;/strong&gt;（Replication）是高可用架構的核心技術。透過將 Primary 節點的資料變更持續同步到 Standby 節點，系統在 Primary 故障時能快速切換。本文將完整解析 &lt;strong&gt;Physical Replication&lt;/strong&gt; 與 &lt;strong&gt;Logical Replication&lt;/strong&gt; 兩大機制，從設定到 Failover 全流程。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>貪心演算法 — Greedy 策略、正確性證明與經典問題 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/022-greedy/</link><pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/022-greedy/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;貪心演算法（Greedy Algorithm）&lt;/strong&gt; 是一種每個決策步驟都選取當前最優選項的策略——不回溯、不猶豫，直接拿走「眼前最好的」。它的魅力在於極度簡潔與高效；它的挑戰在於，你必須嚴格證明「局部最優」真的能累積成「全域最優」，否則貪心只是貪心，不是正確。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>備份與還原（Backup &amp; Restore）：從 pg_dump 到 PITR 時間點恢復 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/029-backup-restore/</link><pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/029-backup-restore/</guid><description>&lt;blockquote&gt;
&lt;p&gt;備份與還原是資料庫管理員最核心的職責。&lt;strong&gt;PostgreSQL&lt;/strong&gt; 提供多層次的備份策略：從輕量的 &lt;strong&gt;邏輯備份&lt;/strong&gt;（pg_dump）到完整的 &lt;strong&gt;物理備份&lt;/strong&gt;（pg_basebackup），再到結合 &lt;strong&gt;WAL&lt;/strong&gt; 歸檔的 &lt;strong&gt;PITR&lt;/strong&gt;（Point-in-Time Recovery）時間點恢復。本文將從基礎到進階，完整建立你的災難復原能力。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>安全與權限管理：從認證到 Row Level Security 全方位防護 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/028-security/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/028-security/</guid><description>&lt;blockquote&gt;
&lt;p&gt;安全是資料庫運維的基石。&lt;strong&gt;PostgreSQL&lt;/strong&gt; 採用「縱深防禦（Defense in Depth）」策略，從&lt;strong&gt;網路層&lt;/strong&gt;、&lt;strong&gt;認證層&lt;/strong&gt;、&lt;strong&gt;授權層&lt;/strong&gt;到&lt;strong&gt;資料加密層&lt;/strong&gt;，每一層都有對應的防護機制。本文將從 &lt;strong&gt;SCRAM-SHA-256&lt;/strong&gt; 認證、&lt;strong&gt;pg_hba.conf&lt;/strong&gt; 設定，到 &lt;strong&gt;Row Level Security&lt;/strong&gt;、&lt;strong&gt;pgAudit&lt;/strong&gt; 稽核與 &lt;strong&gt;pgcrypto&lt;/strong&gt; 加密，帶你建立完整的 PostgreSQL 安全防線。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>動態規劃進階 — Bitmask DP、Digit DP 與空間優化技巧 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/021-dp-advanced/</link><pubDate>Sat, 04 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/021-dp-advanced/</guid><description>&lt;blockquote&gt;
&lt;p&gt;在掌握了&lt;strong&gt;動態規劃（Dynamic Programming）&lt;strong&gt;的基礎框架之後，進階技巧才是真正拉開競賽與面試實力差距的地方。&lt;strong&gt;Bitmask DP&lt;/strong&gt; 用二進位整數壓縮集合狀態，解決排列與子集問題；&lt;strong&gt;Digit DP&lt;/strong&gt; 逐位決策，統計數字範圍內的特定計數；&lt;strong&gt;區間 DP&lt;/strong&gt; 以 &lt;code&gt;dp[l][r]&lt;/code&gt; 枚舉分割點，處理合併類問題；搭配&lt;/strong&gt;滾動陣列&lt;/strong&gt;等空間優化，讓你在時間與空間之間取得最佳平衡。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Django 套件生態系：必裝套件與推薦工具 | Django 教學</title><link>https://benzhub.github.io/post/django/044-django-packages-ecosystem/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/django/044-django-packages-ecosystem/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Django 的設計哲學是提供核心框架（ORM、Admin、Auth、Forms），而將更多功能交給社群生態系以 &lt;strong&gt;第三方套件（Third-party Packages）&lt;/strong&gt; 的形式補充。從 API 開發的 &lt;strong&gt;Django REST Framework&lt;/strong&gt; 到非同步任務的 &lt;strong&gt;Celery&lt;/strong&gt; ，從社群登入的 &lt;strong&gt;django-allauth&lt;/strong&gt; 到除錯工具的 &lt;strong&gt;django-debug-toolbar&lt;/strong&gt; ，豐富的套件生態系讓你能快速組裝出功能完整的應用程式。本篇將全面盤點 Django 生態系中的必裝與推薦套件，並建立套件選擇與管理的最佳實踐。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>分區管理：PostgreSQL 宣告式分割表的完整維運指南 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/027-partitioning/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/027-partitioning/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;分割表（Partitioned Table）&lt;/strong&gt; 是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 處理大規模資料集的核心手段。自 &lt;strong&gt;PG10&lt;/strong&gt; 引入宣告式分割（Declarative Partitioning）以來，透過 &lt;strong&gt;RANGE&lt;/strong&gt;、&lt;strong&gt;LIST&lt;/strong&gt;、&lt;strong&gt;HASH&lt;/strong&gt; 三種策略將大表拆分為多個小分割，搭配 &lt;strong&gt;Partition Pruning&lt;/strong&gt; 讓查詢只掃描必要的分割，是兼顧效能與維護性的最佳方案。本篇涵蓋分割表從建立、日常管理、&lt;strong&gt;pg_partman&lt;/strong&gt; 自動化到大表線上遷移的完整維運指南。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>動態規劃基礎 — 五步驟解題法與經典 DP 問題詳解 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/020-dp-fundamentals/</link><pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/020-dp-fundamentals/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;動態規劃（Dynamic Programming，DP）&lt;/strong&gt; 是演算法學習中最重要也最難掌握的技術之一。它透過將問題分解為&lt;strong&gt;重疊子問題&lt;/strong&gt;，用表格記錄每個子問題的答案避免重複計算，從而高效解決最優化與計數問題。本文從爬樓梯的直覺出發，系統介紹 DP 的五步驟解題框架，並以 &lt;strong&gt;TypeScript&lt;/strong&gt; 與 &lt;strong&gt;C++&lt;/strong&gt; 完整實作背包、LCS、LIS 等面試必考題型。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Django 進階資料庫：連線池、Raw SQL 與交易管理 | Django 教學</title><link>https://benzhub.github.io/post/django/043-django-database-advanced/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/django/043-django-database-advanced/</guid><description>&lt;blockquote&gt;
&lt;p&gt;當 Django 專案從開發階段邁向生產環境，資料庫操作的效能與可靠性就成為核心關注點。 &lt;strong&gt;連線池（Connection Pool）&lt;/strong&gt; 減少重複建立連線的開銷， &lt;strong&gt;Raw SQL&lt;/strong&gt; 讓你在 ORM 力有未逮時直接操作資料庫， &lt;strong&gt;交易管理（Transaction Management）&lt;/strong&gt; 確保資料的一致性與完整性。本篇將深入探討這些進階資料庫技術，幫助你打造高效能且穩定的 Django 後端。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>SQL 函數與 Stored Procedure：PostgreSQL 函數生態系統完全指南 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/026-functions-procedures/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/026-functions-procedures/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;函數（Function）&lt;/strong&gt; 與 &lt;strong&gt;Stored Procedure&lt;/strong&gt; 是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 中封裝可重用邏輯的核心機制。&lt;strong&gt;Function&lt;/strong&gt; 自 PostgreSQL 誕生起即存在，可在查詢中直接呼叫並回傳值；&lt;strong&gt;Stored Procedure&lt;/strong&gt; 則於 &lt;strong&gt;PG11&lt;/strong&gt; 正式引入，支援獨立的 &lt;strong&gt;Transaction 控制&lt;/strong&gt;。掌握兩者的差異、參數模式、回傳型別、&lt;strong&gt;Function Inlining&lt;/strong&gt;、&lt;strong&gt;Polymorphic Functions&lt;/strong&gt; 等進階特性，是資料庫端程式設計的關鍵能力。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>滑動視窗 — 固定與可變視窗模板完整解析 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/019-sliding-window/</link><pubDate>Thu, 02 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/019-sliding-window/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;滑動視窗（Sliding Window）&lt;/strong&gt; 是在線性序列上維護一個連續區間，透過右指標擴展、左指標收縮，將原本需要 O(n²) 暴力枚舉的子陣列/子字串問題降至 O(n) 的演算法技巧。它是 &lt;strong&gt;雙指標&lt;/strong&gt; 的特化形式，核心在於「如何維護視窗狀態」與「何時收縮視窗」這兩個判斷。掌握固定視窗與可變視窗兩種模板，能讓你輕鬆應對 LeetCode 中大量子陣列與子字串類的面試高頻題。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Django 生產部署：Nginx + Gunicorn 完全指南 | Django 教學</title><link>https://benzhub.github.io/post/django/042-django-nginx-gunicorn/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/django/042-django-nginx-gunicorn/</guid><description>&lt;blockquote&gt;
&lt;p&gt;從開發環境的 &lt;code&gt;python manage.py runserver&lt;/code&gt; 到真正面對使用者的生產服務，中間隔著一道巨大的鴻溝。生產部署需要 &lt;strong&gt;Gunicorn&lt;/strong&gt; 作為 &lt;strong&gt;WSGI（Web Server Gateway Interface）&lt;/strong&gt; 應用伺服器來處理並發請求，再由 &lt;strong&gt;Nginx&lt;/strong&gt; 擔任 &lt;strong&gt;反向代理（Reverse Proxy）&lt;/strong&gt; 處理靜態檔案、SSL 終止與負載平衡。本篇將完整走過 Django 生產部署的標準架構，從安裝設定到上線檢查，帶你打造穩定高效的生產環境。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>PL/pgSQL 程式語言：PostgreSQL 伺服器端程式設計完全指南 | PostgreSQL</title><link>https://benzhub.github.io/post/postgresql/025-plpgsql/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/postgresql/025-plpgsql/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;PL/pgSQL&lt;/strong&gt; 是 &lt;strong&gt;PostgreSQL&lt;/strong&gt; 內建的過程化語言（Procedural Language），讓你在資料庫伺服器端撰寫複雜的業務邏輯。它結合了 &lt;strong&gt;SQL&lt;/strong&gt; 的資料操作能力與程式語言的流程控制能力——&lt;strong&gt;變數宣告&lt;/strong&gt;、&lt;strong&gt;條件判斷&lt;/strong&gt;、&lt;strong&gt;迴圈&lt;/strong&gt;、&lt;strong&gt;例外處理&lt;/strong&gt;，搭配 &lt;strong&gt;Plan Caching&lt;/strong&gt; 機制讓執行效率媲美原生 SQL。從 &lt;strong&gt;PG11&lt;/strong&gt; 開始更引入了 &lt;strong&gt;Stored Procedure&lt;/strong&gt;，支援在程序內進行 &lt;strong&gt;Transaction 控制&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>雙指標技巧 — 四種模式完整解析與面試實戰 | 資料結構與演算法</title><link>https://benzhub.github.io/post/javascript/data-structures--algorithms/018-two-pointers/</link><pubDate>Wed, 01 Jul 2026 00:00:00 +0000</pubDate><guid>https://benzhub.github.io/post/javascript/data-structures--algorithms/018-two-pointers/</guid><description>&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;雙指標（Two Pointers）&lt;/strong&gt; 是用兩個索引在資料結構上同時移動，以 O(n) 時間解決原本需要 O(n²) 暴力枚舉問題的演算法技巧。它的核心思想是利用資料的有序性或特定結構性質，讓每次指標移動都能排除一批不可能的候選答案。掌握對撞指標、同向指標、快慢指標、雙序列指標四種模式，是破解 LeetCode 中高頻面試題的關鍵武器。&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>