藥不藥來當工程師一個不務正業的藥師,誤打誤撞來當了前端工程師。斜槓工程師的人生!
typescript
2026
從 100 行 Regex 到 Lucene Parser:複雜驗證邏輯的重構之路
2026-01-20 2026-01-20
最近在維護一個關鍵字搜尋功能時,遇到了一個經典的工程問題:手寫的 Regex 驗證邏輯越來越難維護,每次修 bug 都像在拆炸彈。
使用 Observer Pattern 重構複雜的資料上傳流程 - 以 PrimaryAPI 與 BackupService 整合為例
2026-01-12 2026-01-14
在後端開發中,我們常遇到需求不斷疊加,導致原本單純的類別(Class)變成了「上帝類別(God Class)」,職責混雜且難以測試。最近我在處理一個將資料上傳到 PrimaryAPI(主要資料平台)與 BackupService(備份服務)的功能時,就遇到了「堆疊式複雜度」的問題。本文將分享如何利用 Observer Pattern(觀察者模式)1 與 Mediator Pattern(中介者模式)2 來優化架構,達成高內聚低耦合的設計。
在 Cloud Run 被 OOM 教訓的一課:用 Stream 把記憶體從 O(N) 降到 O(1)
2026-01-06 2026-01-14
2026 年剛開始,我就收到了一份「大禮」。
2025
TypeScript 5.5+ Inferred Type Predicates:告別手動標註 `item is string`
2025-12-18 2026-01-14
在開發 Vue 組件時,我遇到了一個有趣的類型推斷問題,這讓我深入研究了 TypeScript 5.5 引入的 Inferred Type Predicates 功能。
Import Alias:~ vs @ 在不同框架的慣例
2025-12-05 2026-01-14
最近在重構專案時,發現自己一直習慣用 @ 來做 import alias,但 Nuxt3 的官方文件卻都用 ~。這讓我開始好奇:這兩個符號到底有什麼差異?各個框架的慣例又是什麼?
Copyright 2020-2026 - AzureBlue ALL RIGHTS RESERVED.