跳到主要內容

文章列表

共 28 篇

第 1 / 3 頁

程式語言

Actor 模式:把「同時」變成「排隊」

共享記憶體加鎖為什麼難寫對?Actor 模式用私有狀態與非同步訊息換掉鎖。本文從死結談起,比較 Swift 的編譯器隔離與 Erlang 的行程隔離,並拆解 actor reentrancy 這個容易踩的坑。

#Actor Model#並行處理#軟體架構#Swift#Erlang#Elixir
程式語言

改名字換不到封裝:Python 的 __x、JavaScript 的 #x,與 minifier 在做的那件事

Python 的雙底線是編譯期的識別字改寫,JavaScript 的 # 是語言層的硬性私有,minifier 的 mangle 又是第三件事。同一個詞蓋住四種機制,而其中只有一種真的擋得住人。

#Python#JavaScript#Name Mangling#TypeScript#封裝
程式語言

Python 的 EAFP 與 LBYL:例外處理為什麼貴,又該在哪裡用?

從 Stack Frame、Call Stack、Stack Unwinding、Traceback 與 Heap 拆解 Python 例外的成本,理解 EAFP 與 LBYL 的真正取捨。

#Python#Exception Handling#EAFP#LBYL
AI 原理與協定

AI Agent 的記憶有上限:談 context 管理的取捨與策略

AI agent 的 context window 是有限資源:什麼該留、什麼該壓成摘要、什麼該丟。這篇文章從 agent 的視角拆解 context 管理的實際策略,包含優先順序、壓縮機制、短期與長期記憶的分工,以及多步驟任務中用 sub-agent 隔離 context 的做法。

#AI Agent#Context Window#LLM#Memory#Context Engineering
程式語言

編譯期就擋,還是執行期才爆?Java、Python、JavaScript 的 forward reference

同樣是「先用後宣告」,Java 直接編譯失敗,Python 有時候可以有時候噴 NameError,JavaScript 則給你一個 undefined。差別不在語法,而在「名字是什麼時候被解析的」。本文以 Java 的 JLS 規則為主軸,往下對照 Python 與 JavaScript。

#Java#Python#JavaScript#Forward Reference#JLS#Hoisting#TDZ
程式語言

Java LDAPS 的 connection pool:以為開了,其實沒開

在 JNDI 環境裡加上 com.sun.jndi.ldap.connect.pool=true,看起來 pool 就開好了。但只要連的是 LDAPS,這行設定完全不會生效,因為 pooling 的預設條件裡沒有 SSL。從驗證方法講起,給出一份完整的設定,並說明 pool key、閒置連線與歸還時機。

#Java#LDAP#LDAPS#JNDI#Connection Pool#TLS
AI 原理與協定

OpenAI Responses API 拆解:為推理與 Agent 時代打造的全新介面

多輪對話要手動存 messages 陣列、快取容易失效、自訂工具還要來回跑 Callback?本文拆解 OpenAI 全新的 Responses API 如何用有狀態設計解決這些痛點,並優化推理模型與內建工具。

#OpenAI#API#Agent#LLM
DevOps 與環境

跨儲存庫自動化:用 GitHub Actions 將 A 專案部署到 B 專案的 GitHub Pages (綁定自訂網域)

手把手教你如何使用 GitHub Actions 將 A 儲存庫的靜態網頁自動部署到 B 儲存庫的 GitHub Pages,並綁定 example.com 自訂網域。

#GitHub#GitHub Actions#GitHub Pages#CI/CD#DevOps
程式語言

Pydantic 入門:用型別註解打造 Python 的執行期資料驗證

從 Java/JavaScript 開發者的視角理解 Pydantic,涵蓋核心概念、常用功能,以及它為何成為 FastAPI 與 LLM structured output 的基石。

#Python#Pydantic#FastAPI#LLM
程式語言

從全域污染到 import:CommonJS 與 ESM 的由來、差別與未來

為什麼 Node 用 require,瀏覽器卻用 import?為什麼有些套件叫 .mjs,有些叫 .cjs?這些混亂的根源,是 JavaScript 模組系統一段橫跨十幾年的演進史。本文從沒有模組的年代講起,用實際程式碼對照 CommonJS 與 ESM 的差別,再說清楚為什麼 ESM 是未來。

#JavaScript#CommonJS#ESM#ES Modules#Node.js#模組系統
AI 原理與協定

不同專家處理,怎麼還拼得出通順的句子?拆解 MoE 的真正運作

MoE 把一句話分給不同專家處理,那拼回來怎麼還會通順?這其實是個誤會——根本沒有「拼句子」這一步。本文用最白話的方式講清楚 MoE 怎麼把字一個一個吐出來,順帶戳破「MoE 一定比較快」這個被簡化過頭的說法。

#LLM#MoE#Transformer#模型架構#推理
AI 原理與協定

ReAct:讓語言模型邊想邊做,而不是閉著眼睛猜

為什麼語言模型會自信地編出一個錯答案?因為它只會「想」,碰不到外面的世界。ReAct(Reason + Act)把推理和行動交織成一個迴圈:想一步、做一步、看一步。本文用一段實際的 trace 和一個最小可跑的 Python 迴圈,講清楚 ReAct 的原理,以及它和今天 AI agent 的關係。

#ReAct#AI Agent#LLM#Reasoning#Tool Use#Chain-of-Thought