Skip to main content

Backend Engineering with Go

17h 6m 22s
English
Paid

Embark on a journey to master Backend Engineering with Go through this practice-oriented course. Build a robust REST API in Go from scratch and deploy it in the cloud, preparing it for real traffic and scalable growth with minimal costs.

Getting Started

We will kick off with the creation of a basic TCP-server to familiarize ourselves with the net/http package, gaining a strong foundation in network interactions using Go.

Course Highlights

As you progress, you'll dive into the architectural principles necessary for building reliable and modular web applications in Go. The project will evolve step by step, covering crucial topics such as:

  • Handling HTTP requests effectively
  • Developing custom middleware solutions
  • Integrating and managing databases
  • Optimizing database queries and interactions
  • Implementing rate limiting techniques
  • Preparing for cloud deployment and managing real traffic

Course Benefits

This course offers more than just a simple guide—it provides a comprehensive training experience, aimed at instilling a deep understanding of backend systems. You'll master industry best practices for creating secure, scalable, and maintainable APIs that are production-ready.

Designed for those eager to move beyond basic solutions, this course equips you with the skills to develop real backend services in Go, ideal for real-world projects.

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 77 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 77 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Project Overview
All Course Lessons (77)
#Lesson TitleDurationAccess
1
Project Overview Demo
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
Unlock unlimited learning

Get instant access to all 76 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription