Hướng dẫn tối ưu hóa Dockerfile cho Go-zero: Xây dựng đa giai đoạn và tối ưu bộ nhớ đệm
Tối ưu hóa Dockerfile cho Go-zero: Xây dựng đa giai đoạn và tối ưu bộ nhớ đệmGo-zero là một framework microservices Go dựa trên cloud-native, và hiệu quả của quá trình container hóa ảnh hưởng trực tiếp đến quy trình phát triển và triển khai. Bài viết này sẽ hướng dẫn chi tiết cách sử dụng xây dựng đa giai đoạn (multi-stage build) và chiến lược ...
Đăng vào ngày 16 tháng 6 lúc 04:24
Sử Dụng Hiệu Quả Kiểu Dữ Liệu Map Trong Go
Nền tảng tư duy về cấu trúc dữ liệu liên kết
Trong quy trình phát triển phần mềm, việc lựa chọn loại bộ chứa dữ liệu phù hợp là yếu tố then chốt ảnh hưởng đến hiệu năng. Các cấu trúc dữ liệu cơ bản như Mảng (Array) và Danh sách động (Slice) đều mang lại lợi ích rõ rệt trong một số tình huống cụ thể.
Đồng nhất kiểu dữ liệu: Cho phép gom nhóm c ...
Đăng vào ngày 12 tháng 6 lúc 02:24
Hướng dẫn Sử dụng Logrus Prefixed Log Formatter
Logrus Prefixed Log Formatter là một bộ định dạng hóa nhật ký dựa trên Logrus, cải tiến từ TextFormatter gốc của Logrus. Nó hỗ trợ việc thêm tiền tố (như nguồn thông điệp) và cho phép tùy chỉnh chủ đề màu sắc. Khi đầu ra không phải là TTY, nó tương thích với định dạng logfmt.
Địa chỉ dự án: https://github.com/x-cray/logrus-prefixed-formatter
Cà ...
Đăng vào ngày 11 tháng 6 lúc 05:59
Hướng Dẫn Thực Chiến Tối Ưu Hiệu Suất Gorilla/Websocket Đạt Độ Trễ Mili-Giây
Thiết lập đường chuẩn hiệu suất WebSocket
Bước đầu tiên để cải thiện phản hồi là thiết lập các chỉ số đo lường hiện tại. Thư viện gorilla/websocket cung cấp sẵn các công cụ kiểm tra hiệu năng tích hợp. Việc chạy các bài test benchmark giúp xác định rõ sự khác biệt giữa chế độ nén và không nén trong môi trường thực tế.
go test -bench=. -run=^$ . ...
Đăng vào ngày 8 tháng 6 lúc 18:35
Cài đặt và cấu hình môi trường Go trên macOS: So sánh phương pháp thủ công và tự động
Cài đặt và cấu hình môi trường Go trên macOS: So sánh phương pháp thủ công và tự động
Thiết lập môi trường phát triển Go trên hệ điều hành macOS là bước thiết yếu cho mọi lập trình viên làm việc với ngôn ngữ này. Bài viết phân tích hai cách tiếp cận phổ biến — cài đặt thủ công từ gói nhị phân chính thức và cấu hình tự động thông qua trình quả ...
Đăng vào ngày 8 tháng 6 lúc 17:56
Triển Khai Quản Lý Cấu Hình Động Với Sự Kết Hợp GoFrame Và Nacos
1. Tổng Quan Về Vấn Đề Quản Trị Cấu Hình
Trong kiến trúc microservice hiện đại, việc quản lý cấu hình phân tán là một thách thức lớn đối với các kỹ sư backend. Dù ngôn ngữ Go được biết đến với hiệu năng cao và khả năng xử lý đồng thời mạnh mẽ, nhưng khi số lượng service tăng lên, cơ chế cấu hình tĩnh truyền thống lại bộc lộ nhiều hạn chế. Việc ...
Đăng vào ngày 3 tháng 6 lúc 22:38
Quy Trình Đóng Góp Mã Nguồn Và Tối Ưu Pull Request Cho GORM
Trong hệ sinh thái Go, GORM đóng vai trò là thư viện ORM được ưa chuộng nhất và luôn khuyến khích các lập trình viên tham gia cải thiện chất lượng mã nguồn. Để giúp các nhà phát triển mới dễ dàng hòa nhập vào cộng đồng mở, dưới đây là quy trình chuẩn để thực hiện đóng góp mã nguồn và gửi yêu cầu kéo (Pull Request) hiệu quả.
Thiết lập môi trườn ...
Đăng vào ngày 29 tháng 5 lúc 00:30
Tổng quan về Chuỗi, Hằng số, Con trỏ và Mảng trong Go
Xử lý Chuỗi (Strings)
Trong Go, chuỗi là một dãy byte bất biến. Khi làm việc với chuỗi, cần lưu ý sự khác biệt giữa độ dài byte và độ dài ký tự, đặc biệt là với các ký tự Unicode (như tiếng Việt có dấu).
Để lấy độ dài theo byte, ta dùng hàm len(). Tuy nhiên, để xử lý chính xác từng ký tự (rune), nên chuyển đổi chuỗi sang dạng []rune. Các ký tự ...
Đăng vào ngày 25 tháng 5 lúc 17:15
Phân Tích Cơ Chế Bộ Nhớ Đệm Go Build và Nguyên Nhân Giảm Hiệu Suất Trên Windows
Giới thiệu về vấn đề hiệu suất
Quá trình biên dịch dự án Go trên hệ điều hành Windows đôi khi gặp phải tình trạng chậm chạp đáng kể khi thực thi lệnh go build hoặc go list -export, ngay cả trong các trường hợp lẽ ra phải tận dụng được bộ nhớ đệm (cache). Các giải pháp thường thấy trên mạng thường khuyên tắt phần mềm diệt virus hoặc vô hiệu hóa ...
Đăng vào ngày 20 tháng 5 lúc 00:36