Trwają zapisy do grupy

Szkolenie: Go - zaawansowana współbieżność

Szkolenie Go - zaawansowana współbieżność to praktyczny kurs, który uczy projektowania i diagnozowania skomplikowanych systemów współbieżnych w języku Go, w oparciu o goroutines, kanały, prymitywy synchronizacji, model pamięci oraz zaawansowane wzorce projektowe

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:2 dni (16h)

Poziom zaawansowania:

Kod kursu:GO/CONCURRENCY

go-concurrencygoroutines-channelsgo-performanceconcurrent-systems

Dostępne terminy szkolenia

  • Termin
  • Trener
  • Cena
  • Lokalizacja
  • Zapis

Termin:

14 maja - 15 maja
Trwają zapisy na szkolenieTrwają zapisy na szkolenie
Dostępne w Bazie Usług RozwojowychDostępne w Bazie Usług Rozwojowych

Trener:

Trener-Sages

Cena:

2150 PLN netto
Dowiedz się więcej o cenach szkoleń - zapraszamy do kontaktuDowiedz się więcej o cenach szkoleń - zapraszamy do kontaktu
+23% VAT

Lokalizacja:

Zdalne
Zdalne
Zapytaj o inne lokalizacje - w tym celu skorzystaj z chatuZapytaj o inne lokalizacje - w tym celu skorzystaj z chatu

Forma szkolenia

Interesuje Cię szkolenie stacjonarne?

Powiadom o kolejnych terminach

Interesuje Cię szkolenie w innym terminie?

Go - zaawansowana współbieżność

Cele szkolenia

  • Szkolenie przygotowuje do samodzielnego projektowania i implementowania zaawansowanych wzorców współbieżności Go, w tym pipelines, fan-in/fan-out oraz structured concurrency w systemach produkcyjnych

  • Szkolenie uczy diagnostyki i debugowania race condition, deadlocków oraz problemów wydajnościowych z użyciem narzędzi takich jak pprof, trace i race detector w aplikacjach concurrency Go

  • Szkolenie pokazuje, jak łączyć structured concurrency, model pamięci Go oraz prymitywy sync i sync/atomic w skalowalnych rozwiązaniach backendowych


Dla kogo?

  • Programistów z praktyczną znajomością języka Go, budujących systemy o wysokiej współbieżności i dużym przepływie żądań

  • Zespołów tworzących brokery wiadomości, stream processory, schedulery oraz inne systemy rozproszone wymagające precyzyjnej kontroli współbieżności


Efekty kształcenia

  • Uczestnik analizuje działanie schedulera Go (GMP, GOMAXPROCS) oraz model pamięci Go i wykorzystuje tę wiedzę do optymalizacji wydajności aplikacji

  • Uczestnik implementuje zaawansowane wzorce kanałów Go, takie jak pipelines, fan-out, fan-in oraz mechanizmy backpressure w systemach przetwarzania danych

  • Uczestnik wykorzystuje prymitywy synchronizacji Go w sposób bezpieczny i wydajny w środowisku produkcyjnym

  • Uczestnik wykrywa i eliminuje race condition oraz deadlocki z użyciem race detectora, pprof i narzędzi do profilowania współbieżności

  • Uczestnik projektuje mechanizmy graceful shutdown oraz structured concurrency z użyciem context w aplikacjach wielomodułowych i mikroserwisach

  • Uczestnik stosuje zaawansowane wzorce architektoniczne, takie jak actor model, lock-free oraz systemy nadzoru (supervisor) w rozwiązaniach Go


Wymagania

  • Praktyczna umiejętność programowania w języku Go, znajomość goroutines, kanałów oraz interfejsu context.Context


W cenie otrzymasz:

  • Materiały szkoleniowe

  • Certyfikat ukończenia szkolenia

  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

Program szkolenia

Pobierz program w PDF

Scheduler i model pamięci Go

  • Model schedulera M:N i komponenty G (goroutine), M (machine / OS thread), P (processor / context) oraz rola GOMAXPROCS

  • Preempcja w runtime, cykle życia goroutine, parametr GODEBUG

  • Model pamięci Go: happens-before, widoczność zapisu, memory fencing

  • Koszt kontekstu goroutine, planowanie oraz influence pracy blokującej

  • Diagnostyka schedulera: trace, GODEBUG=schedtrace, runtime/metrics

  • Analiza wykonania z użyciem go tool trace oraz execution tracer

Zaawansowane wzorce kanałów

  • Pipelines wielostopniowe i kompozycja z funkcji zwracających kanały

  • Fan-out i fan-in, dystrybucja pracy między goroutines

  • Backpressure i bufory, strategie drop-oldest, drop-newest, block

  • Broadcast oraz pub-sub z wykorzystaniem select i slice kanałów

  • Done channel, cancellation, propagacja sygnałów między warstwami

  • Timer, Ticker i kanały czasowe w stabilnych pętlach zdarzeń

  • Testowanie kodu opartego o kanały oraz deterministyczne scenariusze

Synchronizacja i prymitywy niskopoziomowe

  • sync.Mutex, sync.RWMutex, sync.Once, sync.Cond w praktyce

  • sync.Pool jako mechanizm redukcji alokacji i jego ograniczenia

  • sync.Map i kryteria wyboru względem klasycznej mapy z Mutexem

  • Pakiet sync/atomic i typy Atomic dla int64, uint64, pointer oraz struct Value

  • errgroup i golang.org/x/sync/semaphore do kontroli równoległości

  • Structured concurrency: propozycje i obecne wzorce w ekosystemie Go

  • Context jako kanał propagacji anulowania i deadline

Race conditions, deadlock i debugowanie

  • Race detector, typowe fałszywe alarmy oraz strategie pracy z -race

  • Klasyczne pułapki: zapis bez synchronizacji, wspólne mapy, iteracja nad slice

  • Deadlock: zagnieżdżone mutexy, niezamknięte kanały, select bez default

  • Livelock i starvation w pulach goroutines oraz strategie mitigacji

  • Profilowanie współbieżnościowe: mutex profile, block profile, goroutine profile

  • Narzędzia: delve, pprof, flamegraphs, continuous profiling z Pyroscope lub Parca

  • Testy fuzz i testy stresowe systemów współbieżnych

Wzorce architektoniczne współbieżności

  • Worker pool i dynamiczne pule zadań

  • Actor model w Go: protoactor-go, hollywood oraz inspiracje z Erlang

  • Wzorce lock-free: RCU, lockfree queue, hazard pointers

  • Supervisor i drzewa nadzoru, odtwarzanie po błędach

  • Wzorce graceful shutdown w serwerach HTTP, gRPC oraz konsumerach kolejek

  • Orkiestracja zadań długotrwałych i strumieniowe przetwarzanie z backpressure

  • Studium przypadków: klient NATS, klient Kafka, scheduler zadań cron

Autorem szkolenia jest Łukasz Andrzejewski

Od ponad 17 lat z pasją dzielę się wiedzą jako trener, wspierając rozwój kompetencji technologicznych wśród specjalistów IT na różnych etapach ich kariery. W ostatnich 5 latach przeszkoliłem ponad 2000 osób, prowadząc szkolenia zarówno otwarte, jak i dedykowane, dla czołowych firm z sektorów bankowości, ubezpieczeń i IT – m.in. Santander Bank Polska, ERGO Hestia, Asseco Poland oraz Orange. Specjalizuję się w szerokim zakresie technologii – od rozwiązań z ekosystemu Java, przez nowoczesny frontend,…

Wybrane opinie

Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi

4.8
Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowanaŚrednia ocen Sages w serwisie Google Ocena pochodzi ze średniej ocen Sages w serwisie Google i nie jest weryfikowana

17.04.2026

Uczestnik szkoleniaWytwarzanie i dostarczanie oprogramowania w kulturze DevOps z użyciem Azure DevOps

Jarosław Gryko

Brak

Więcej opinii