Cấu trúc một dự án Golang

Không giống các framework của các ngôn ngữ khác (Ruby on Rail, Laravel, SpringBoot), các framework của Golang thường không có cấu trúc mặc định. Điều này vừa lợi vừa hại. Lợi là sự linh hoạt mềm dẻo, có tính cá nhân. Hại là khi đổi dự án, sẽ hơi … Read more

Cấp memory cho PHP, xử lý trên aapanel

Tự nhiên web nhỏ bị lỗi không cấp đủ memory: Cách 1: Tìm trên file configuration và sửa dòng: memory_limit = 512M Như trên, mình đã cập nhật thành 512MB (Mặc định là 128MB) Cách 2: Vào menu configuration và cập nhật.

Mở port trên Ubuntu Oracle VPS

Thường trên VPS có 2 bộ điều khiển tường lửa: mở bằng code và đồng thời mở trên dashboard của nhà cung cấp. Đa số các dịch vụ đều cho phép bạn mở tường lửa trực tiếp, thay vì phải mở trên dashboard. Theo trải nghiệm cá nhân của mình … Read more

Thiết lập cấu hình nginx chi tiết

Có 2 cách cài nginx, cách cài 1 (mặc định) sẽ không có được bản nginx mới nhất. Cách cài 2 hơi phức tạp, bạn phải cài trực tiếp từ nginx. Hai cách cài sẽ ra kết quả file cấu hình hơi khác nhau một chút. Trang chủ của Nginx … Read more

Kiểm tra khả năng tải của web với wrk

Bạn cần tải, build, cài đặt wrk rồi dùng trên terminal. Kết quả so sánh WordPress và Golang Ví dụ: Đây là một test khác với app viết bằng Golang: Nếu mình chạy 400 kết nối đồng thời thì Golang trên máy die nhưng với 100 kết nối đồng thời … Read more

Cách nâng cấp Go siêu nhanh

Kể từ phiên bản 1.21, Golang hỗ trợ cập nhật phiên bản siêu nhanh siêu dễ chịu một cách tự động. Ví dụ bên dưới mình cập nhật Golang lên phiên bản 1.21.6 trên con VPS dùng chip ARM siêu rẻ. Bạn cần thực hiện 2 dòng lệnh. Lệnh 1: … Read more

Tìm hiểu pattern khởi tạo struct với Golang với hàm New()

Khi code Go (Golang), ta có thể dùng mô hình hàm có tên ngắn gọn New() để khởi tạo một struct. Mô hình này không nhất thiết bắt buộc, nhưng là một quy ước phổ biến trong cộng đồng Go. Ý tưởng là có một hàm có tên là New<Type> … Read more