with database\
0:00 Design DB schema and generate SQL code with
9:57 Install & use Docker Postgres TablePlus to create DB schema
22:35 How to write & run database migration in Golang
32:27 Generate CRUD Golang code from SQL Compare dbsql, gorm, sqlx & sqlc
53:48 Write unit tests for database CRUD with random data in Golang
1:13:53 A clean way to implement database transaction in Golang
1:33:45 DB transaction lock & How to handle deadlock in Golang
2:02:06 How to avoid deadlock in DB transaction Queries order matters!
2:15:09 Deeply understand transaction isolation levels & read phenomena
2:44:46 Setup Github Actions for Golang Postgres to run automated tests
RESTful HTTP JSON API\
3:04:13 Implement RESTful HTTP API in Go using Gin
3:29:34 Load config from file & environment variables in Go with Viper
3:39:07 Mock DB for testing HTTP API in Go and achieve 100% coverage
4:06:01 Implement transfer money API with a custom params validator
4:20:26 Add users table with unique & foreign key constraints in PostgreSQL
4:34:34 How to handle DB errors in Golang correctly
4:45:47 How to securely store passwords Hash password in Go with Bcrypt!
5:02:40 How to write stronger unit tests with a custom gomock matcher
5:14:41 Why PASETO is better than JWT for token-based authentication
5:30:06 How to create and verify JWT & PASETO token in Golang
5:53:36 Implement login user API that returns PASETO or JWT access token in Go
6:07:27 Implement authentication middleware and authorization rules in Golang using Gin
the application to production\
6:36:45 How to build a small Golang Docker image with a multistage Dockerfile
6:48:45 How to use docker network to connect 2 stand-alone containers
6:58:52 How to write docker-compose file and control service start-up orders
7:15:00 How to create a free-tier AWS account
7:21:45 Auto build & push docker image to AWS ECR with Github Actions
7:42:30 How to create a production database on AWS RDS
7:52:38 Store & retrieve production secrets with AWS secrets manager
8:16:10 Kubernetes architecture & How to create an EKS cluster on AWS
8:33:38 How to use kubectl & k9s to connect to a kubernetes cluster on AWS EKS
8:48:41 How to deploy a web app to Kubernetes cluster on AWS EKS
9:09:34 Register a domain & set up A-record using Route53
9:20:05 How to use Ingress to route traffics to different services in Kubernetes
9:29:55 Auto issue & renew TLS certificates with cert-manager and Let’s Encrypt
9:44:21 Automatic deploy to Kubernetes with Github Action
Backend Topics\
9:58:59 How to manage user session with refresh token
10:21:55 Generate DB documentation page and schema SQL dump from DBML
10:33:05 Introduction to gRPC
10:40:53 Define gRPC API and generate Go code with protobuf
10:57:08 How to run a golang gRPC server and call its API
11:07:16 Implement gRPC API to create and login users in Go
11:20:54 gRPC Gateway write code once, serve both gRPC & HTTP requests