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

Ultimate Go: Software Design with Kubernetes

Ultimate Go: Software Design with Kubernetesardanlabs.com

Category: Golang (Google Go)
Duration 18 hours 2 minutes 48 seconds
Mastering Multithreading Programming with Go (Golang)

Mastering Multithreading Programming with Go (Golang)udemy

Category: Golang (Google Go)
Duration 5 hours 24 minutes 43 seconds
Master Go

Master Goappliedgo.com (Christoph Berger)

Category: Golang (Google Go)
Duration 6 hours 32 minutes 20 seconds
Go Programming Bootcamp

Go Programming Bootcampudemy

Category: Golang (Google Go)
Duration 15 hours 56 minutes 19 seconds
Getting Started With Golang

Getting Started With GolangAcademind Pro

Category: Golang (Google Go)
Duration 15 hours 19 minutes 14 seconds
Ultimate Go

Ultimate Goardanlabs.com

Category: Golang (Google Go)
Duration 16 hours 8 minutes 46 seconds
Redis Internals

Redis InternalsArpit Bhayani

Category: Golang (Google Go), Redis
Duration 9 hours 6 minutes 41 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
Go Programming (Golang): The Complete Developer's Guide

Go Programming (Golang): The Complete Developer's Guidezerotomastery.io

Category: Golang (Google Go)
Duration 13 hours 10 minutes 35 seconds