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.