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

Build Your Own Database in Go From Scratch

Build Your Own Database in Go From ScratchJames Smith

Category: Golang (Google Go)
Duration
Ultimate Service 2.0

Ultimate Service 2.0ardanlabs.com

Category: Golang (Google Go)
Duration 14 hours 7 minutes 18 seconds
Foundations of Debugging for Golang

Foundations of Debugging for GolangByteSizeGoMatt Boyle

Category: Golang (Google Go)
Duration
Introduction to Testing in Go (Golang)

Introduction to Testing in Go (Golang)udemy

Category: Golang (Google Go)
Duration 12 hours 17 minutes 47 seconds
Introduction to industry REST microservices in Golang (Go)

Introduction to industry REST microservices in Golang (Go)udemy

Category: Golang (Google Go)
Duration 15 hours 45 minutes 33 seconds
Weekly LIVE sessions

Weekly LIVE sessionsAnthony GG

Category: Golang (Google Go)
Duration 7 hours 31 minutes 22 seconds
Go - The Complete Guide

Go - The Complete GuideAcademind Pro

Category: Golang (Google Go)
Duration 15 hours 23 minutes 30 seconds
How to design & develop REST microservices in Golang (Go)

How to design & develop REST microservices in Golang (Go)udemy

Category: Golang (Google Go)
Duration 20 hours 26 minutes 49 seconds
Advanced Branching and Looping in GO

Advanced Branching and Looping in GOpluralsight

Category: Golang (Google Go)
Duration 1 hour 14 minutes 40 seconds
Building Production-Ready Services with gRPC and Go

Building Production-Ready Services with gRPC and GoByteSizeGo

Category: Golang (Google Go)
Duration 11 hours 23 minutes 33 seconds