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
KDE A KDY KURZ PROBÍHÁ?
Privátní školení
Tento kurz není vypisován v otevřených termínech pro veřejnost.
Realizujeme jej výhradně jako školení na klíč, pro které může být zde uvedená osnova inspirací. Finální obsah, časový rozsah, termíny i forma realizace jsou vždy přizpůsobeny konkrétním požadavkům zadavatele. Školit můžeme také v angličtině.
Poptat kurz na míru
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:00-17:00)
-
Jazyk:
-
Česky
Ukázka prostředí a výuky
Potřebuji si na prezenční IT kurz přinést vlastní počítač?Naše učebny jsou kompletně vybavené, takže vlastní notebook nepotřebujete. Na místě na vás čeká připravený počítač se vším potřebným hardwarem a softwarem pro dané školení.