Lets Go Further! Advanced patterns for building APIs and web applications in Go Free Download. Let’s Go Further helps you extend and expand your knowledge of Go — taking you beyond the basics and guiding you through advanced patterns for developing, managing and deploying APIs and web applications.
Lets Go Further! Advanced patterns for building APIs and web applications in Go Description
- 1 Lets Go Further! Advanced patterns for building APIs and web applications in Go Description
- 2 What You’ll Learn in Lets Go Further! Advanced patterns for building APIs and web applications in Go
- 3 Lets Go Further! Advanced patterns for building APIs and web applications in Go Free Download
Let’s Go Further guides you through the start-to-finish build of a modern JSON API in Go – from project setup to deployment in production.
As well as covering fundamental topics like sending and receiving JSON data, the book goes in-depth and explores practical code patterns and best practices for advanced functionality like implementing graceful shutdowns, managing background tasks, reporting metrics, and much more.
You’ll learn a lot about topics that are often important to your real-world work, but which are rarely discussed in beginner-level courses and aren’t fully explained by the official Go documentation. Let’s Go Further also goes beyond development. It outlines tools and techniques to help manage your project on an ongoing basis, and also gives you a step-by-step playbook for deploying your API to a live production server.
By the end of the book you’ll have all the knowledge you need to create robust and professional APIs which act as backends for SPAs and native mobile applications, or function as stand-alone services.
If you read and enjoyed the first Let’s Go book, this course should be a great fit for you and an ideal next step in mastering Go.
What You’ll Learn in Lets Go Further! Advanced patterns for building APIs and web applications in Go
- Structure and organization — How to implement an idiomatic and flexible code structure for your RESTful API projects.
- JSON responses — How to send JSON responses from your API, how to format and customize them, and what common gotchas you need to be aware of.
- JSON requests — How to parse incoming JSON requests, manage bad requests, and restrict and validate their content.
- SQL migrations — How to use SQL migrations to manage changes to your database schema.
- Database operations — How to set timeouts on your database queries and optimize the behavior of Go’s
- Beyond CRUD — How to perform advanced actions on your API resources, including fetching related data and partial updates (with optimistic concurrency control).
- Filtering, sorting and pagination — How to support filtering, sorting and pagination of data in your API endpoints.
- Full-text search — How to use PostgreSQL’s full-text search functionality to perform natural-language searches of your data.
- Structured logging — How to develop a custom logger which writes structured, leveled, log entries in JSON format.
- Rate-limiting — How to limit requests to your API on a per-client basis.
- Managing background tasks — How to safely execute tasks in background goroutines.
- Graceful shutdown — How to set up your API to support graceful shutdowns, including waiting for background tasks to complete.
- Sending emails — How to send emails from your API and manage email content using Go’s new embedded files functionality.
- User activation and password resets — How to build secure workflows for registering users, verifying their email address, and managing password resets.
- Authentication — How to authenticate users with both stateful bearers tokens and stateless JWTs (JSON web tokens).
- Permission-based authorization — How to implement granular permission-based authorization checks on your API endpoints.
- Metrics — How to expose application metrics, including memory use,
sql.DBconnection pool statistics, response status counts and more.
- Building and auditing — How to combine Go’s tooling and Makefiles to easily audit your code, build binaries and vendor dependencies.
- Versioning — How to leverage Git to apply automatic application versioning when building binaries.
- Deployment — How to set up a Linux server on Digital Ocean, automate deployments, and run your API as a background service in production using systemd.
Lets Go Further! Advanced patterns for building APIs and web applications in Go Free Download