HTMX edge cases: hx-get khi không có hx-target và Golang

Thường hx-get =”” được dùng thay thế cho action và method trong form. Điểm đáng lưu ý là nếu không gán hx-target thì nó sẽ không hoạt động giống như action và method=”get” trong form. Cụ thể: nó sẽ không điều hướng sang route đã thiết lập trong hx-get=”/newroute”. Nguyên … Read more

So sánh Golang struct và Javascript object

Khi so sánh Golang và Javascript, struct và phương thức (method) (trong Golang) hoạt động tương tự như object trong JavaScript, nhưng cũng có những điểm khác biệt quan trọng. Điểm giống nhau: Điểm khác nhau: Tính năng Golang (struct + method) JavaScript (object) Hệ thống kiểu dữ liệu Kiểu … Read more

Mối quan hệ giữa CPU thread và Go rountines

Ảnh: https://golangbyexample.com/goroutines-golang/ Trong Golang, OS Thread và Goroutine có mối quan hệ chặt chẽ nhưng không phải 1:1. Dưới đây là sự khác biệt và cách chúng hoạt động cùng nhau: 1. OS Thread 2. Goroutine 3. Mối Quan Hệ giữa OS Thread và Goroutine 4. Các Thành Phần Chính … Read more

Caveat với aapanel khi chạy Goalng

Đó là khi tạo dự án mới, tạo proxy-website thay vì PHP web thông thường, vì khi đó, cấu hình nginx sẽ không render ra file tĩnh như css, png. Chuối cả nải vì phải test cả Go-chi, go-gin với 2 server nhưng đểu lỗi. Hóa ra do development skill. … Read more

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á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