This repository contains a collection of well-documented exercises that are designed to be complementary to the lectures. The point of these exercises is to provide the course attendees with hand-on experience.
- Workspace & Project Basics [lecture | exercise]
- Set-up Go environment
- Get familiar with the go executable
- Katas #1 [lecture | exercise]
- Solve simple exercises focused on common mistakes
- Options & Katas #2 [lecture | exercise]
- Implement the options builder pattern
- Solve simple exercises focused on common mistakes
- Concurrency [lecture | exercise]
- Implement concurrent components for an invoice service
- Generics & Testing [lecture | exercise]
- Implement and test a generic data structure
- Optimizations [lecture | exercise]
- Generate and analyze performance profiles using pprof
- REST API [lecture | exercise]
- Implement REST API for a Todo application using net/http
- Docker [lecture | exercise]
- Create Dockerfile & Compose for the Todo application using databases/sql
- Databases [lecture | exercise]
- Implement persistance for the Todo application
- Infrastructure [lecture | exercise]
- Set-up Caddy server as a reversed proxy for the ping-pong application
- Explore Google Cloud Platform
- Observability [lecture | exercise]
- Expose Prometheus metrics for the Todo application
- Explore OpenTelemetry Demo