Course Introduction

The Ultimate Service class is for Go developers who wish to learn how to build production ready & well tested web services in Go. It provides an intensive, comprehensive & idiomatic view of building web services using community accepted practices.

Requirements:

  • Studied CS in school or has a minimum of two years of experience programming full time professionally.
  • Familiar with structural and object oriented programming styles.
  • Has worked with arrays, lists, queues and stacks.
  • Understands processes, threads and synchronization at a high level.
  • Operating Systems
    • Has worked with a command shell.
    • Knows how to maneuver around the file system.
    • Understands what environment variables are.
  • Bundle Fee:

    $699
    (Part of Ultimate Go Bundle)

  • Skill Level:

    Intermediate

  • Course Length:

    9+ Hrs

The class goes beyond just the use of the http package and focuses on building CRUD based services with logging, observability and debugging. The class also teaches POD architectures, Docker and cloud deployment. We believe this class is perfect for anyone wishing to build production ready, scalable, fast, and highly concurrent web services in Go.

Course Curriculum

This class teaches how to build production-level services in Go with a focus on macro-level engineering decisions. From the beginning you will pair program with the instructor, walking through the design philosophies and guidelines used to engineer the code.

01.

Starting & Stopping Web Servers

  • What to expect
  • Setting Things Up
  • 1.0 - Intro
  • 1.1 - Startup
  • 1.2 - Graceful Shutdown

02.

Using JSON

  • 2.0 - Intro
  • 2.0 - Using JSON

03.

Talking to a Database

  • 3.0 - Intro
  • 3.1 - Run a database in Docker
  • 3.2 - Create the Schema
  • 3.3 - Query the DB

04.

Package Layout

  • 4.0 - Intro
  • 4.0 - Package Layout

05.

Service Configuration

  • 5.0 - Intro
  • 5.0 - Service Configuration

06.

Fatal Errors in Main

  • 6.0 - Intro
  • 6.0 - Fatal Errors in Main

07.

Logging

  • 7.0 - Intro
  • 7.0 - Logging

08.

Routing

  • 8.0 - Intro
  • 8.1 - Postman Collections
  • 8.2 - Get a Single Product
  • 8.3 - Adding a Router

09.

Creating Products

  • 9.0 - Intro
  • 9.0 - Creating Products

10.

A Web Framework

  • 10.0 - Intro
  • 10.0 - A Web Framework

11.

Errors

  • 11.0 - Intro
  • 11.1 - Error Handling
  • 11.2 - Error Statuses
  • 11.3 - Known Errors

12.

Testing

  • 12.0 - Intro
  • 12.1 - Business Logic Tests
  • 12.2 - API Tests

13.

Cancellation

  • 13.0 - Intro
  • 13.0 - Cancellation

14.

Adding Another Model

  • 14.0 - Intro
  • 14.0 - Adding Another Model

15.

Request Validation

  • 15.0 - Intro
  • 15.0 - Request Validation

16.

Implementing Crud

  • 16.0 - Intro
  • 16.1 - Updating Products
  • 16.2 - Deleting Products

17.

Getting Production Ready

  • 17.0 - Intro
  • 17.1 - Health Checks
  • 17.2 - Profiling
  • 17.3 - Middleware
  • 17.4 - Metrics
  • 17.5 - Request Logging

18.

Getting Production Ready

  • 18.0 - Intro
  • 18.1 - Integrating Context
  • 18.2 - Adding users
  • 18.3 - Generating JWTs
  • 18.4 - Validating JWTs
  • 18.5 - Route Authorization
  • 18.6 - Row Authorization

19.

Tracing Requests

  • 19.0 - Intro
  • 19.1 - Tracing
  • 19.2 - Distributed Tracing

20.

More Error Handling

  • 20.0 - Intro
  • 20.1 - Handling Panics
  • 20.2 - Integrity Errors: Self Shutdown

Looking for a business account?

If you have a team of engineers that can benefit from our courses, we have a business account for you.

With a business membership you get:

  • Group discounts based on volume
  • Easy enrollment for your team members
  • Track your team's progress through the course
  • Custom curriculum progress settings
  • Live training discounts
  • Exclusive content
Request a Quote