There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. It demands the same skill, devotion, insight, and even inspiration as the discovery of the simple physical laws which underlie the complex phenomena of nature.

— C.A.R. Hoare

✦

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ề.

❖

Zero-downtime Migration — đổi schema khi app đang chạy

13 tháng 9, 2026•Phong Hy

Đổi schema trên DB đang chạy production mà không downtime: expand-contract, ADD COLUMN an toàn, index CONCURRENTLY và backfill theo batch.

engineeringdatabase
Đọc tiếp→

pprof trong Go — tìm thủ phạm ngốn CPU và RAM

12 tháng 9, 2026•Phong Hy

Chạy pprof đúng cách để tìm hot path CPU, memory leak và goroutine kẹt trong service Go — kèm code mẫu và mấy cái bẫy em từng dính.

engineeringgo
Đọc tiếp→

Nén payload API — gzip, Brotli hay zstd cho backend?

11 tháng 9, 2026•Phong Hy

Bật gzip chưa chắc đã nhanh. So sánh gzip, Brotli, zstd, cái bẫy Vary header, middleware nén trong Go và 3 cạm bẫy hay gặp.

engineeringoptimize
Đọc tiếp→

Mutation Testing — Coverage 90% mà bug vẫn lọt lưới

10 tháng 9, 2026•Phong Hy

Coverage 90% chưa chắc test tốt. Mutation testing tự sửa code để xem test có bắt được bug thật không, kèm ví dụ Go với gremlins.

engineeringtesting
Đọc tiếp→
←Trước
12···50
123···50
Sau→

Trang 1 / 50

Xem tất cả Tags→
✦
Home✦Blog✦Tags

Privacy Policy•Terms & Conditions© 2026 Phong Hy. Crafted with care.