文章
共 108 篇
- 資深工程師通常寫得更少2026-09-30
- Git hooks 與 CI 檢查該怎麼分工2026-09-03
- 事後檢討:追查 CI 中隨機失敗的 E2E 測試2026-07-30
- 用 Cascade Layers 整理大型樣式表2026-07-29
- 第二個使用情境出現前,別急著加抽象層2026-07-28
- 把待辦應用重寫三次後,我學到的狀態管理2026-07-08
- 重新設計載入狀態後學到的教訓2026-06-24
- 打造真的能幫上忙的 Astro 錯誤頁2026-06-18
- 找出資料表格多餘的重新渲染2026-06-17
- 替 Express API 加上速率限制2026-05-19
- Passkey 與密碼管理器的比較2026-05-15
- 趁還磕磕絆絆時,就把剛學會的東西教出去2026-05-14
- 用 Vue transition-group 讓清單變動有動畫2026-04-07
- 用 pprof 找出 Go 程式的瓶頸2026-04-07
- 實作離線優先的筆記同步與衝突處理2026-04-02
- 設計系統為什麼在六個月後停擺2026-03-12
- 審核 AI 生成程式碼的檢查清單2026-03-05
- 找出並修正事件監聽器造成的記憶體洩漏2026-02-25
- 在日常 JavaScript 中養成不可變的習慣2026-02-17
- 用 prefetch 與 prerender 加速頁面切換2026-02-09
- 用型別安全的設定載入環境變數2026-01-20
- 替三台超載的主機調整機型,把雲端費用降下來2026-01-15
- 為什麼我們刪掉一半的 E2E 測試2026-01-12
- 程式化 SEO 頁面案例:四萬頁的半年回顧2026-01-09
- 事後檢討:一次鎖住正式環境資料表的 migration2025-11-26
- 非同步書面溝通勝過再多一場會議2025-11-23
- 用互動式 rebase 整理提交歷史2025-11-12
- 事後檢討:外洩九天的 API 金鑰2025-10-02
- 辦一場團隊真心期待的每週 Demo Day2025-10-02
- 檢查標記中常見的無障礙錯誤2025-09-18
- 用 React Server Components 載入資料並避開瀑布請求2025-09-09
- 捲動動畫:CSS 與 JavaScript 的比較2025-08-26
- 預設就要支援鍵盤操作,而不是事後補上2025-08-18
- structuredClone 與 JSON 深拷貝的差別2025-07-14
- 黑客松 24 小時教會我的範圍控制2025-06-24
- 在 JSON.parse 之後安全地收窄 unknown2025-06-21
- 選擇重寫而非重構的教訓2025-05-27
- 用重試與錯誤工作流處理 n8n 失敗的執行2025-05-12
- 把內部工具開源之後,我不後悔的幾個決定2025-04-11
- 修正表單錯誤提示裡的文案小細節2025-03-11
- 什麼時候該讓 Astro 使用 SSR?2025-03-09
- 用真實使用者監測量測 Core Web Vitals2025-02-26
- 用你的筆記打造本地 RAG 知識庫2025-02-17
- 小型團隊該選 GitHub Actions 還是 GitLab CI2025-02-13
- 在 Express 專案中一致地處理錯誤2025-01-28
- 用公開 API 做一個天氣小工具2025-01-23
- goroutine 與 worker pool 的取捨2025-01-19
- 量化第三方腳本的真實成本2025-01-15
- 從單一品牌色展開完整色票2024-12-05
- 用 picture 元素提供回應式圖片2024-12-02
- 用 Expand 與 Contract 安全地改資料庫結構2024-11-19
- 為什麼我們先上線功能開關,再寫功能2024-11-19
- 只用 CSS 做出無障礙的提示框2024-11-12
- 用真實 API 範例理解柯里化2024-11-05
- 工程師常忽略的倦怠徵兆2024-10-21
- 替部落格文章加上結構化資料標記2024-10-16
- 演練一次真的可信的 Postgres 還原流程2024-10-08
- 分清楚 Vue 3 的 watch 與 watchEffect2024-09-25
- n8n 觸發器怎麼選:Webhook 與輪詢的取捨2024-09-17
- 為什麼框架不斷更迭讓前端團隊疲憊2024-09-16
- 搞懂工具呼叫模式,寫出穩定的 LLM Agent2024-09-12
- 用 git reflog 救回不見的 commit2024-08-27
- 一步一步拆解面試中的最短路徑問題2024-08-12
- 深色模式是一套系統,不是一個功能2024-08-09
- 快照測試帶來的虛假信心2024-08-07
- 理解資料庫交易與隔離等級2024-07-16
- 為什麼我的泛型約束在聯合型別上失效2024-07-09
- 用六項檢查清單稽核 Cookie 設定2024-06-10
- 用效能面板診斷主執行緒卡頓2024-05-30
- 選 React Context 還是狀態管理庫,先比較再決定2024-05-28
- 用 Astro Actions 處理表單送出2024-05-22
- 為樸實、可預期的表單辯護2024-03-19
- 事後檢討:Safari 中不斷消失的工作階段 Cookie2024-03-19
- 用 Go 與 Cobra 打造指令列工具2024-03-05
- 帶新人上手,別用文件把他們淹沒2024-02-14
- 用 Pointer Events 做出可拖曳排序的清單2024-01-30
- 把空狀態當成最安靜的新手引導2023-12-05
- 刻意閱讀別人的程式碼2023-12-04
- 讓路由保持可讀的 middleware 組織方式2023-11-14
- Monorepo 還是多倉庫:權衡取捨而非跟風2023-11-08
- 什麼時候不該動用 LLM2023-11-08
- 自動化發票流程三個月後的心得2023-11-06
- 設計會指路的空白畫面2023-10-19
- 搞懂 Content Security Policy 安全性標頭2023-09-27
- 避免網頁字型造成的版面位移2023-09-26
- 為什麼純函式在複雜專案裡更划算2023-09-14
- 快取相依套件,縮短 CI 建置時間2023-08-29
- 事故之後,主持一場不追責的檢討會2023-08-22
- 搞懂 Astro 島嶼架構與部分水合2023-08-14
- 用原生拖曳功能打造看板介面2023-08-03
- 內容型網站的 Core Web Vitals 優化指南2023-07-03
- 連續每個月寫作一年之後的回顧2023-06-30
- 在 Go 裡包裝錯誤又不失去脈絡2023-06-21
- 重寫舊版 jQuery 儀表板後的三個教訓2023-06-14
- Vue 3 的 provide/inject 與逐層傳遞比較2023-06-12
- 設計能真正引導使用者的空狀態2023-05-22
- 用 git bisect 找出弄壞程式的那個 commit2023-05-16
- 為不穩定測試建立分類處理流程2023-05-16
- 理解瀏覽器的版面配置、繪製與合成2023-05-09
- 只想檢查型別時,用 satisfies 而不是 as2023-04-15
- 搞懂 JavaScript 的事件循環2023-04-11
- 用 useEffect 正確地取消過期請求2023-04-11
- 替慢查詢挑選正確的索引2023-04-10
- 用 Nginx 反向代理搭配自動更新憑證2023-03-21
- 什麼時候該用原生 dialog 元素2023-03-21
- 了解 CSS Subgrid 的對齊方式2023-03-13
- 加入指數退避與隨機擾動的重試機制2023-03-07
- 連續一百天刷題,對我解題能力的實際影響2023-02-15