#backend
12 bài viết về chủ đề này
gRPC — Khi REST không còn đủ nhanh cho microservices
Khám phá gRPC — giao thức giao tiếp microservices nhanh hơn REST nhờ HTTP/2, Protobuf và streaming, kèm code Go thực tế.
Testcontainers — integration test với database thật, không cần mock
Testcontainers giúp bạn chạy integration test với PostgreSQL, Redis, Kafka thật trong container. Tạm biệt mock, tạm biệt những bug chỉ xuất hiện ở production.
Goroutines & Channels — Sức mạnh concurrency của Go không chỉ là 'chạy song song'
Goroutines và channels là hai thứ làm nên tên tuổi của Go. Một góc nhìn thực tế về concurrency trong Go — từ goroutine leak, channel blocking, tới những pattern áp dụng trong công việc hằng ngày.
Database Index — Câu chuyện về thứ giúp query của bạn nhanh hơn 100 lần
Database Index — cấu trúc dữ liệu thần kỳ giúp query tốc độ từ O(n) thành O(log n). Cùng mình tìm hiểu B-Tree, cách index hoạt động, và kinh nghiệm dùng index trong thực tế.
Caching trong System Design — không chỉ là chuyện 'lưu tạm'
Cache là một trong những kỹ thuật cơ bản nhất trong system design, nhưng dùng sai còn hại hơn không dùng. Bài này giải thích các pattern cache phổ biến và cái bẫy cache invalidation.
Rate Limiting — Vũ khí bảo vệ API không thể thiếu
Tìm hiểu về rate limiting trong system design: Token Bucket, Leaky Bucket, Fixed Window, Sliding Window — và cách triển khai thực tế.
.NET Minimal APIs — nhẹ nhàng, gọn gàng mà vẫn xịn
Minimal APIs trong .NET là cách viết API nhẹ nhàng hơn Controller truyền thống. Mình chia sẻ cảm nhận sau một thời gian dùng thử.
Thiết kế Rate Limiter — chuyện không chỉ đơn giản là đếm
Rate limiter là thứ backend dev nào cũng nghe qua, nhưng thiết kế sao cho đúng thì không phải ai cũng biết. Câu chuyện từ basic Token Bucket tới distributed với Redis.
Rate Limiting — mấy thuật toán mà backend dev nào cũng gặp
Rate limiting không chỉ là chuyện 'chặn spam' — Token Bucket, Leaky Bucket, Fixed Window và Sliding Window có gì khác nhau? Bài này giải thích đơn giản, dễ hiểu.