Key Features
- Build a fully-featured REST API to enable client-side single page apps
- Utilize TLS to build reliable and secure sites
- A quick guide that provides everything a developer needs to know to build end-to-end web applications in Go
Book Description
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. It is a statically typed language with syntax loosely derived from that of C, adding garbage collection, type safety, some dynamic-typing capabilities, additional built-in types such as variable-length arrays and key-value maps, and a large standard library.
Learning Go Web Development is a start-to-finish walkthrough of the topics most critical to anyone building a new web application. Whether it's keeping your application secure, connecting to your database, enabling token-based authentication, or utilizing logic-less templates, this book has you covered. You'll begin by learning about routing requests and implementing SSL. Moving on, you'll get to know about practices to keep users' data safe. By the end of the book, you will be able to build robust, secure, and fully-featured applications for the web.
What you will learn
- Create a listening web server
- Route requests
- Implement SSL/TLS
- Use Go's logic-less templates
- Implement caching for maximum performance
- Use sessions and cookies
- Utilize security best practices to keep users and data safe
- Connect to data sources
- Create a RESTful API
About the Author
Nathan Kozyra is a seasoned web developer, with nearly two decades of professional software development experience. Since Go's initial release, he has been drawn to the language for its power, elegance, and usability.
He has a strong interest in web development, music production, and machine learning. He is married and has a two-year-old son.
Table of Contents
- Introducing and Setting Up Go
- Serving and Routing
- Connecting to Data
- Using Templates
- Frontend Integration with RESTful APIs
- Sessions and Cookies
- Microservices and Communication
- Logging and Testing
- Security
- Caching, Proxies, and Improved Performance