Learn Go by building microservices

Eirik Årdal

Ricco Førgaard

Half-day workshop - in English

Ten years after Go was officially announced, the language is still gaining traction. Its popularity has increased steadily the past few years after more and more cloud products such as Docker and Kubernetes, and big-scale companies such as Uber, Netflix, Dropbox and Twitter has gone all-in on Go and enjoying the ride.

This workshop will focus on learning the language, its syntax and its weirdness (in a good way), while making a few microservices that communicate with each other over gRPC and HTTP. Learning by doing in other words. We'll move fast and assume you know other programming languages and are able to connect the dots based on your already excellent knowledge and awesome programming skills. Go is a famously easy language to learn due to its extreme pragmatism and we'll put that to the test here.

Things you'll learn:


* How Go differs from other object oriented C-like languages like Java, C#, Python and JavaScript
* Language syntax that are different from other languages
* Communicate between Go applications using HTTP/REST and gRPC
* Running multiple Go applications in Docker and Docker Compose

Things we won't cover:


* What an if-else statement is
* Foo and Bars
* Deploy things to a cloud (AWS, Azure, GCP) - we'll run everything in Docker on your computer
* What the commandline is and how to turn your text green

How to come prepared:


* Install Go (and ensure "go" is on your path). If you already have Go installed, check for updates
* Install Docker (and ensure "docker" and "docker-compose" is on your path). If you already have Docker installed, check for updates
* Bring your laptop
* Bring your laptop charger
* Have a GitHub account (and Git installed on your computer)
* Bring an IDE that understands Go. The best free alternative is Visual Studio Code with a plugin. The best-best alternative is GoLand from JetBrains. IntelliJ also have a Go plugin that gives a GoLand-like experience.
* Double-check that laptop charger

 

Primarily for: Developers

Participant requirements: - Install Go (and ensure "go" is on your path). If you already have Go installed, check for updates - Install Docker (and ensure "docker" and "docker-compose" is on your path). If you already have Docker installed, check for updates - Bring your laptop - Bring your laptop charger - Have a GitHub account (and Git installed on your computer) - Bring an IDE that understands Go. The best free alternative is Visual Studio Code with a plugin. The best-best alternative is GoLand from JetBrains. IntelliJ also have a Go plugin that gives a GoLand-like experience. - Double-check that laptop charger