\newlinenewline logonewline logo
    • Learn

      Learn

      Learn web development from expert teachers. Build real projects, join our community, and accelerate your career

      Get Started
      Fullstack RustFullstack Node.jsFullstack D3Fullstack ReactFullstack React with TypeScriptmore →
      https://dzxbosgk90qga.cloudfront.net/fit-in/620x372/n/20220117210542194_21CB9CF5-AA2C-4939-BCC1-18F0377EFB90.png

      The newline Guide to Building Your First GraphQL Server with Node and TypeScript

      In this course, we'll show you how to create your first GraphQL server with Node.js and TypeScript

      Enroll for free
    • Teach

      Teach

      Share your knowledge with others, earn money, and help people with their career

      Apply Now
      Apply To Teach A CourseWhat Our Teachers Say
      Amelia Wattenberger

      Amelia Wattenberger

      Author of Fullstack D3

      "Writing Fullstack D3 was a thoroughly enjoyable, fun process.

      The writing was over before I knew it, and we've sold way more copies than I expected! Plus, the compliments from my peers have been really amazing."

    • Community

      Community

      Get help with programming projects, find collaborators, and make friends

      Join Now
      Join our Discord ServerWhat Our Students Say
    • Tutorials
    Go Pro
    Log In
    Course Thumbnail of Reliable Webservers with Go

    Reliable Webservers with Go

    WELCOMEIntroduction

    Introduction:

    Start Here

    Module 1: Introduction

    Lesson 1:

    Course Introduction

    Lesson 2:

    What You'll Learn in This Course

    Lesson 3:

    Golang Useful Resources and Tools

    Lesson 4:

    The authors

    Lesson 5:

    The history of Go

    Lesson 6:

    Installing Go

    Lesson 7:

    Golang: An Overview of Fundamental Concepts

    Module 2: A key-value server

    Lesson 1:

    A Quick Primer on Key-Value Servers and Hash Tables

    Lesson 2:

    How to Create a Basic hello world Webserver with Go

    Lesson 3:

    Build a Basic hello world JSON API Server with Go + Chi

    Lesson 4:

    How to Create an In-Memory Hash Table API with Go + Chi

    Lesson 5:

    Conclusion

    Module 3: Testing a key-value server

    Lesson 1:

    Testing a key-value server

    Lesson 2:

    What is End-to-End Testing, Integration Testing, and Unit Testing?

    Lesson 3:

    Writing Unit Tests for JSON Functions in Go

    Lesson 4:

    Parallel Testing in Golang: How to Use t.Parallel()

    Lesson 5:

    A Brief Overview of Golang Benchmarks

    Lesson 6:

    Integration testing

    Lesson 7:

    Further testing types

    Module 4: Distributed Key Value Server

    Lesson 1:

    Distributed key-value server

    Lesson 2:

    What is Distributed Consensus and How Does it Work?

    Lesson 3:

    An Introduction to Using Raft for Distributed Consensus

    Lesson 4:

    Create a Distributed Webserver using Golang and Raft

    Lesson 5:

    Connecting Golang Servers With a Handler and Middleware

    Lesson 6:

    Building a Store Package to Sync Data in Go with Raft's FSM

    Lesson 7:

    Testing Distributed Golang Webservers in Docker Containers

    Module 5: Monitoring

    Lesson 1:

    Monitoring

    Lesson 2:

    White Box Monitoring vs Black Box Monitoring

    Lesson 3:

    A Introduction to Golang Logging

    Lesson 4:

    Defining and Implementing Distributed System Tracing with Go

    Lesson 5:

    Alerting

    Lesson 6:

    Further reading

    Module 6: A canary deployment server

    Lesson 1:

    Understanding the Basics of Canary Deployments

    Lesson 2:

    Wait, what's a load balancer?

    Lesson 3:

    What aren't we doing?

    Lesson 4:

    So what will we be doing?

    Lesson 5:

    How to Create a Basic Random-per-request Load Balancer

    Lesson 6:

    What is Weighted Round Robin Load Balancing?

    Lesson 7:

    Streamlining Configuration Updates for Canary Deployments

    Lesson 8:

    Other considerations