Recent posts

Fundamentals

Refactor code ES5 sang ES6+: destructuring, spread, Map/Set

Refactor code ES5 sang ES6+ từng bước: let/const, destructuring, spread, optional chaining ?., nullish coalescing ??.

2026-07-21 5
Fundamentals

WeakMap vs WeakSet: tránh memory leak khi cache theo object

So sánh Map/Set với WeakMap/WeakSet: weak reference, GC reachability và cách tránh memory leak khi cache theo object.

2026-07-20 5
Frontend

React Fiber Và Thuật Toán Diffing: Vì Sao State Bị Reset?

Thuật toán diffing React và kiến trúc Fiber: heuristic O(n), key, state theo vị trí, double buffering và work loop.

2026-07-16 5
Frontend

Mobile-first là gì? Chiến lược responsive cho mọi thiết bị

Mobile-first và chiến lược responsive: breakpoint theo content, fluid layout và container queries cho mọi thiết bị.

2026-07-12 5
Security

Lỗi CORS: hiểu same-origin policy và preflight request

Hiểu CORS và preflight: same-origin policy chặn gì, khi nào browser gửi OPTIONS, và cách fix lỗi bằng response header.

2026-07-09 5
Frontend

Tự viết lại useMemo, useCallback, useRef: hiểu hooks từ gốc

Re-implement useMemo, useCallback, useRef bằng JavaScript thuần: hiểu deps array, cursor và Rules of Hooks từ gốc

2026-07-07 5
Frontend

WebGL, Three.js và GLSL shader: từ cơ bản đến nâng cao

Hướng dẫn WebGL, Three.js và GLSL shader từ cơ bản đến nâng cao: pipeline GPU, ShaderMaterial, uniform, varying, mix

2026-06-03 5
Fundamentals

Promise.all, race, any, allSettled: chọn đúng combinator

So sánh Promise.all, allSettled, race, any: khi nào reject, shape kết quả và cách chọn đúng combinator cho code async.

2026-06-02 5
Fundamentals

Tự viết lại Pick, Omit, Partial: hiểu utility types từ gốc

Tự viết lại Pick, Omit, Partial và utility type built-in bằng mapped type, conditional type và infer trong TypeScript

2026-06-01 5
Backend

REST, WebSocket hay SSE? Chọn protocol cho app TypeScript

Chọn REST, SSE hay WebSocket cho app TypeScript: fetch đúng cách, API client type-safe, so sánh và bảo mật realtime.

2026-05-31 5

0 contributions