Go Programming Blueprints

Build real-world, production-ready solutions in Go using cutting-edge technology and techniques

Go Programming Blueprints

Blueprints
Mat Ryer

1 customer reviews
Build real-world, production-ready solutions in Go using cutting-edge technology and techniques
$29.99
$49.99
RRP $29.99
RRP $49.99
eBook
Print + eBook
Preview in Mapt

Book Details

ISBN 139781783988020
Paperback274 pages

Book Description

Dive headfirst into solving actual enterprise problems and start cutting code from the word go. You will build complete applications around a variety of subjects using a range of different technologies and techniques, all of which are directly applicable to today's tech start-up world.

Scale, performance, and high availability lie at the heart of the projects, and the lessons learned throughout this book will arm you with everything you need to build world-class solutions. Well-designed applications and sensible architectures can scale horizontally to cope with the demands of up to millions of users, while avoiding the prohibitive up-front investment that can bring a project to its knees.

Table of Contents

Chapter 1: Chat Application with Web Sockets
A simple web server
Modeling a chat room and clients on the server
Building an HTML and JavaScript chat client
Tracing code to get a look under the hood
Summary
Chapter 2: Adding Authentication
Handlers all the way down
Making a pretty social sign-in page
Endpoints with dynamic paths
OAuth2
Tell the authentication providers about your app
Implementing external logging in
Summary
Chapter 3: Three Ways to Implement Profile Pictures
Avatars from the authentication server
Implementing Gravatar
Uploading an avatar picture
Combining all three implementations
Summary
Chapter 4: Command-line Tools to Find Domain Names
Pipe design for command-line tools
Five simple programs
Composing all five programs
Summary
Chapter 5: Building Distributed Systems and Working with Flexible Data
System design
Installing the environment
Votes from Twitter
Counting votes
Running our solution
Summary
Chapter 6: Exposing Data and Functionality through a RESTful Data Web Service API
RESTful API design
Sharing data between handlers
Wrapping handler functions
Responding
Understanding the request
A simple main function to serve our API
Handling endpoints
A web client that consumes the API
Running the solution
Summary
Chapter 7: Random Recommendations Web Service
Project overview
Representing data in code
Generating random recommendations
Summary
Chapter 8: Filesystem Backup
Solution design
Backup package
The user command-line tool
The daemon backup tool
Testing our solution
Summary

What You Will Learn

  • Build quirky and fun projects from scratch while exploring widely applicable skills, patterns, practices, and techniques, as well as a range of different technologies
  • Create websites and data services capable of massive scale using Go's net/http package, exploring RESTful patterns as well as low-latency WebSocket APIs
  • Interact with a variety of remote web services to consume capabilities ranging from authentication and authorization to a fully functioning thesaurus
  • Develop high-quality command-line tools that utilize the powerful shell capabilities and have great performance using Go's in-built concurrency mechanisms
  • Implement a modern document database as well as high-throughput messaging queue technology to put together an architecture that is truly ready for scale
  • Write concurrent programs and gracefully manage their execution and communication with smart use of channels

Authors

Table of Contents

Chapter 1: Chat Application with Web Sockets
A simple web server
Modeling a chat room and clients on the server
Building an HTML and JavaScript chat client
Tracing code to get a look under the hood
Summary
Chapter 2: Adding Authentication
Handlers all the way down
Making a pretty social sign-in page
Endpoints with dynamic paths
OAuth2
Tell the authentication providers about your app
Implementing external logging in
Summary
Chapter 3: Three Ways to Implement Profile Pictures
Avatars from the authentication server
Implementing Gravatar
Uploading an avatar picture
Combining all three implementations
Summary
Chapter 4: Command-line Tools to Find Domain Names
Pipe design for command-line tools
Five simple programs
Composing all five programs
Summary
Chapter 5: Building Distributed Systems and Working with Flexible Data
System design
Installing the environment
Votes from Twitter
Counting votes
Running our solution
Summary
Chapter 6: Exposing Data and Functionality through a RESTful Data Web Service API
RESTful API design
Sharing data between handlers
Wrapping handler functions
Responding
Understanding the request
A simple main function to serve our API
Handling endpoints
A web client that consumes the API
Running the solution
Summary
Chapter 7: Random Recommendations Web Service
Project overview
Representing data in code
Generating random recommendations
Summary
Chapter 8: Filesystem Backup
Solution design
Backup package
The user command-line tool
The daemon backup tool
Testing our solution
Summary

Book Details

ISBN 139781783988020
Paperback274 pages
Read More
From 1 reviews

Read More Reviews