團隊曾為一個訂單狀態顯示問題加班至深夜:並非業務邏輯出錯,而是前期封裝的訂單類過度隱藏核心字段,連獲取支付時間都需多層調用,最終只能通過反射繞過封裝臨時解決,後續還需承擔潛在風險。這一典型場景,正是 “亂封裝” 埋下的隱患 —— 封裝本是保障程式碼安全、提升可維護性的工具,但違背其核心原則的 “亂封...
## 前言 首先,「無限迴圈=壞」並不正確!! 在遊戲的指令等待、伺服器的接收、UI的事件等待等場合, 有很多處理需要持續運行。 重要的是,**安全停止的機制**和**運行方式的設計**。 本文將總結如何以“安全的方式”使用 `while(true)` 的技巧, 以及 `break`...
最近一個月,為了給團隊補充新鮮血液,我密集面試了差不多20位前端候選人,從剛畢業的新人到有三五年經驗的都有。 面試得多了,我發現一個很有意思,甚至有點反常識的現象:**現在很多候選人的知識結構,好像是個倒三角形。** 這是什麼意思呢? 就是他們對上層的框架(React/Vue)、甚...
## 前言 在結合 AWS CloudFront 與 WAF 以加強安全性時,我們遇到了一個奇怪的現象。 「明明應該被 WAF 阻擋的請求,為什麼還是返回 200 OK...?」 查看日誌後確認確實是被 WAF 阻擋,但瀏覽器卻顯示空白頁面,回應代碼卻是 200。究竟發生了什麼事? ...
# 深入理解 Redux:從手寫核心到現代實踐(附 RTK 銜接) Redux 作為前端經典狀態管理庫,核心解決 “組件間狀態共享” 與 “狀態變更可追溯” 問題,適配大型 React 專案。這篇文章我透過結合**手寫核心邏輯**與**現代工具 RTK**,拆解 Redux 原理,明晰 “底層...
# 90%前端忽略的3大內存黑洞,這樣根治性能飆升300%! 你是否遇到過:頁面越用越卡,瀏覽器內存佔用持續飆升? 動態列表頻繁增刪後,頁面直接卡死崩潰? 弱引用、閉包、定時器——這些看似無害的程式碼,竟是內存洩漏的元兇! 本文直擊**三大高頻內存洩漏場景**,用**Weak...
(這篇文章是由手機上的AI撰寫的) ## 引言 以ChatGPT為首的大規模語言模型(LLM)的進化持續加速。這些AI可以進行近乎自然的人類對話,但要充分發揮其能力,需掌握一些特殊的「說話」技巧。 對我們這些工程師來說,重要的是把AI視為一個**應依照規範運作的系統**,而非模糊的對話...
# 七夕到了,我讓AI用Kuikly寫了個“孤寡青蛙“App,一碼五端真絲滑! ## 引子 又是一年七夕,朋友圈裡充滿了戀愛的"酸臭味",而你,是不是又一次"孤寡"在家?  但最近出現了...
AI自動化作業就選 n8n 吧。在過去幾個月中,它逐漸得到普及。 那麼 n8n 一般是要付費的,但你知道有一種方法可以(合法地)免費使用它嗎? 我身邊看到許多人在不知道的情況下使用它,因此我決定將具體的步驟整理成文章發佈。 n8n 是一個可以輕鬆構建 AI 工作流程的方便工具,即使...
晚上好。這裡是坐禪犬。 Claude Code、Gemini CLI、Cursor,以及Kiro,真的讓我們開始覺得**沒有AI代理的生活難以想像**。起初我只是抱著好奇,想知道可以做些什麼,但隨著我漸漸有了自己的運作架構,這些工具變成了生活的必需品。正如那句名言所說,「我們創造了工具,而後工...
你是否曾夢想過在終端機視窗裡擁有一個 AI 助手?現在,你的夢想成真了,因為 Google 剛剛發布了[Gemini CLI](https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/...
# 為什麼你的 TypeScript 專案裡,總會有幾個 .d.ts 文件? 剛寫 TS 的時候,我看到專案裡莫名其妙冒出個 `types.d.ts` 或者 `global.d.ts`,心裡是有點懵的。啥?這個文件是幹啥的?我 `.ts` 文件不是已經寫類型了嗎?為什麼還要多此一舉? ...
我們正在開發一款名為[「Accessibility Visualizer」](https://ymrl.github.io/a11y-visualizer/)的工具,用於檢查網頁的可存取性。該工具以瀏覽器擴充功能的形式提供,可在網頁上疊加顯示與可存取性相關的資訊。它適用於[Chrome](https...
介紹 -- 有一天,我在開發過程中查看雲端環境(在 Cloud Logging 上)的日誌時, 我覺得**日誌很混亂,很難閱讀**。 我以為我要做的就是將日誌輸出為文本,但我的經驗已經有了很大的提高,我希望我早點知道它,所以我想寫一篇關於它的文章。 前提 -- 使用...
歡迎關注我的公眾號:**前端偵探** 聊聊圖片與背景圖片 ## 一、img vs background-image 大部分注重內容的圖片(比如商品展示、文章配圖)都推薦直接使用`img`標籤,好處有很多,比如 1. `img`支持天然懶加載,設置`loading="lazy"...
## 親身經歷 最近接了個外包,和另外兩個哥們一起開發。因為他們的時間更充裕,所以前期的表結構都是他們來設計,我沒有參與。等我空下來開始做我的部分時,兩眼一抹黑,光看表名完全不知道是什麼東西。 我不理解,但是大受震撼。 比如說: ``` DC_COURSE_TESTPAPE...
每當節假日期間,一二線城市返鄉、外出玩耍的人們幾乎都面臨著一個問題:**搶火車票!** 12306 搶票,極限並發帶來的思考 雖然現在大多數情況下都能訂到票,但是放票瞬間即無票的場景,相信大家都深有體會。 尤其是春節期間,大家不僅使用 12306,還會考慮「智行」和其他的搶票軟體,...
# 前端需要掌握多少Node.js?  昨天下午,來了個剛畢業的學弟,很認真地跑過來問我:「哥,我看網上好多人都說前端要學Node,我到底要學到什麼程度啊...
# 深入揭秘 ConcurrentHashMap:JDK7 到 JDK8 並發優化的演進之路 ## 引言 本文主要從原始碼層次探討 ConcurrentHashMap 的並發控制實現,全文可以濃縮為下面的內容,也可以用來回答問題《ConcurrentHashMap 是如何實現執行緒安全支持高...
每週二晚上《CodeLove Talk》直播! 聊聊科技新聞,一起討論軟體開發相關的話題!