Xin chào! 👋

Chào mừng bạn đến với

Dong's Notes

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.

  • Viết để học
  • Chia sẻ kiến thức
  • Cùng nhau phát triển
Dong's Notes

Bài viết mới

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

Go - Memory của map trong Golang

Trong Golang, map là một kiểu dữ liệu built-in và rất thường xuyên được sử dụng, đặc biệt là trong caching in memory. Tuy nhiên, nếu chúng ta không để ý trong việc sử dụng map thì chúng ta rất dễ làm tăng RAM khi ứng dụng của chúng ta chạy một khoảng thời gian dài. Vậy lý do là gì? Tình huống Giả sử chúng ta có một map với key là int và value là một mảng byte có kích thước là 128. ...

Go

Hướng dẫn setup Dev Container cho mọi dự án

Mệt mỏi vì cảnh “máy tôi chạy được nhưng máy anh lại lỗi”? Khám phá cách cấu hình Dev Container để đồng nhất môi trường phát triển (Go, Docker, DB) cho cả team, giúp thành viên mới onboard dự án chỉ trong một cú click. Dẫn nhập Tôi không biết mọi người giống như tôi không? Thông thường khi bắt đầu dev một dự án mới hay cài lại hệ điều hành (Ubuntu) thì tôi phải đối mặt với hàng tá thứ để setup môi trường chạy: ...

Docker Tips Linux

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

Go

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

Go

Sách

Xem tất cả sách →

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.

— Lê Văn Đông