Share Khoá học Golang 200Lab for Scalable Backend Của 200Lab
Giới thiệu khóa học Golang 200Lab
Xin chào các bạn, hôm nay Minutop xin Chia Sẻ Khóa Học Golang 200Lab for Scalable Backend Của 200Lab.
Golang đang ngày càng được các công ty công nghệ ưu chuộng, đặc biệt là những nơi đang sử dụng Cloud Native, Microservices. Với đặc điểm syntax đơn giản nhưng lại có hiệu năng như ngôn ngữ C giúp Golang trở thành một lựa chọn đáng giá.
Nếu bạn yêu thích backend, muốn khởi đầu nhanh và bắt kịp xu hướng. Hãy bắt đầu tìm hiểu Golang ngay!
Khóa học Golang 200Lab sẽ giúp bạn
Khoá học Golang 200Lab bao gồm các nội dung từ cơ bản Golang backend, đến nâng cao (thực chiến), bao quát các kỹ thuật cần thiết để xây dựng service hiệu quả, tải cao, dễ bảo trì và mở rộng.
Thực lực đạt 1 đến 2 năm kinh nghiệm.
Xây dựng hệ thống tải cao với Golang.
Tư duy hệ thống, kỹ năng lập trình và phân tích dự án lớn.
Ai nên tham gia khóa học Golang 200Lab
Đã biết lập trình và muốn nâng cao kỹ năng làm hệ thống.
Muốn chuyển qua từ các mảng khác (Mobile/Web).
Có đam mê, yêu thích xây dựng các hệ thống chịu tải cao, dễ bảo trì và mở rộng.
Tất cả ai có nhu cầu học
Nội dung khóa học Golang 200Lab
TOPIC 1: NGÔN NGỮ GOLANG – KEY FEATURE
Go effective, các quy ước để có source go đẹp và chuẩn.
Go channel: Giao tiếp giữa các Goroutines (concurrent).
Buffer Channel trong Golang.
Cơ chế Defer, Recover trong Golang.
Sử dụng Interface trong Golang.
Slice, buffer, json decode / encode trong Golang.
TOPIC 2: PHÂN TÍCH DỰ ÁN TỪ GIAO DIỆN CHO TRƯỚC
Thiết lập requirement, user story từ giao diện.
Phân tích chức năng, flow và các APIs cần có.
Phân tích modules hoặc theo domain driven.
Bonus: phân chia task hiệu quả để quản lý tiến độ tốt.
TOPIC 3: THIẾT LẬP DATABASE CHO DỰ ÁN FOOD DELIVERY
Cài đặt và kết nối database service: MySQL / PostgreSQL.
Từ kết quả phân tích, thiết lập các bảng dữ liệu.
Thiết lập các mối quan hệ giữa các bảng dữ liệu.
Kỹ thuật đánh khoá chính và index để có kết quả truy xuất tốt nhất.
Bonus: kinh nghiệm thiết kế database cho app Food Delivery.
THIẾT LẬP DATABASE CHO DỰ ÁN FOOD DELIVERY
VIẾT API (CƠ BẢN) TRONG GOLANG
TOPIC 4: VIẾT API (CƠ BẢN) TRONG GOLANG
Tìm hiểu REST API convention.
Các API cơ bản: Create-Read-Update-Delete (CRUD) cơ bản.
Các API CRUD trên nhiều bảng và transaction.
Authen với JWT, cách sử dụng JWT để xác thực người dùng.
TOPIC 5: VIẾT API (MỞ RỘNG) TRONG GOLANG
Sử dụng middleware: tiền xử lý, xác thực quyền hạn, bắt lỗi crash.
Upload files: xử lý, lưu trữ với các cloud storage (AWS S3) và CDN.
Giao tiếp API giữa các module.
Tổng hợp và link data các module.
Bonus: Cách thiết kế giảm lệ thuộc giữa các module, tăng tốc xử lý, chống leak memory.
VIẾT API (MỞ RỘNG) TRONG GOLANG
ASYNC HANDLERS, XỬ LÝ SIDE EFFECT TRONG GOLANG
TOPIC 6: ASYNC HANDLERS, XỬ LÝ SIDE EFFECT TRONG GOLANG
Cách xây dựng async job trong Golang.
Giải quyết timeout, retry cho async job.
Đồng bộ dữ liệu với các async job.
Pub / Sub trong Golang.
Xây dựng async job queue & message broker.
TOPIC 7: TRIỂN KHAI (DEPLOY) & MONITORING
Log system trong Golang.
Cơ chế tự động phục hồi kết nối DB (resilience).
Cách sử dụng environment trong Golang.
Build & Deploy với Docker.
Sử dụng nginx (container Docker) làm reverse proxy.
Bonus: Monitoring & Tracing.
TOPIC 8: SỬ DỤNG GRPC ĐỂ TĂNG TẢI SERVICE
Giới thiệu gRPC.
Lập trình Protobuf 3.
Tạo các service sử dụng gRPC cơ bản.
gRPC streaming.
Sử dụng gRPC Gateway để hỗ trợ thêm REST API.
Bonus: Các kinh nghiệm xử lý gRPC trong thực tế.
TOPIC 9: MICROSERVICE CƠ BẢN (KHOÁ LIVESTREAM MỚI)
Hiểu rõ về Stateless service.
Phân tách và deploy nhiều Microservices.
Sử dụng Redis và NATs để tăng tải các services.
Một số kinh nghiệm xử lý các vấn đề trong Microservice.
TOPIC 10: CÁC KỸ NĂNG KHÁC
Tư duy backend và hệ thống.
Thuật toán & cấu trúc dữ liệu cơ bản.
Xây dựng profile Github.
Quản lý dự án, teamwork.
Kiến trúc ứng dụng và các design pattern thường gặp trong Golang.
Xây dựng CV để ứng tuyển vị trí Golang (có hỗ trợ review trainee, interview thử).
BONUS TOPICS: DEVOPS CƠ BẢN (KHOÁ LIVESTREAM MỚI)
DEVOPS CƠ BẢN
Kinh nghiệm tăng tải hệ thống 100K CCU.
Monitoring các chỉ số hệ thống.
Kiến trúc dễ dàng phân tách Microservices.
Distributed Tracing để tìm nút thắc cổ chai trong hệ thống.
Hệ thống logging cơ bản.
NỘI DUNG VIDEO KHÓA HỌC Golang 200Lab
Khai giảng, hỏi đáp trực tiếp & chia sẻ từ Mentor
Khai giảng G04 01:34:58
Open Hour (G04) 01:56:46
Open Hour (G07) 02:18:57
Bộ video record
Section 01: Golang Syntak 01:59:27
Section 02: Goroutines, Phân tích UI để tạo Database 01:54:07
Review Exercise (Channel, Defer, Range Close, Select,…) 03:11:54
Section 03: GORM và chia sẻ kinh nghiệm tăng tải Database 01:53:25
Section 04: CRUD API & Architecture 01:46:55
Section 05: Error handling 01:34:24
Section 06: Image uploading to S3 01:28:52
Section 07: Improve paging and hide real id 01:50:31
Section 08: Authentication with JWT 01:55:57
Section 09: Link user data to other APIs 01:44:38
Section 11: Async Job and Group Job 02:01:10
Section 12: Queue and Pubsub in Golang 01:48:36
Section 13: Realtime engine with SocketIO 01:57:39
Section 14: Deploy with Docker, Nginx, Let’s Encrypt 01:51:53
Section 15: Distributed Tracing – OpenCensus and Jaeger 01:45:31
Section 16: Monitoring, Logging, Load Test, Unit Test 01:48:58
Special Section: gRPC 02:02:10
Special Section: Sharing some tips (Unit Test, Payment Gateway) 01:57:29