Go: Building 7 Real-World Projects

More Information
Learn
  • Enhance your skills at building web applications
  • Create a tool to serve static files over HTTP from any directory
  • Build your real-time web application: a chat server
  • Develop high-quality command-line tools that utilize the powerful shell capabilities and perform well using Go's in-built concurrency mechanisms
  • Build microservices for larger organizations using the Go Kit library
  • Implement a modern document database as well as high-throughput messaging queue technology to put together an architecture that is truly ready to scale
About

If you’re a programmer wanting to build scalable projects, this course is for you. Or if you’re a gopher with an interest in how the language can be applied in interesting ways, this course will meet your need.

Google's Go is among the favorites to build software that is reliable and efficient. It simplifies the whole developing process. In short, Go is the language of the Internet age.

Go: Building 7 Real-World Projects exists as a blend of text, videos, code examples, and assessments, which together makes your learning and creating journey all the more fun and worth the cost.

This course takes a project-based approach. It starts with the installation but quickly takes you into app building. You’ll create a content management system (CMS) build up of smaller microservices. Then, move on to move on to performing testing and debugging. This will ensure you're accustomed with the complete journey of an app creation before moving on to building the next projects.

Once, you’ve experienced project building, move on to the next one. Explore how easy building command-line tools is in Go and puts those skills to use to tackle the problem of finding the perfect domain name for our chat application. Then, prepare for the future of democracy by building a highly scalable Twitter polling and vote counting engine powered by NSQ and MongoDB. In the next project, expose capabilities through a JSON web service.

Further on, learn how to consume the Google Places API to generate a location-based random recommendations API that represents a fun way to explore any area. In the next project, build a simple but powerful filesystem backup tool for your code projects. Finally, build the API backend for a question and answer service similar to Stack Overflow or Quora.

By the end of the course, you’ll be ready to create start-up standard projects.

The goal of this course is to make you a skilled Go programmer.

What am I going to get from this course?

  • Enhance your skills at building web applications
  • Create a tool to serve static files over HTTP from any directory
  • Build your real-time web application: a chat server
  • Develop high-quality command-line tools that utilize the powerful shell capabilities and perform well using Go's in-built concurrency mechanisms
  • Build microservices for larger organizations using the Go Kit library
  • Implement a modern document database as well as high-throughput messaging queue technology to put together an architecture that is truly ready to scale
Style and Approach

This course delivers guidance to start contributing to the open source community and begin developing projects step-by-step.

This course is a blend of text, videos, code examples, and assessments, all packaged up keeping your journey in mind. The curator of this course has combined some of the best that Packt has to offer in one complete package. It includes content from the following Packt products:

Note: This interactive EPUB adheres to the latest specification, and requires that your reader supports video and interactive content. We recommend using Readium with the latest stable version of Google Chrome, or iBooks for OS X.

Features
  • Create 7 real-world start-up level projects
  • Pick up tips and tricks that can go into your Go toolbelt
  • Develop practical modern architectural thinking
  • Write code following Test-driven development (TDD) practices
Course Length 7 hours
ISBN 9781788290494
Date Of Publication 30 May 2017

Authors

Ben Tranter

Ben Tranter is a developer with nearly six years’ experience. He has worked with a variety of companies to build applications in Go, in the areas of data mining, web back ends, user authentication services, and developer tools, and is a contributor to a variety of open source Go projects.

Mat Ryer

Mat Ryer has been programming computers since he was 6 years old; he and his father would build games and programs, first in BASIC on a ZX Spectrum and then in AmigaBASIC and AMOS on Commodore Amiga. Many hours were spent on manually copying the code from Amiga Format magazine and tweaking variables or moving GOTO statements around to see what might happen.

The same spirit of exploration and obsession with programming led Mat to start work with a local agency in Mansfield, England, when he was 18, where he started to build websites and services. In 2006, Mat left rural Nottinghamshire for London, where he took a job at BT. It was here that he worked with a talented group of developers and managers on honing his agile development skills and developing the light flavor that he still uses today.

After being contracted around London for a few years, coding everything from C# and Objective-C to Ruby and JavaScript, Mat noticed a new systems language called Go that Google was pioneering. Since it addressed very pertinent and relevant modern technical challenges, Mat started using it to solve problems while the language was still in the beta stage and he has used it ever since.

In 2012, Mat moved to Boulder, Colorado, where he worked on a variety of projects, from big data web services and highly available systems to small side projects and charitable endeavors. He returned home, to London, in 2015 after the company he was working in was sold. Mat, to this day, continues to use Go to build a variety of products, services, and open-source projects. He writes articles about Go on his blog at matryer.com and tweets about Go with the handle @matryer. Mat is a regular speaker at Go conferences around the world and encourages people to come up and introduce themselves if their paths ever cross.

Rostislav Dzinko

Rostislav Dzinko is a software architect who has been working in the software development industry for more than six years. He was one of the first developers who started working with the Go language far earlier than the first official public release of Go 1.0 took place.

Rostislav uses the Go language daily and has successfully used it in production for more than two years, building a broad range of software from high-load web applications to command-line utilities. He has a Master’s degree in Systems Engineering and has completed a PhD thesis.