Backend Engineering with Go

17h 6m 22s
English
Paid

In this practice-oriented course, we will build a full-fledged REST API in Go from scratch and deploy it in the cloud, ready for real traffic and scaling with minimal costs.

Read more about the course

Where we'll start:

We will start by creating a simple TCP-server to get acquainted with the net/http package and understand the basics of network interaction in Go.

What you will learn:

Then we will delve into the architectural principles of building reliable and modular web applications in Go. The project will develop step by step, and you will go through key topics such as:

  • Handling HTTP requests
  • Creating custom middleware
  • Database integration
  • Optimizing queries and database interaction
  • Rate limiting
  • Preparing for cloud deployment and handling real traffic

What this course will give you:

This course is not just a step-by-step guide - it is a comprehensive training aimed at developing a deep understanding of backend systems, mastering industry best practices, and creating secure, scalable, and maintainable APIs ready for production.

It is perfect for those who want to go beyond template solutions and learn how to develop real backend services in Go that are ready for real-world projects.

Watch Online Backend Engineering with Go

Join premium to watch
Go to premium
# Title Duration
1 Project Overview 09:50
2 Why Go with Go? 02:08
3 Preface for Udemy Students 01:19
4 Design Principles for a REST API 08:55
5 Effective Error Handling 15:29
6 Interfaces 16:17
7 Testing 06:18
8 Pointers 12:16
9 Goroutines 10:14
10 Context and Timeouts 13:30
11 Concurrency with Channels 13:21
12 Maps 06:21
13 Capstone Project (Exercise) 02:14
14 Capstone Project Solution 02:31
15 Map Concurrency & Mutexes 12:07
16 TCP Server - net package 08:28
17 Understanding Routing 03:55
18 HTTP Server - The net/http package 11:03
19 Encoding & Decoding JSON Requests 07:45
20 Setting up your Development Environment 07:52
21 Clean Layered Architecture 11:32
22 Setting up the HTTP server and API 18:12
23 Hot Reloading in Go 03:31
24 Environment Variables 06:57
25 The Repository Pattern 09:21
26 Implementing the Repository Pattern 07:52
27 Persisting data with SQL 12:54
28 Configuring the DB Connection Pool 17:16
29 SQL Migrations 15:41
30 Marshalling JSON responses 14:26
31 Creating a User Feed Post 14:20
32 Getting a Post From a User 11:42
33 Internal Errors Package 07:07
34 HTTP Payload Validation 07:44
35 DB Relationships & SQL Joins 05:05
36 Adding Comments to Posts 15:45
37 Updating and Deleting Posts 23:30
38 Standardising JSON Responses 03:08
39 Optimistic Concurrency Control 14:10
40 Managing SQL Query Timeouts 04:53
41 Database Seeding 18:56
42 Creating the User Profile 11:23
43 Adding Followers 25:11
44 SQL Indexes 08:49
45 User Feed Algorithm 21:13
46 Pagination and Sorting 14:48
47 Feed Filtering 15:13
48 Auto Generating Docs for the API 16:01
49 Documenting the Handlers 09:27
50 Adding a Logger 12:33
51 User Registration Overview 26:02
52 SQL Transactions 23:02
53 User Activation 25:39
54 Sending the Invitation Email 39:25
55 (Optional) Sending Emails using MailTrap 07:29
56 Improving Further the Email 11:48
57 Extra: Building the Confirmation UI 18:25
58 Authentication Overview 23:53
59 Basic Authentication 14:28
60 Generating Tokens 27:08
61 Validating Tokens 20:10
62 Authorization Overview 06:51
63 Authorization Database Setup 09:04
64 Role Precedence Middleware 19:43
65 Fixing the User Invitation 05:03
66 Designing for Performance 08:12
67 Caching the User Profile 38:12
68 Testing Overview 06:41
69 Testing the User Handler 28:07
70 Spies 08:25
71 Graceful Server Shutdown 11:58
72 Rate Limiting our API 21:52
73 Handling CORS errors 13:46
74 Basic Server Metrics 10:03
75 Continuous Integration 14:26
76 Changelog 11:35
77 Deploying to Google Cloud 24:22

Similar courses to Backend Engineering with Go

Web hook service application over SSH

Web hook service application over SSHAnthony GG

Category: Golang (Google Go)
Duration 3 hours 16 minutes 6 seconds
Building Levenue

Building LevenueAnthony GG

Category: Golang (Google Go)
Duration 6 hours 55 minutes 58 seconds
Learn to Create Web Applications using Go

Learn to Create Web Applications using Gousegolang.com

Category: Golang (Google Go)
Duration 43 hours 35 minutes 37 seconds
Ultimate Service 3.0

Ultimate Service 3.0ardanlabs.com

Category: Golang (Google Go), Kubernetes
Duration 13 hours 33 minutes 5 seconds
Ultimate Go: Advanced Engineering

Ultimate Go: Advanced Engineeringardanlabs.com

Category: Golang (Google Go)
Duration 16 hours 20 minutes 42 seconds
Blockchain from scratch with GRPC and Protobuffers

Blockchain from scratch with GRPC and ProtobuffersAnthony GG

Category: Golang (Google Go), Other (Blockchain)
Duration 4 hours 56 minutes 12 seconds
Web Development with Google’s Go (golang) Programming Language

Web Development with Google’s Go (golang) Programming Languagegreatercommons.com

Category: Golang (Google Go), MongoDB
Duration 18 hours 59 minutes 31 seconds
Writing An Interpreter In Go

Writing An Interpreter In GoThorsten Ball

Category: Golang (Google Go)
Duration