Lập trình Go 22/09/2026 11 phút

Tiny allocator của Go: gộp object nhỏ để một byte chỉ tốn một byte

Object tí hon rất phổ biến nhưng cấp mỗi cái một slot 8-16 byte quá phí. Tiny allocator gộp object dưới 16 byte không con trỏ vào chung khối 16B. Đo thật: object 1-byte nén xuống đúng 1.0 B mỗi cái (thắng 8 lần), nhưng cùng cỡ mà có con trỏ thì không được gộp. Go 1.23.

Lập trình Go 22/09/2026 10 phút

Tổng kết Go chuyên sâu: bản đồ 132 bài và hai con số gói lại cả sê-ri

Kết thúc 132 bài đo thật về runtime, hiệu năng và hệ thống Go. Bài này vẽ bản đồ toàn sê-ri theo tám chủ đề, và đo một benchmark tổng hợp gói lại hai bài học lớn nhất: stack nhanh hơn heap 14,5 lần với 0 cấp phát, và thêm core giúp thật nhưng dưới tuyến tính (10 core chỉ nhanh 4,6x). Cùng cách tư duy đọng lại sau tất cả.

Lập trình Go 22/09/2026 9 phút

Clean Architecture trong Go: hướng phụ thuộc mà compiler tự ép

Clean Architecture đặt logic nghiệp vụ ở trung tâm, mọi phụ thuộc chỉ trỏ vào trong. Đo thật trong Go 1.23: domain định nghĩa interface (port), infra hiện thực, và lệnh cấm import cycle của Go biến quy tắc kiến trúc thành lỗi biên dịch — bạn không thể làm domain phụ thuộc hạ tầng.

Công cụ 22/09/2026 6 phút

Reflog trong Git: vì sao gần như không thao tác nào làm mất commit vĩnh viễn

Nhiều người tưởng git reset --hard hay xoá nhánh là mất commit không cứu được, rồi hoảng loạn. Sự thật: Git ghi mọi lần HEAD dịch chuyển vào reflog, và commit mồ côi còn nằm trong kho hàng tuần trước khi bị gc dọn. Bài này khôi phục thật một reset --hard làm 'mất' hai commit và một nhánh đã xoá — chỉ bằng SHA đọc từ reflog.