
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
sold out
199,00 €
Early bird
(Offer valid until 30/09)
(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
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.