Tech
Technical notes, learnings, and developer stories.
moduleResolution: Choosing Between bundler and nodenext
A real-world case of switching from nodenext to bundler, understanding the differences and when to use each
Nx Monorepo Architecture Evolution: From Categories to Composition
From the deprecated Package-Based vs Integrated classification to the modern Workspaces + Project References approach
Nx Monorepo Type Resolution: paths vs Project References
How TypeScript resolves cross-package types without paths mapping, and the role of nx sync
Clean Architecture in Practice: Building an AI E-commerce Chatbot with TypeScript
A practical guide to implementing Clean Architecture in TypeScript, integrating LLM Tool Calling with Cloudflare Workers to build an AI-powered e-commerce chatbot
Web Components vs Module Federation: Micro Frontends Guide
A deep comparison of Web Components and Module Federation for micro frontends architecture
Building a Blog AI Assistant with TanStack AI
Using RADIO Pattern to design and implement an AI assistant with TanStack AI, Gemini, and SSE Streaming
Storybook CSF Factories
研究 Autodocs 自動化時發現的新東西,但 Angular 專案先別急著跳進去
Rediscovering Angular: Performance & Deployment
Advanced Angular topics: Styling, @defer, Zoneless, Testing and Build best practices
Rediscovering Angular: Routing, Data & Forms
Practical Angular notes covering DI, Routing, Data Fetching and Forms
Rediscovering Angular: Signals & Reactive State
Deep dive into Angular Signals and SignalStore
Rediscovering Angular: Project Setup & Components
Angular 20 learning notes from project setup to component basics
Blog View Count Implementation
在部落格加個瀏覽計數應該很簡單吧?結果比我想的複雜一點
JSDC 2025 | Modern Monorepo Toolchain
From tool selection to real-world implementation, how Monorepo becomes core infrastructure for modern frontend teams.
Autocomplete System Design
使用 RADIO Pattern 設計一個現代化的 Autocomplete 元件,涵蓋需求分析、架構設計、資料模型、API 介面與效能優化
Hierarchical Checkbox Selection
Implement a Hierarchical Checkbox Selection System
Event Bubbling
Understanding Event Bubbling in DOM
Functional Programming Concepts - Curry, Compose, Pipe
探討函數式編程中的 Curry、Compose、Pipe 的實作與應用
Pipe Function Implementation
In this blog I will Share a solution to the Pipe Function Implementation problem.
Retry Promise
In this blog I will share a solution to the Retry Promise interview problem.
Countdown Timer
In this blog I will share a solution to the Countdown Timer interview problem.
RADIO Pattern
前端系統設計的結構化思考框架,從需求分析到優化的完整方法論
Grid Template: The Most Intuitive CMS Layout Solution
Building intuitive and maintainable CMS layouts with Grid Template Areas
Two Sum
Find two numbers that add up to target using Hash Map - O(n) time complexity
Climbing Stairs
Dynamic programming solution using Fibonacci sequence pattern
Ransom Note
Check if ransom note can be constructed from magazine using Hash Map
Longest Palindrome
Calculate longest palindrome length using Set for character pairing
Add Binary
Add two binary strings and return their sum in binary format
Insert Interval
Insert a new interval into sorted non-overlapping intervals and merge if necessary
01 Matrix
Calculate distance to nearest 0 for each cell using multi-source BFS
Maximum Depth of Binary Tree
Find the maximum depth of a binary tree using recursive traversal
Reverse Linked List
Reverse a singly linked list using iterative approach with pointer manipulation
Contains Duplicate
Detect if array contains duplicate elements using Set or Map
Majority Element
Find the element that appears more than n/2 times using sorting approach
Maximum Subarray
Find the contiguous subarray with maximum sum using Kadane's algorithm
Middle of the Linked List
Find the middle node of a linked list using two-pointer technique
Diameter of Binary Tree
Find the longest path between any two nodes in a binary tree
Temporal: JavaScript Native Date & Time API
Introduction to date and time handling with Temporal API
Managing Node Packages with ni
Learn how to install and use ni to unify multiple package managers and focus on development
Implement Queue Using Stacks
In this blog I will share a solution to the Implement Queue using Stacks problem.
Balanced Binary Tree
In this blog I will share a solution to the Balanced Binary Tree problem.
Lowest Common Ancestor of a Binary Search Tree
In this blog I will share a solution to the Lowest Common Ancestor of a Binary Search Tree problem.
Valid Palindrome
In this blog I will share a solution to the Valid Palindrome problem.
Merge Two Sorted Lists
In this blog I will share a solution to the Merge Two Sorted Lists problem.
Valid Parentheses
In this blog I will share a solution to the Valid Parentheses problem.
Web Performance Metrics & Optimization
Understanding performance metrics and optimization strategies