Home Image

Xin chào!

Blog này được tạo ra chủ yếu như một nơi để tôi ghi chép lại những gì mình học được. Tuy vậy, nếu những bài viết ở đây cũng có thể giúp ích cho bạn, tôi sẽ rất vui.

Nội dung trên blog sẽ tập trung vào việc đi sâu vào bản chất vấn đề, nâng cao năng suất và tạo ra nhiều đòn bẩy nhất có thể. Tôi học được từ cuốn The Effective Engineer rằng hiệu quả không chỉ đến từ việc nâng cao năng lực cá nhân, mà còn đến từ việc lựa chọn những hoạt động có tính đòn bẩy cao. Với tôi, chia sẻ kiến thức là một trong những hoạt động như vậy, vì nó không chỉ giúp bản thân hệ thống hóa lại những gì đã học, mà còn có thể giúp nhiều người khác cùng phát triển.

Tôi mong rằng đây sẽ là nguồn tài liệu tham khảo chất lượng với các bạn.

Bài viết

Xem tất cả bài viết →

Go Memory Allocation là gì? Cách Go quản lý bộ nhớ và tối ưu RAM

Khám phá cách Go quản lý bộ nhớ và các kỹ thuật tối ưu hóa giúp tiết kiệm RAM, tăng hiệu năng. Trong việc lập trình, đặc biệt là Go, thông thường ta sẽ không để ý quá nhiều khi khởi tạo biến, do Go đã có trình thu gom rác tự động rồi. Dần dà, ta không còn quan tâm đến việc liệu khởi tạo biến có gây áp lực lên trình dọn rác của Go hay không? Biến nào sẽ được lưu trên stack? Biến nào thì lưu trên heap? Liệu sự vô tâm của ta có làm lãng phí tài nguyên hệ thống hay không? ...

22/03/2026

Memory Alignment là gì?

Trong Go, size thực tế của struct không chỉ là tổng size các field. Compiler sẽ chèn padding để bảo đảm memory alignment, nên thứ tự khai báo field có thể làm tổng size thay đổi. Sắp xếp field hợp lý giúp giảm lãng phí bộ nhớ và đôi khi cải thiện hiệu quả cache. Dẫn nhập Ta có bao giờ để ý tới size của class và struct chưa? Giả dụ ta có struct S như sau, bạn đọc đoán xem size của struct S là bao nhiêu? ...

18/03/2026

Triển khai blockchain cơ bản from scratch

Đối với mình, blockchain là một lĩnh vực khá thú vị. Nó là một công nghệ khá mới, giải quyết nhiều vấn đề về niềm tin, chi phí,… Định nghĩa Nếu bạn search trên google thì sẽ có rất nhiều bài viết nói về định nghĩa của blockchain, nhưng để tóm gọn về định nghĩa blockchain thì nó là một loại cơ sở dữ liệu đặc biệt, phân tán, tất cả mọi người đều sở hữu nó nhưng gần như không thể thay đổi được nó. Về mặt lý thuyết thì bạn có thể thay đổi thông tin được lưu nhưng nó cực kì khó khăn và gần như là không thể. ...

06/07/2025

Cách cài đặt Cloudflare Tunnel để kết nối SSH

Nếu bạn có homelab ở nhà và mong muốn truy cập SSH nhưng không muốn mở port thì nên làm như thế nào cho đảm bảo an toàn nhất? Có rất nhiều cách để bạn có thể đạt được điều này, nhưng tôi sẽ chọn Cloudflare Tunnel vì đây là công ty rất lớn và Cloudflare thì cho tốc độ kết nối nhanh để tôi có thể truy cập SSH về máy ở nhà một cách mượt mà nhất. ...

28/06/2025

Sách

Xem tất cả sách →