Go is a great language for building web applications. But teaching yourself from blog posts and the standard-library documentation can often leave you with more questions than answers.
Let's Go! Learn to Build Professional Web Applications With Golang [Professional Package]
Let's Go! Learn to Build Professional Web Applications With Golang [Professional Package] is a self-paced course by Alex Edwards. Go is a great language for building web applications.
Course facts
- Lessons
- 0
- Duration
- self-paced
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Alex Edwards
- Price
- Premium
You might be wondering:
- Where can I see a concrete example of a real-world web application?
- How is it best to structure and organize my code?
- How do I make sure I’m not making any mistakes when it comes to security?
- How do I use modules to manage and version control dependencies?
- And how do I effectively test my web application?
Let’s Go answers these questions for you — and a whole lot more.
The book guides you through the start-to-finish build of a real-world application, so you'll gain all the knowledge, understanding and confidence you need to create production-ready applications with Go.
What You’ll Learn…
- All the fundamentals — How to start a server, create handlers, send responses, route requests and serve static files.
- Structure and organization — How to create an idiomatic and scalable structure for your web application.
- Using Modules — How to use Go's new Module functionality to manage and version control your dependencies.
- Managing configuration — How to use command-line flags and dependency injection to manage your application settings.
- Logging and Error Handling — How to implement leveled logging and centralized error handling.
- SQL databases — How to design a database model, set up a connection pool, and execute statements and queries.
- HTML templating — How to cache your templates, display dynamic data, create custom functions and handle runtime errors.
- Middleware — How to create your own middleware to perform common actions (like logging requests and recovering panics).
- RESTful routing — How to create a modern request routing structure that follows the principles of REST.
- Form validation — How to implement reusable and user-friendly pattern for validating forms and displaying errors.
- Session management — How to use and configure sessions to persist data between requests.
- Using HTTPS — How to correctly setup a HTTPS server and configure it for improved performance and security.
- Prevent common vulnerabilities — How to prevent SQL injection, CSRF, XSS, clickjacking and slow-client attacks.
- Authentication and authorization — How to safely encrypt user passwords and add signup, login and logout functionality.
- Request context — How to use Go's context.Context to pass data between your middleware and handlers.
- Testing — How to create unit tests, integration tests and end-to-end tests, mock dependencies and measure test coverage.
- And most importantly… How to put it together in a fully-functioning application!
Additional
Go 1.24 language updates
Section 13 ("Testing") has been updated to use the new slog.Discard handler, instead of a slog.TextHandler that writes to io.Discard.
Dependency updates
- golang.org/x/crypto => v0.33.0
- github.com/alexedwards/scs/mysqlstore => v0.0.0-20250212122300-421ef1d8611c
Other changes
Various broken link and typo fixes, and minor copy tweaks to improve clarity.
Who teaches Let's Go! Learn to Build Professional Web Applications With Golang [Professional Package]? Alex Edwards
Alex Edwards is a UK-based software engineer and the author of Let's Go! and Let's Go Further — two of the most widely-recommended self-published books on building production web applications with Go using only the standard library and a minimal dependency footprint.
His CourseFlix listing carries Let's Go! Learn to Build Professional Web Applications With Go. The book / course is unusual for the depth it goes into the standard-library net/http patterns and the production concerns — security, deployment, observability — that most Go web tutorials skip in favour of framework-of-the-week content.
Material is paid and aimed at Go developers building production web services on the standard library rather than depending on heavy frameworks. For broader content, see CourseFlix's Golang category page.
Books
What courses are similar to Let's Go! Learn to Build Professional Web Applications With Golang [Professional Package]?
-
Updated 2y agoWorking with React and Go (Golang)
By: UdemyReact and Go are something of a match made in heaven. React is the world's most popular JavaScript library for building Single Page Applications, and Go is uniq24h 48m -
Updated 2y agoGo Bootcamp: Master Golang with 1000+ Exercises and Projects
By: UdemyDeeply understand and master the Go Programming Language (Golang) from scratch 1000+ hands-on exercises and projects.15h 27m -
Updated 3y agoUltimate Go: Software Design with Kubernetes
By: Ardan LabsThis course teaches you how to build production-level services in Go, leveraging the power of a Domain Driven, Data Oriented Archiecture deployed in Kubernetes.18h 2m -
Updated 2y agoGo Programming Bootcamp
By: UdemyGo is the #1 language in most demand by employers right now. Employers are willing to pay 33% more for those who are gifted Go programmers.15h 56m -
Updated 1y agoWeb Development with Go v2 (Current Version)
By: useGolang (Jon Calhoun)Learn to build real, production-grade web applications from scratch. No trivial TODO apps that barely touch the complexity of a real app. No frameworks that hid40h 28m3/5 -
Updated 2y agoHow to develop a productive HTTP client in Golang (Go)
By: UdemyHave you ever called a REST API from your Go program? Did you implemented your own HTTP client or did you ended up using some of the thousand libraries out.9h 44m -
Updated 2y agoWorking with Microservices in Go (Golang)
By: UdemyFor a long time, web applications were usually a single application that handled everything—in other words, a monolithic application. This monolith handled user10h 51m5/5