Golang — programowanie od podstaw do zaawansowanego
Pięciodniowa, kompletna ścieżka nauki języka Go — od składni i typów, przez współbieżność (goroutines, channels), po tooling i wdrażanie do produkcji — dla programistów budujących narzędzia i systemy w języku napędzającym Kubernetes, Docker i Terraform.
Kompletna ścieżka języka, nie tylko wąska specjalizacja
Go zyskuje na popularności w Polsce jako język backendu i narzędzi infrastrukturalnych — sam napędza Kubernetes, Docker i Terraform. Zamiast zakładać wcześniejszą znajomość języka i skupiać się wyłącznie na mikroserwisach, to szkolenie prowadzi uczestników od pierwszej linii kodu, przez idiomatyczny styl (Effective Go), po produkcyjny tooling.
Współbieżność jako serce języka
Model współbieżności Go — goroutines i channels — to jedna z głównych przyczyn popularności języka w systemach o wysokiej przepustowości. Szkolenie poświęca temu obszarowi osobny moduł, ucząc nie tylko składni, ale i typowych pułapek: race conditions, deadlocków i wycieków goroutines, które w praktyce najczęściej psują aplikacje produkcyjne.
Od kodu do działającej usługi
Ostatni moduł zamyka pętlę: uczestnicy uczą się budować binarki Go, konteneryzować je i wdrażać zgodnie z dobrymi praktykami — logowanie, obserwowalność, graceful shutdown — tak by po szkoleniu potrafili samodzielnie doprowadzić projekt od kodu do działającej usługi produkcyjnej.
Korzyści
- Opanowanie składni, typów i idiomatycznego stylu kodu w Go (Effective Go)
- Praktyczne wykorzystanie modelu współbieżności Go: goroutines, channels, pakiet sync
- Sprawne korzystanie z toolingu: moduły Go, testowanie, profilowanie wydajności
- Projektowanie i wdrażanie aplikacji Go do produkcji zgodnie z dobrymi praktykami
Dla kogo jest to szkolenie?
Wymagania wstępne
- Doświadczenie w programowaniu w co najmniej jednym języku ogólnego przeznaczenia
- Podstawowa znajomość wiersza poleceń i systemu kontroli wersji Git
Program szkolenia
Podstawy języka Go
- Składnia, system typów, struktury danych (structs, slices, maps)
- Interfejsy i idiomatyczny styl kodu (Effective Go)
- Obsługa błędów w stylu Go (error handling, brak wyjątków)
- Organizacja kodu: pakiety i moduły (go.mod)
Współbieżność — goroutines i channels
- Model współbieżności Go: goroutines jako lekkie wątki
- Komunikacja między goroutines przez channels
- Synchronizacja z pakietem sync (WaitGroup, Mutex) i select
- Typowe pułapki współbieżności: race conditions, deadlocki, wycieki goroutines
Tooling i ekosystem Go
- Zarządzanie zależnościami z Go modules
- Testowanie jednostkowe i tabelaryczne (table-driven tests), pakiet testing
- Profilowanie wydajności (pprof) i benchmarking
- Linting, formatowanie (gofmt) i statyczna analiza kodu
Wzorce projektowe i architektura aplikacji
- Idiomatyczne wzorce Go: composition over inheritance, small interfaces
- Budowa CLI (command-line interfaces) i narzędzi wiersza poleceń
- Podstawy budowy usług HTTP/API w standardowej bibliotece net/http
- Struktura projektu Go dla większych aplikacji
Od kodu do produkcji
- Budowanie binarek Go (cross-compilation) i konteneryzacja w Dockerze
- Zarządzanie konfiguracją i zmiennymi środowiskowymi w aplikacjach Go
- Logowanie, obserwowalność i graceful shutdown
- Dobre praktyki wdrażania aplikacji Go w środowiskach produkcyjnych
Formy realizacji
Online
- Wygoda uczestnictwa z dowolnego miejsca
- Interaktywne sesje na żywo z trenerem
- Materiały dostępne przez 30 dni
- Brak kosztów dojazdu
Stacjonarnie
- Bezpośredni kontakt z trenerem i grupą
- Intensywne warsztaty praktyczne
- Networking z innymi uczestnikami
- Pełne skupienie na nauce
Najczęściej zadawane pytania
Czym różni się to szkolenie od Go/Golang — programowanie cloud-native i mikroserwisów w naszym katalogu?
Tamto szkolenie zakłada już znajomość Go i skupia się wyłącznie na budowie mikroserwisów oraz integracji z ekosystemem cloud-native (Kubernetes, gRPC, service mesh). To szkolenie to kompletna, pięciodniowa ścieżka nauki samego języka — od pierwszej linii kodu, przez model współbieżności, po tooling produkcyjny — bez założenia wcześniejszej znajomości Go ani wąskiego fokusu na mikroserwisy.
Czy to szkolenie jest odpowiednie dla początkujących programistów?
Szkolenie zakłada wcześniejsze doświadczenie w programowaniu (w dowolnym języku ogólnego przeznaczenia), ale nie wymaga znajomości Go. Uczestnicy bez doświadczenia w programowaniu w ogóle powinni najpierw zapoznać się z podstawami programowania w innym języku — Go, mimo prostej składni, zakłada zrozumienie pojęć takich jak typy, funkcje czy struktury danych.
Do czego w praktyce wykorzystuje się Go poza narzędziami infrastrukturalnymi (Kubernetes, Docker, Terraform)?
Go jest szeroko stosowany w backendzie usług sieciowych o wysokiej wydajności, systemach rozproszonych, narzędziach CLI, a coraz częściej także w prostych API i mikroserwisach ze względu na szybki czas kompilacji, brak zależności runtime i wbudowaną współbieżność. Szkolenie pokazuje te zastosowania na przykładach praktycznych, nie ograniczając się do kontekstu DevOps.
Czy po szkoleniu będę gotowy do pracy komercyjnej w Go?
Szkolenie daje solidne podstawy językowe, znajomość współbieżności i toolingu potrzebne do samodzielnej pracy nad prostszymi zadaniami w Go oraz do efektywnego wdrożenia się w istniejący projekt zespołowy. Zaawansowane tematy specyficzne dla konkretnej domeny (np. wysokowydajne systemy rozproszone) wymagają dalszej praktyki w projekcie produkcyjnym.
Poproś o ofertę
Możliwości dofinansowania
Sprawdź możliwości dofinansowania dla Twojej firmy
Baza Usług Rozwojowych
Instrument dla mikro, małych i średnich firm — sprawdź, czy dotyczy Twojej organizacji
Sprawdź dostępnośćKrajowy Fundusz Szkoleniowy
Instrument dla pracodawców — pomagamy sprawdzić, czy da się go zastosować
Dowiedz się więcejZaufali nam
Szkolimy zespoły największych polskich firm
Zainteresowany tym szkoleniem?
Skontaktuj się z nami - przygotujemy ofertę dopasowaną do potrzeb Twojego zespołu.