## 把程式碼變成“可改的樹”:一文讀懂前端 AST 的原理與實戰 ### 前言:什麼是 AST(抽象語法樹)? 在現代前端開發中,AST(Abstract Syntax Tree,抽象語法樹)指的是“用樹來表達一段程式碼的語法結構”。通俗理解:把程式碼先讀懂、拆解成一個個語法“節點”,...
大家好,我是風骨, `React` 技術棧發展到現在,已經出現了非常多且優秀的狀態庫,比如從早期的 `Redux` 和 `Mobx`,到現在擁抱 Hooks 版本的 [Zustand](https://link.juejin.cn?target=https%3A%2F%2Fgithub.com...
最近在重構編輯器 demo 的時候,我重新梳理了**事件層**的實現。在節點層 → 渲染層之後,本篇重點切換到**互動事件系統**,也就是 Canvas 如何處理複雜互動,如何設計一個類似 Figma 的獨立事件架構。 --- ## 🧑💻 寫在開頭 點讚 + 收藏 = 支持原創 ...
# 前言 在網頁開發或應用程式製作中,經常會有將數值顯示在螢幕上的需求。 特別是在顯示金額時,通常會使用「12,345元」而非「12345元」, 這樣的3位數逗號分隔大概是較為常見的格式。 ## 概要: 在 C# 中,當將數值轉換為字串時,我們會使用 `.ToStrin...
這篇文章是人工撰寫的。 這是一份為活動準備的操作手冊,閱讀本文後,任何人都可以在大約一小時內進行嘗試! 使用 Claude Code 等 AI 代理人「的人」數量顯著增加。 如今,使用 AI 已經是每個人的常態。 我們更應該邁出一步,學習「製作」AI 代理人,這樣會更加有趣🙌...
## 背景與需求 在軟體開發和商業化過程中,許可證控制是一個不可避免的技術需求。無論是企業級管理系統、桌面應用軟體,還是SaaS服務,都需要對軟體的使用範圍、功能權限和時間限制進行有效管控。 許可證系統的核心價值在於: **保護知識產權**:防止軟體被非法複製和分發 **商業模式...
Android 代碼架構通常包括四個主要層次:應用層、框架層、原生層和 Linux 內核層。下面我們用 mermaid 圖來表示: 結合這個圖示來詳細闡述 Android 代碼架構: 1. **應用層(Application Layer)**: - 這是用戶直接接觸的層面,包括系...
介紹 -- 如果您最近曾造訪開發者 Twitter,您可能已經看過 Bun 關於直接向 Claude Code 等 AI 編碼助手提供 Markdown 的推文。 https://x.com/bunjavascript/status/1971934734940098971 [M...
> 這是一篇關於個人學習 AI 的筆記與程式碼摘錄。希望從前端的視角出發,快速了解大型語言模型(LLM)、提示詞工程、LangChain、RAG 等相關術語知識,最終能夠搭建一個 “玩具智能體” 或者真正應用到生產中去。 --- ### 目錄 📑 - LLM 基礎:深入 AI 的心...
## 前言 如果你是一名 Java 開發者,很可能在日常工作中經常見到 `java.util.Date` 類。但你可能也注意到,現在 Java 開發中,我們通常會避免直接使用它。為什麼會這樣呢?今天我們就來聊聊這個話題。 ## 一、一個「歷史悠久」的類 `java.util.Dat...
> **一次超驚險的故障排查經歷** > - **事件**:雙十一大促高峰期,核心用戶服務集群出現大規模請求超時。 > - **影響**:“下單成功率”斷崖式下跌,基於即時廣告流量轉化率估算,導致千萬級廣告費資損,故障被定級為P1。 > - **時長**:從故障爆發到“止血”,耗時15分鐘;從...
# 前言 生成式 AI 和 AI 擴展工具在過去幾年中迅速進化。藉助提示來進行程式碼生成、自動化測試、評審摘要和文檔補完等「過去由人類完成但可以由 AI 協助的任務」確實在不斷增加。 本文的目的不僅僅是介紹工具和功能,而是透過「可以立即使用的 AI 速查表」和「可實踐的自訂腳本範例」,傳...
最近Code Review的時候,我看到我們組一個很聰明的年輕同事,用觀察者模式,寫了一個極其複雜的全球狀態訂閱系統,就為了在一個元件裡,響應另一個不相關的元件的點擊事件。 比較常見的場景:點擊 Button 元件,讓 Panel 元件打印日誌或顯示提示,具體偽代碼👇: ```js /...
## 問題的概要 在使用 C# 開發 Windows 表單應用程式時,可能會遇到以下現象。 ```csharp private async void button1_Click(object sender, EventArgs e) { button1.Enabled = ...
## ✨前言 大家好!Android工程師們辛苦了。 從事Android開發多年,我認為Kotlin和Java的選擇確實讓人困惑。我自己從Java轉向Kotlin,自2019年Google將Kotlin定位為「推薦語言」後,現場的氛圍也大變樣了。 本文希望能夠比較2025年目前An...
## 前回的故事 曾經寫過一篇名為「用HTML和CSS來畫出真實的眼球。」的文章。 在那時,我灌注了當時所知的所有CSS技巧, 我認為我做出了令人滿意的眼球效果。 然而,自從這篇文章以來,已經過去了六年。 在這段期間,網頁相關技術的創新日新月異, CSS相比以前更...
同步至個人站點:[ECharts 萬字入門指南](https://link.juejin.cn?target=https%3A%2F%2Fstack.mcell.top%2Fblog%2F2025%2F22_echarts) ? 當在儲存格上指定矩陣狀的多個值(**動態數組**)時,這是一項 **將值擴展到相鄰儲存格的功能**。**動態數組本身也稱為 Spill**。本文將統一使用 Spill 這個名稱。 這個功能在最近的 Excel 版本中可用(2019 年及以後,嚴格來...
每週二晚上《CodeLove Talk》直播! 聊聊科技新聞,一起討論軟體開發相關的話題!