Skip to content

course-go/exercises

Repository files navigation

Course exercises

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.

Exercises

  1. Workspace & Project Basics [ lecture | exercise ]
    • Set-up Go environment
    • Get familiar with the go executable
  2. Katas #1 [ lecture | exercise ]
    • Solve simple exercises focused on common mistakes
  3. Options & Katas #2 [ lecture | exercise ]
    • Implement the options builder pattern
    • Solve simple exercises focused on common mistakes
  4. Concurrency [ lecture | exercise ]
    • Implement concurrent components for an invoice service
  5. Generics & Testing [ lecture | exercise ]
    • Implement and test a generic data structure
  6. Optimizations [ lecture | exercise ]
    • Generate and analyze performance profiles using pprof
  7. REST API [ lecture | exercise ]
    • Implement REST API for a Todo application using net/http
  8. Docker [ lecture | exercise ]
    • Create Dockerfile & Compose for the Todo application using databases/sql
  9. Databases [ lecture | exercise ]
    • Implement persistance for the Todo application
  10. Infrastructure [ lecture | exercise ]
    • Set-up Caddy server as a reversed proxy for the ping-pong application
    • Explore Google Cloud Platform
  11. Observability [ lecture | exercise ]
    • Expose Prometheus metrics for the Todo application
    • Explore OpenTelemetry Demo