Advanced Go – Course

28-29
October

“Advanced Go” – course

Start time: 9:00 CEST


Duration: 16h


Format: course

Where: online


Language: English


Tutor: Fabio Falzoi

Tickets

Super early bird
sold out

199,00 €


Early bird
(Offer valid until 30/09)

299,00 €


Standard (sold out)

649,00 €

2

full immersion
days

16

hours of
live lessons

1

certificate of
attendance

Chapter 1 – Go memory management
Chapter 2 – Reducing tail latency

Tutor

Fabio Falzoi

Software developer
Develer

Passionate about coding from an early age, he has always been fascinated by low-level topics like kernel architecture, memory management, and parallel programming.

Expert in: C, C++, Python and Go

Abstract

Go makes it easy to write software in a simple, reliable and efficient way.

Nevertheless, when you have to maintain a critical software component in production and you want to get the maximum performance out of it, you have to know the inner details of the Go runtime and how it interacts with the underlying kernel. In this course, we will explore these topics in great detail, both with theoretical lessons and with live coding sessions. Since the course is aimed at experienced Go developers, we will apply the theory also writing and extending complete and fully working applications.

Lessons will take place in the following times (CEST timezone): 9:00 – 13:00 14:00 – 18:00


Outline


Concurrency

  • Goroutines, channels and select
  • context.Context e sync.WaitGroup
  • Rethinking classical concurrency patterns
  • Advanced concurrency patterns (pipeline, fan-in and fan-out)
  • Inner workings of the scheduler

Debugging

  • How to use Delve to debug a Go application
  • Debugging from a core dump
  • Debugging in a containerized environment

Memory management

  • Go memory management and garbage collection
  • How to optimize the memory allocation patterns
  • Garbage collector tuning

Profiling & Tracing

  • The pprof tool
  • The execution tracer
  • bpftrace

Who it is for

  • Developers with a previous experience with the Go programming language
  • Who wants to know how to maintain, debug and improve the performance of critical services in production

Requirements

  • Experience with the Go programming language
  • Know the basics of the terminal

Material required

For the most advanced exercises:


Certificate of attendance

A certificate of participation will be issued at the end of the session.

Follow us