Table-Driven Tests trong Go — Viết test sạch, maintain dễ
Table-driven tests giúp Go tests gọn gàng, dễ thêm case mới. Học pattern này qua ví dụ thực tế và kinh nghiệm production.
THE ENGINEERING JOURNAL
Các bài viết về go.
Table-driven tests giúp Go tests gọn gàng, dễ thêm case mới. Học pattern này qua ví dụ thực tế và kinh nghiệm production.
Docker multi-stage builds giảm image Go từ 1GB xuống 20MB. Học cách build nhẹ, an toàn, nhanh với Dockerfile mẫu và kinh nghiệm production.
Tìm hiểu Circuit Breaker pattern — cách ngăn chặn cascade failure trong microservices với code Go thực tế.
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 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.

Mình chia sẻ cách sử dụng context.Context trong Go để cancel request và downstream operations một cách graceful, tránh memory leak và data inconsistency.
Context trong Go tưởng phức tạp mà thực ra chỉ xoay quanh 3 việc: timeout, cancellation, và pass giá trị. Mình viết bài này để ghi lại cách hiểu đơn giản nhất.
Context package trong Go có vẻ đơn giản nhưng nếu xài sai là đau lắm. Mình kể ít chuyện về timeout, cancel, và mấy cái bẫy mà dev hay mắc.