backendBeginner
Golang 101 - Lập trình hiệu năng cao
Golang 101 - Lập trình hiệu năng cao
Golang căn bản đến web service: cú pháp Go, concurrency (goroutine/channel), HTTP/REST, testing và tối ưu. Tập trung hiệu năng, tổ chức dự án chuẩn và xử lý lỗi/log đúng cách.
⭐ 4.8 (18 đánh giá)⏱ 20h👥 120 học viên📚 16 bài học📎 20 tài liệu🌐 Vietnamese
10.000.000 ₫
IT
Tạo bởi ITSS Training
🌐 VietnameseBeginner
Lộ trình học
Buổi 1
Ngày 1-2
Mục tiêu
- Hiểu rõ Go syntax và fundamentals
- Setup Go development environment
- Tạo chương trình đầu tiên
Nội dung
- Giới thiệu Go và các ưu điểm về hiệu năng, tính đơn giản và khả năng xử lý đồng thời, đi kèm ví dụ thực tế trong backend/microservices.
- Cài đặt Go compiler và IDE; cấu hình GOPATH/GOMOD, kiểm tra môi trường và mẹo khắc phục lỗi cài đặt thường gặp.
- Nắm vững cú pháp Go: biến, hằng, hàm, struct, interface và visibility; thói quen đặt tên và tổ chức mã nguồn theo chuẩn cộng đồng.
- Quản lý module hiện đại với Go modules, imports theo phiên bản và cách vendor phụ thuộc khi cần kiểm soát chặt chẽ.
- Thực hành: tạo chương trình Hello World, biên dịch và chạy; quan sát cấu trúc dự án tối thiểu và vòng đời build.
Buổi 2
Ngày 3-4
Mục tiêu
- Goroutines và concurrency
- Channels và communication
- Error handling
Nội dung
- Giải thích goroutine như luồng nhẹ; mô hình đồng thời của Go và cách tận dụng CPU đa lõi an toàn.
- Làm việc với channel để giao tiếp giữa goroutine; phân biệt buffered/unbuffered và tác động đến hiệu năng.
- Sử dụng select để điều phối nhiều channel, timeout và context cancellation để tránh rò rỉ goroutine.
- Chuẩn hóa xử lý lỗi với error interface, wrap lỗi kèm ngữ cảnh và quyết định propagate hay recover một cách nhất quán.
- Bài lab: xây dựng pipeline concurrent đơn giản, đo đạc thời gian thực thi và phân tích bế tắc (deadlock).
Buổi 3
Ngày 5-6
Mục tiêu
- HTTP server và REST API
- JSON handling
- Database integration
Nội dung
- Khởi tạo HTTP server với net/http, middleware cơ bản và routing; so sánh với các framework phổ biến.
- Thiết kế REST API có chuẩn: tài nguyên, mã trạng thái, và định dạng lỗi đồng nhất; thêm logging và metrics cơ bản.
- Xử lý JSON hiệu quả: marshaling/unmarshaling, tag struct và kiểm soát nullable; bảo toàn hiệu năng khi payload lớn.
- Kết nối cơ sở dữ liệu bằng GORM/pgx; migration, index và tối ưu truy vấn; quản lý transaction an toàn.
- Bài lab: xây dựng API CRUD hoàn chỉnh, viết unit test cơ bản cho handler và repository.
Buổi 4
Ngày 7-8
Mục tiêu
- Testing và debugging
- Project thực tế
- Deployment
Nội dung
- Viết unit test với testing package và table‑driven tests; sử dụng gomock/testify để mock phụ thuộc hiệu quả.
- Benchmark test và profile hiệu năng; xác định hot path và tối ưu phân bổ bộ nhớ.
- Kỹ thuật debug: logs có cấu trúc, pprof và truy vết lỗi; quy ước log để dễ quan sát trên production.
- Bài tập dự án: tách dịch vụ nhỏ (microservice) có API rõ ràng, thêm healthcheck/metrics và tài liệu khởi chạy.
- Đóng gói với Docker multi‑stage, tối ưu kích thước image và chuẩn bị compose cho môi trường phát triển.