Backend
NestJS, PostgreSQL, Redis, API design, scaling
3 kết quả
Tôi đã refactor toàn bộ backend NestJS như thế nào — và những bài học đắt giá
Sau 2 năm tích lũy tech debt, codebase NestJS của chúng tôi đã trở thành một mớ hỗn độn. Bài viết này ghi lại toàn bộ quá trình refactor, từ planning đến execution, và những gì tôi học được về dependency injection, module boundaries và testing strategy.
PostgreSQL query optimization thực chiến: từ 3s xuống 80ms
Một câu query đơn giản JOIN 4 bảng, 2 triệu rows, chạy 3 giây. Bài viết này ghi lại quá trình dùng EXPLAIN ANALYZE, partial index, materialized view và partition để đưa về 80ms. Không có magic, chỉ là hiểu đúng cách PG planner hoạt động.
Redis patterns thực tế: caching, rate limiting, queue, và pub/sub trong một app
Redis không chỉ là một cache đơn giản. Tôi sẽ show cách dùng Redis cho 4 mục đích khác nhau trong cùng một ứng dụng: distributed cache với invalidation, sliding window rate limiter, job queue với BullMQ, và real-time event bus — không xung đột nhau.