-
Урок 1.
00:09:58
Design DB schema and generate SQL code with dbdiagram.io
-
Урок 2.
00:09:15
Setup development environment on Windows: WSL2, Go, VSCode, Docker, Make, Sqlc
-
Урок 3.
00:06:19
Setup development environment on MacOS: Install Go and Visual Studio Code
-
Урок 4.
00:12:39
Use Docker + Postgres + TablePlus to create DB schema
-
Урок 5.
00:09:52
How to write & run database migration in Golang
-
Урок 6.
00:21:22
Generate CRUD Golang code from SQL | Compare db/sql, gorm, sqlx & sqlc
-
Урок 7.
00:20:05
Write unit tests for database CRUD with random data in Golang
-
Урок 8.
00:19:53
A clean way to implement database transaction in Golang
-
Урок 9.
00:28:21
DB transaction lock & How to handle deadlock in Golang
-
Урок 10.
00:13:04
How to avoid deadlock in DB transaction? Queries order matters!
-
Урок 11.
00:29:37
Deeply understand transaction isolation levels & read phenomena
-
Урок 12.
00:19:27
Setup Github Actions for Golang + Postgres to run automated tests
-
Урок 13.
00:25:22
Implement RESTful HTTP API in Go using Gin
-
Урок 14.
00:09:33
Load config from file & environment variables in Go with Viper
-
Урок 15.
00:26:55
Mock DB for testing HTTP API in Go and achieve 100% coverage
-
Урок 16.
00:14:25
Implement transfer money API with a custom params validator
-
Урок 17.
00:14:08
Add users table with unique & foreign key constraints in PostgreSQL
-
Урок 18.
00:11:13
How to handle DB errors in Golang correctly
-
Урок 19.
00:16:54
How to securely store passwords? Hash password in Go with Bcrypt!
-
Урок 20.
00:12:01
How to write stronger unit tests with a custom gomock matcher
-
Урок 21.
00:15:25
Why PASETO is better than JWT for token-based authentication?
-
Урок 22.
00:23:31
How to create and verify JWT & PASETO token in Golang
-
Урок 23.
00:13:52
Implement login user API that returns PASETO or JWT access token in Go
-
Урок 24.
00:29:18
Implement authentication middleware and authorization rules in Golang using Gin
-
Урок 25.
00:12:00
How to build a small Golang Docker image with a multistage Dockerfile
-
Урок 26.
00:10:08
How to use docker network to connect 2 stand-alone containers
-
Урок 27.
00:16:09
How to write docker-compose file and control service start-up orders
-
Урок 28.
00:06:45
How to create a free-tier AWS account
-
Урок 29.
00:20:45
Auto build & push docker image to AWS ECR with Github Actions
-
Урок 30.
00:10:09
How to create a production database on AWS RDS
-
Урок 31.
00:23:32
Store & retrieve production secrets with AWS secrets manager
-
Урок 32.
00:17:28
Kubernetes architecture & How to create an EKS cluster on AWS
-
Урок 33.
00:15:04
How to use kubectl & k9s to connect to a kubernetes cluster on AWS EKS
-
Урок 34.
00:20:54
How to deploy a web app to Kubernetes cluster on AWS EKS
-
Урок 35.
00:10:31
Register a domain & set up A-record using Route53
-
Урок 36.
00:09:51
How to use Ingress to route traffics to different services in Kubernetes
-
Урок 37.
00:14:26
Auto issue & renew TLS certificates with cert-manager and Let's Encrypt
-
Урок 38.
00:14:39
Automatic deploy to Kubernetes with Github Action
-
Урок 39.
00:22:56
How to manage user session with refresh token
-
Урок 40.
00:11:10
Generate DB documentation page and schema SQL dump from DBML
-
Урок 41.
00:07:48
Introduction to gRPC
-
Урок 42.
00:16:16
Define gRPC API and generate Go code with protobuf
-
Урок 43.
00:10:09
How to run a golang gRPC server and call its API
-
Урок 44.
00:13:38
Implement gRPC API to create and login users in Go
-
Урок 45.
00:16:43
gRPC Gateway: write code once, serve both gRPC & HTTP requests
-
Урок 46.
00:08:44
How to extract information from gRPC metadata
-
Урок 47.
00:13:19
Automatic generate & serve swagger documentation from Go server
-
Урок 48.
00:10:24
Embed static front-end files inside Golang backend server's binary
-
Урок 49.
00:15:43
Validate gRPC parameters and send human/machine friendly response
-
Урок 50.
00:11:45
Run DB migrations directly inside Golang code
-
Урок 51.
00:18:22
Partial update DB record with SQLC nullable arguments
-
Урок 52.
00:14:19
Build gRPC update API with optional parameters
-
Урок 53.
00:14:29
Add authorization to protect gRPC API
-
Урок 54.
00:15:19
Write structured logs for gRPC APIs
-
Урок 55.
00:10:05
How to write HTTP logger middleware in Go
-
Урок 56.
00:19:39
Implement background worker with Redis task queue
-
Урок 57.
00:13:59
Integrate async worker to Go web server
-
Урок 58.
00:09:27
Send async tasks to Redis within a DB transaction
-
Урок 59.
00:10:43
How to handle errors and print logs for Async workers
-
Урок 60.
00:06:15
Some delay might be good for your async tasks
-
Урок 61.
00:15:06
How to send email in Go via Gmail
-
Урок 62.
00:03:30
How to skip test in Go and config test flag in vscode
-
Урок 63.
00:18:37
Email verification feature: design DB and send email
-
Урок 64.
00:16:46
Implement email verification API in Go
-
Урок 65.
00:24:34
Unit test gRPC API with mock DB & Redis
-
Урок 66.
00:14:34
How to test a gRPC API that requires authentication
-
Урок 67.
00:05:44
Upgrade and config sqlc with version 2 syntax
-
Урок 68.
00:17:44
Switch DB driver from lib/pq to pgx
-
Урок 69.
00:09:36
How to properly handle DB errors with pgx driver
-
Урок 70.
00:09:02
Docker compose: port + volume mapping
-
Урок 71.
00:04:43
How to install & use binary packages in Go
-
Урок 72.
00:14:36
Implement role-based access control (RBAC) in Go
-
Урок 73.
00:14:22
Grant AWS EKS cluster access to Postgres and Redis using security group
-
Урок 74.
00:15:57
Deploy gRPC + HTTP server to AWS EKS cluster
Please update the course.
Thanks