Cách giải quyết các vấn đề phổ biến trong dự án JSONQuery
Giới thiệu về dự án và ngôn ngữ lập trình chính
JSONQuery là một dự án mã nguồn mở được viết bằng ngôn ngữ Go, cung cấp khả năng truy vấn dữ liệu JSON sử dụng cú pháp XPath. Dự án này giúp người dùng dễ dàng trích xuất thông tin từ tài liệu JSON mà không cần phải xác định trước cấu trúc đối tượng để thực hiện việc phân tích ngược (deserialize). ...
Đăng vào ngày 8 tháng 6 lúc 18:12
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
Các thao tác tệp và thư mục trong ngôn ngữ Go
Mở và đóng tệp
Thư viện os trong Go cung cấp hàm os.Open() để mở một tệp, trả về một con trỏ *File và một lỗi (nếu có). Sau khi hoàn tất thao tác với đối tượng tệp, bạn phải nhớ đóng tệp bằng cách gọi phương thức Close().
package main
import (
"fmt"
"os"
)
func main() {
// Mở tệp main.go ở chế độ chỉ đọc
tap_tin, loi ...
Đăng vào ngày 7 tháng 6 lúc 20:33
Kiểu dữ liệu cơ bản và toán tử trong Go
1. Số thực dấu phẩy động (Floating-point)
Tổng quan
Kiểu số thực được dùng để lưu trữ các giá trị có phần thập phân.
Có thể gán một số nguyên cho biến kiểu số thực, nhưng không thể gán ngược lại.
Kết quả của phép toán trên số thực luôn là số thực.
Go cung cấp hai loại: float32 và float64.
Phạm vi giá trị
KiểuGiá trị tối đa
float323.40e+38 ...
Đăng vào ngày 6 tháng 6 lúc 02:29
3 bước tối ưu hiệu suất Loki: Hướng dẫn phân tích chi tiết bằng pprof
3 bước tối ưu hiệu suất Loki: Hướng dẫn phân tích chi tiết bằng pprof
Loki là hệ thống聚合 nhật ký nguồn mở, có khả năng mở rộng cao và hỗ trợ đa租户. Được phát triển bởi Grafana Labs, Loki chuyên dụng cho việc thu thập, lưu trữ và truy vấn lượng lớn dữ liệu nhật ký, đồng thời sử dụng索引标签 để tăng tốc độ tìm kiếm. Hệ thống này được thiết kế ...
Đăng vào ngày 5 tháng 6 lúc 03:18
Tối ưu hóa bộ nhớ trong Go: Chiến lược lựa chọn phân bổ Stack và Heap
1. Hiểu về phân bổ bộ nhớ trong Go: Chi phí thấp và cao
Khi mới bắt đầu viết code Go, tôi thường không quan tâm nhiều đến việc phân bổ bộ nhớ. Với garbage collector (GC) lo phần việc này, tôi nghĩ vấn đề không quá phức tạp. Cho đến một ngày, khi tôi chịu trách nhiệm cho một dịch vụ API có tần suất truy cập cao, việc sử dụng CPU đột ngột tăng ca ...
Đăng vào ngày 4 tháng 6 lúc 18:02
Các giải pháp cho các câu hỏi thường gặp trong dự án go-queue
Các giải pháp cho các câu hỏi thường gặp trong dự án go-queue
go-queue là một framework hàng tin nhắn phân tán được phát triển bởi công ty zeromicro. Nó hỗ trợ nhiều hệ thống hàng tin nhắn như Kafka, Beanstalkd, NATS, RabbitMQ."go-queue" được viết bằng ngôn ngữ Go, tận dụng hiệu suất và khả năng xử lý song song của Go để cung cấp một ...
Đăng vào ngày 3 tháng 6 lúc 18:04
Thiết kế và phát triển API
Việc viết API có vẻ đơn giản, nhưng thực tế lại không dễ để làm tốt. Hãy cùng tìm hiểu cách thiết kế một API hiệu quả.
Gì là API?
API là một chuẩn mực phổ biến trong cuộc sống hàng ngày, ví dụ như các đầu nối ống nước hay chuẩn USB giúp kết nối thiết bị với máy tính. Jeff Bezos đã áp dụng triệt để văn hóa API tại Amazon bằng việc yêu cầu tất ...
Đăng vào ngày 2 tháng 6 lúc 20:03
Tạo Dịch Vụ Xác Thực Cho Ứng Dụng Nhỏ Sử Dụng Go và gRPC-Gateway(V2)
Giới thiệu
Ứng dụng nhỏ có thể sử dụng khả năng đăng nhập được cung cấp bởi WeChat để dễ dàng lấy thông tin nhận dạng người dùng từ WeChat, giúp xây dựng hệ thống người dùng bên trong ứng dụng nhanh chóng.
Mô tả Quy Trình Kinh Doanh
Tài liệu hướng dẫn tích hợp của WeChat
Cấu Hình Dự Án Ban Đầu
Môi Trường Phát Triển
Môi trường phát triển cục b ...
Đăng vào ngày 2 tháng 6 lúc 16:09
Tự động tạo định nghĩa kiểu TypeScript từ gRPC trong ứng dụng Go
Để đảm bảo mã khách hàng tuân thủ kiểu mạnh và giảm thiểu lỗi khi sử dụng API, chúng ta có thể tự động tạo các định nghĩa kiểu TypeScript từ tệp .proto. Dưới đây là hướng dẫn chi tiết để thực hiện điều này.
Sử dụng thư viện protobufjs
Tài liệu tham khảo:
protobufjs
Cài đặt:
yarn add protobufjs
Sau khi cài đặt, bạn sẽ có hai công cụ sau trong ...
Đăng vào ngày 1 tháng 6 lúc 06:34