Integration Testing với Testcontainers — Test thật, không mock
Học cách dùng Testcontainers để viết integration test với dependency thật (Postgres, Redis) trong Go — không mock, chạy CI mượt, code an tâm hơn.
THE ENGINEERING JOURNAL
Những điều mình xây, những vấn đề mình gặp, và những gì mình học được. Về phần mềm, từ bên trong.
Học cách dùng Testcontainers để viết integration test với dependency thật (Postgres, Redis) trong Go — không mock, chạy CI mượt, code an tâm hơn.
Topic 43 — Stay Safe Out There: bảo vệ code của bạn khỏi thế giới bên ngoài với nguyên tắc validate input, least privilege, defense in depth, và encryption.

Property-based testing giúp phát hiện edge case mà example-based test không bao giờ thấy — trải nghiệm với fast-check, Hypothesis và QuickCheck.
CI/CD, monorepo vs multirepo, build artifact — cách quản lý build pipeline cho hệ thống microservices hiệu quả.
Phân tích chương cuối DDIA: làm sao đảm bảo tính đúng đắn end-to-end trong distributed systems, và trách nhiệm đạo đức khi xây dựng data systems.
Học cách graceful shutdown HTTP server, worker pool và background jobs trong Go bằng signal.Notify, context và sync.WaitGroup từ kinh nghiệm production thực tế.
Testing không phải là giai đoạn riêng — nó là một phần của coding. Cảm nhận về Topic 41 từ Pragmatic Programmer.

Phân biệt orchestration vs choreography trong microservices workflow, cách implement Saga pattern với compensating transactions.
Tìm hiểu khái niệm unbundling databases của Martin Kleppmann: thay vì database monolithic, hãy tách thành các chuyên gia riêng biệt kết nối qua stream
Tìm hiểu chiến lược cache với Redis: Cache Aside, Read Through, Write Through kèm code Go thực tế và kinh nghiệm production.