文章
-
事件迴圈不是多執行緒:Node.js 併發最常見的誤會
Node.js 的非阻塞 I/O 看起來很像多執行緒,但骨子裡是單執行緒事件迴圈,這一字之差在 CPU 密集場景會踩到很痛的天花板。
-
interface 與組合
Go 介面隱式滿足,讓組合勝繼承變得自然,也是 adapter 模式的底氣。
-
跨邊界的語意流失,與 monolith 一直有吸引力的原因
大型系統難組合,多半不是元件爛,而是語意在跨服務邊界被壓成 bytes 跟字串,工具就接不住了。
-
能 build 不等於設計合理:JS 工具鏈的厭世日記
工具鏈跑起來只是最低門檻,大家卻忘了問「這樣設計對嗎」。
-
型別不是安全感
TypeScript 的型別系統是用來想清楚資料與邊界的工具,不是拿來換一種「看起來很安全」的心理。
-
struct tag 與 reflect
struct tag 是 Go 留給工具的後門,reflect 把它讀出來。為宣告式路由打好地基。
-
抽象層級的紀律,每層清楚的做一件事情
責任模糊,debug 就得跨層猜。談過度抽象與抽象不足,還有什麼時候根本別抽。