Let's Go: Learn to Build Professional Web Applications with Go - Alex Edwards

Let's Go: Learn to Build Professional Web Applications with Go

By Alex Edwards

  • Release Date: 2018-11-26
  • Genre: Programming
  • Size: 4.98 MB

Alternative Downloads


Let's Go teaches you step-by-step how to create fast, secure and maintainable web applications using the fantastic programming language Go (also known as Golang).

The idea behind the book is to help you learn by doing. Together we'll walk through the start-to-finish build of a complete web application, from starting a server for the first time to session management and authenticating users.

Building a complete web application has a number of benefits: it helps put the things you're learning into context, demonstrates how different parts of your codebase link together, and forces us to work through the edge-cases and difficulties that come up when writing software in real-life. In essence, you'll learn more that you would by just reading Go's (great) documentation or standalone blog posts.

Although you can read the book cover-to-cover, it's designed specifically for you to follow along and build the application yourself.

Break out your text editor, and happy coding!

— Alex

"The book is brilliant, I'm learning so much from it. It's definitely the best book I've read on developing a non-trivial web app with Go." — John Zanchetta

What you'll learn
The fundamentals of creating a web application in Go, including routing, displaying HTML templates and serving static files.How to structure your application in a clean, scalable and easy-to-maintain way.How to manage configuration settings at runtime.How to make dependencies available to your handlers in an extensible and type-safe way.How to run SQL database queries from your application and avoid common errors that can lead to your server running out of resources.How to use Go's templating actions and functions to display dynamic data in HTML templates.How to create and use your own custom templating functions.How to gracefully handle template rendering errors at runtime.How to use RESTful routing and semantic URLs to create a clear routing structure that follows HTTP best practices.A user-friendly pattern for processing forms, validating data, and showing validation errors.The correct steps to prevent common attacks including SQL injection, CSRF, XSS and Clickjacking.How to securely use sessions to persist data between requests.How to create and use middleware to perform common actions before or after your handlers.How to log all the requests that your application receives.How to set timeouts on your server to stop slow-client attacks in their tracks.How to use HTTPS so that data is protected from eavesdropping while in transit, and configure HTTPS settings to improve performance and security.How to encrypt and store user passwords securely and safely in your database.How to correctly implement user signup, login and logout functionality.How to restrict access to logged in users for certain parts of your application.And most importantly... how to put it all together into a fully-functioning web application!