Go Projects

Go Projects
Go Projects
English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 22m | 552 MB

Explore real-world web application projects with Go

This video course introduces you to a range of programming projects with the Go language, demonstrating how to put the language to use for a variety of real-world applications and services. These projects range from command-line tools to distributed messaging services, web services, and web applications with Go running on the server side.

We first discuss then model the projects based on popular usages (for example how Docker and Soundcloud use the language). The driving force here is what Go is powerful for— creating fast, real-time applications and services that leverage the use of concurrency.

We’ll demonstrate how versatile the language can be and how it can be put to use in a range of real-world programming domains, whether that’s for DevOps tools, cloud-based services, or RESTful web services. Interwoven with the projects, there are demonstrations of best practices and design patterns, and techniques you can carry over to your own projects.

The projects also demonstrate the key features of Go in action, such as concurrency, and will start to explore the rich ecosystem of open source libraries and frameworks that are being continually developed for the language.

By the end of this course, you will have everything you need to go out into the wild with Go to build projects of your own.

What You Will Learn

  • Enhance your skills at building web applications
  • Create a tool to serve static files over HTTP from any directory
  • Set up a database-powered web application to power your own website
  • Get to know techniques to create HTTP middleware, keeping the codebases simple and elegant
  • Frame a user authentication system that supports multiple clients
  • Extend your web applications by creating a JSON REST API
  • Build your first real-time web application: a chat server
  • Get to grips with maintaining a production application
Table of Contents

Introducing the Go Programming Language
01.Project Showcase
02.Installing Go

Creating a Simple Website with a Static File Server
03.A Simple Static File Server
04.Accepting Command-line Arguments
05.Compiling to a Statically Linked Binary

Building a Content Management System Dashboard
06.Dynamic Content with Go
07.Handling GET and POST Requests
08.Connecting to a Database
09.Writing Tests in Go

Capturing Web Analytics
10.Variadic Functions, Function Chaining, and Callbacks
11.Logging and Analytics
12.Error Handling
13.Advanced Middleware

Building a User Login/Authentication System
14.Usernames and Passwords
15.The Password Reset E-mail
16.Sessions
17.Sessionless, Passwordless Authentication
18.Web Application Security

Exposing Data through a REST API
19.JSON in Go
20.Streams and JSON
21.Buffers
22.Image Handling

Writing a Real-time Chat Server
23.Concurrency
24.A Simple Chat Server
25.An Advanced Chat Server
26.Real-time Notifications

Deploying Your Application (Automatically!)
27.Deployment Options
28.Automated Deployments
29.Continuous Integration

Running an Application in Production – Advanced Debugging and Testing
30.Debugging
31.Reflection
32.Performance