Go – paralelní programování (GO4)
Programování, Rust, Go, Julia
Už jste v Go jako doma a chcete efektivně využívat jeho hlavní sílu v podobě nástrojů na tvorbu paralelního kódu? Programy napsané v Go dostanou k dispozici plánovač a paralelismus se tak bere, jako by to byla součást jazyka. Programátor pouze řekne, co se má spouštět souběžně a plánovač Go se o to postará.
Vyzkoušejte si práci s gorutinami a posílání zpráv mezi paralelními úlohami. Pomocí běžných funkcí můžete psát aplikace, které poběží paralelně, budou využívat možnosti hardware, aniž byste se museli zabývat detaily operačního systému a vláken.
TOTO ŠKOLENÍ VÁM POMŮŽE:
- Seznámit se s idiomy gorutin, kanálů a plánovače Go
- Porozumět použití context.Context pro cancelace a deadliny
- Ovládnout synchronizační primitiva a atomické operace
- Navrhovat a implementovat běžné vzory (worker pool, pipeline, fan-in/fan-out)
- Zajistit robustní HTTP služby s per-request kontexty a graceful shutdown
- Testovat a ladit souběžné programy pomocí -race, profilace a trace
KDO BY SE MĚL KURZU ZÚČASTNIT?
- Vývojáři backendu v Go
- DevOps a SRE provozující Go služby
- Systémoví a backendoví architekti
- Inženýři zodpovědní za výkon a ladění
- Testeři a QA pracující se souběžným kódem
Privátní školení a termíny na míru
Toto téma je možné zrealizovat pouze jako privátní, a to nejen formou uzavřeného firemního kurzu, ale také jako individuální konzultaci pro jednotlivce.
V případě kurzu na míru je níže uvedená osnova pouze inspirací. Finální obsah vzdělávání, jeho délka i termíny budou přizpůsobeny konkrétním vstupním znalostem, potřebám a cílům účastníků.
Cenovou nabídku vám rádi připravíme na základě vstupů zaslaných e-mailem nebo zadaných prostřednictvím poptávkového formuláře. Cena privátního školení vychází z náročnosti požadované obsahové náplně školení, časového rozsahu a celkového počtu přihlášených osob.
KDE A KDY KURZ PROBÍHÁ?
Kontaktujte nás
S námi
máte na výběr: Přijďte na
kurz osobně do naší učebny, nebo se ke kurzu
připojte online. Pokud preferujete online formu, uveďte prosím do poznámky v objednávce "Připojím se virtuálně".
Více informací k hybridní formě školení
naleznete zde.
Náplň kurzu:
Skrýt detaily
-
Model souběžnosti v Go
-
Gorutiny a plánovač: lehká vlákna,
GOMAXPROCS
-
Kanály: nebufferované vs. bufferované, vlastnictví dat a back-pressure
-
select
, timeouts, context.Context
(cancel, deadline, values)
-
Synchronizační primitiva
-
sync.WaitGroup
, sync.Mutex
/RWMutex
, sync.Cond
, sync.Map
, sync.Pool
-
Atomické operace (
sync/atomic
), paměťový model – prakticky
-
Vzory a architektura
-
Worker pool, pipeline, fan-in/fan-out, throttle
-
Idempotence, retries, deadletter, graceful shutdown
-
Souběžný I/O a HTTP služby
-
Per-request
context
, deadline/cancellation, rate limiting
-
Robustní server: shutdown, health checks, readiness
-
Testování a ladění souběžnosti
-
-race
, determinističtější testy, time-based flakiness
-
Profilace gorutin, blokující místa, trace
-
Předpokládané znalosti:
-
Znalost programování v Go
-
Doporučený předchozí kurz:
-
Go – generické programování (GO3)
-
Doporučený následný kurz:
-
Go – návrhové vzory (GO5)
-
Časový rozvrh:
-
3 dny (9:00hod. - 17:00hod.)
-
Jazyk:
-
Česky