Blog
Nơi mình chia sẻ nhật ký và những câu chuyện nhỏ trong hành trình làm nghề.
TypeScript Generics thực chiến — Viết code tổng quát mà vẫn an toàn
Generics trong TypeScript qua ví dụ thực tế: generic function, extends, keyof, infer và cách tránh over-engineering khi áp dụng vào dự án.
Microservices không phải lựa chọn mặc định (Building Microservices)
Afterword Building Microservices: khi nào nên và không nên dùng microservices, cạm bẫy tách nhỏ quá sớm và khởi đầu an toàn với monolith.
Thundering Herd — Khi cache hết hạn là cả hệ thống sụp
Thundering herd là gì? Khi một key cache 'nóng' hết hạn, hàng chục nghìn request cùng đổ vào database. Kèm cách chặn: singleflight, Redis lock và jitter TTL.
Evolutionary Architect — Vai trò kiến trúc sư thời microservices
Vai trò kiến trúc sư trong kỷ nguyên microservices: governance bằng principles, fitness functions, paved road và quản lý tech debt.