Chia Sẻ Khóa Học Làm Chủ Backend [Golang + Postgres + Kubernetes + gRPC] [Update Tháng 6-2023] [Khóa 7234 A]
Tìm hiểu mọi thứ về Backend Web Development: Golang, Postgres, Redis, Gin, gRPC, Docker, Kubernetes, AWS, CI/CD.
Bạn sẽ học được gì:
- ✓ Thiết kế database schema bằng DBML và tự động generate SQL code từ đó.
- ✓ Hiểu sâu về các mức độ cô lập DB (DB isolation level), transaction và cách tránh deadlock.
- ✓ Tự động generate Golang code để tương tác với cơ sở dữ liệu.
- ✓ Phát triển một RESTful backend web service bằng Gin framework.
- ✓ Bảo mật các API với user authentication, JWT và PASETO.
- ✓ Viết bộ test mạnh hơn với độ bao phủ cao bằng cách sử dụng interfaces và mocking.
- ✓ Xây dựng một minimal Docker image để triển khai và sử dụng Docker-compose cho development.
- ✓ Thiết lập Github Action để tự động build và deploy ứng dụng lên AWS Kubernetes cluster.
- ✓ Register một domain và config Kubernetes ingress để định tuyến lưu lượng truy cập đến web service.
- ✓ Kích hoạt tự động cấp & gia hạn chứng chỉ TLS cho domain với Let's Encrypt.
- ✓ Đưa web service của bạn lên một tầm cao mới với gRPC và gRPC gateway.
- ✓ Run background workers để xử lý tác vụ không đồng bộ với Redis và Asynq.
Trong khóa học này, bạn sẽ học từng bước cách thiết kế, phát triển và triển khai một backend web service từ đầu. Tôi tin rằng cách tốt nhất để học lập trình là xây dựng một ứng dụng thực sự. Do đó, trong suốt khóa học, bạn sẽ học cách xây dựng một backend web service cho một ngân hàng đơn giản. Nó sẽ cung cấp các API cho frontend để thực hiện những việc sau:
- ✓ Tạo và quản lý tài khoản ngân hàng.
- ✓ Ghi lại tất cả các thay đổi số dư cho từng tài khoản.
- ✓ Thực hiện chuyển tiền giữa 2 tài khoản.
Ngôn ngữ lập trình chúng tôi sẽ sử dụng để phát triển service là Golang, nhưng khóa học không chỉ về coding trong Go. Bạn sẽ học được rất nhiều chủ đề khác nhau liên quan đến backend web development. Chúng được trình bày trong 5 phần:
- ✓ 1. Trong phần đầu tiên, bạn sẽ tìm hiểu sâu về cách thiết kế cơ sở dữ liệu, generate code để giao tiếp với DB theo cách nhất quán và đáng tin cậy bằng cách sử dụng transaction, hiểu các mức cô lập DB (DB isolation level) và cách sử dụng nó đúng cách trong production. Bên cạnh cơ sở dữ liệu, bạn cũng sẽ học cách sử dụng Docker cho local development, cách sử dụng Git để quản lý code của bạn và cách sử dụng GitHub Action để tự động chạy các unit test.
- ✓ 2. Trong phần 2, bạn sẽ tìm hiểu cách xây dựng một bộ RESTful HTTP API bằng Gin - một trong những Golang framework phổ biến nhất để xây dựng các web service. Điều này bao gồm mọi thứ từ loading app configs, mocking DB cho các unit test mạnh mẽ hơn, handling error, authenticating user và bảo mật các API với JWT và PASETO access tokens.
- ✓ 3. Trong phần thứ 3, bạn sẽ tìm hiểu cách xây dựng ứng dụng của mình bằng Docker và triển khai ứng dụng đó vào một production Kubernetes cluster trên AWS. Các bài giảng rất chi tiết với hướng dẫn từng bước, từ cách xây dựng một minimal docker image, thiết lập một free-tier AWS account, tạo một production database, lưu trữ và truy xuất production secrets, tạo một Kubernetes cluster với EKS, sử dụng GitHub Action để tự động build và deploy image vào EKS cluster, mua một domain name và định tuyến lưu lượng truy cập đến service, bảo mật kết nối bằng HTTPS và tự động gia hạn chứng chỉ TLS từ Let's Encrypt.
- ✓ 4. Trong phần thứ 4, chúng ta sẽ thảo luận về một số chủ đề backend nâng cao như quản lý user sessions, xây dựng các gRPC API, sử dụng gRPC gateway để phục vụ cả gRPC và HTTP request cùng lúc, embedding Swagger documentation như một phần của backend service, cập nhật một phần record bằng cách sử dụng các optional parameter và viết structured logger HTTP middlewares và gRPC interceptors.
- ✓ 5. Sau đó, phần thứ 5 sẽ giới thiệu cho bạn về asynchronous processing trong Golang bằng cách sử dụng background workers và Redis làm message queue của nó cũng như cách shut down server một cách nhẹ nhàng để bảo vệ processing resources của bạn. Và các chủ đề mới như: gửi email, gracefully shutting down server, CORS, bulk inserts, v.v.
Khóa học này được thiết kế rất chi tiết để tất cả mọi người, kể cả những người có rất ít kinh nghiệm lập trình đều có thể hiểu và tự làm được. Tôi tin chắc rằng sau khóa học, bạn sẽ có thể làm việc tự tin và hiệu quả hơn rất nhiều trong các dự án của mình.
Mục lục:
- ✓ 01 - Làm việc với database [Postgres + SQLC].
- ✓ 02 - Xây dựng RESTful HTTP JSON API [Gin + JWT + PASETO].
- ✓ 03 - Triển khai ứng dụng to production [Docker + Kubernetes + AWS].
- ✓ 04 - Các chủ đề Backend nâng cao [Sessions + gRPC].
- ✓ 05 - Asynchronous processing với background workers [Asynq + Redis].
Khóa học này dành cho ai:
- ✓ Bất kỳ ai muốn tìm hiểu về backend web service development bằng Golang, Postgres, Docker & Kubernetes.
- ✓ Khóa học được thiết kế sao cho ngay cả người mới bắt đầu có kỹ năng lập trình rất cơ bản cũng có thể hiểu được.
- ✓ Nhưng tôi chắc chắn rằng ngay cả những nhà phát triển có nhiều kinh nghiệm hơn (trình độ trung cấp) vẫn có thể học được điều gì đó mới.
NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU