Go – pokročilé prostředky (GO2)
Programování, Rust, Go, Julia
Programujete v Go a chtěli byste efektivně využívat jeho možnosti? Přijďte si ujasnit, co pro vás může Go udělat a jak využívat jeho jednoduchosti a flexibility. Go je v mnoha ohledech odlišný od klasických kompilovacích jazyků a zasahuje specifický segment trhu.
Podívejte se detailněji na datový model Go, abyste měli přehled, co si můžete v tom jazyce dovolit a jaký to může mít vliv na výkon výsledné aplikace. Poznejte blíže programovací jazyk, který pohání mnoho cloudových služeb a nástrojů a poskytuje mnohým programátorům rozumný balanc mezi rychlostí vývoje a výkonem vyvíjeného software.
TOTO ŠKOLENÍ VÁM POMŮŽE:
- Seznámit se do hloubky s datovým modelem Go, včetně interních principů slice a sdílení podkladového pole
- Optimalizovat práci s mapami a minimalizovat náklady při existenci klíče, iteraci a alokacích
- Navrhovat robustní API pomocí rozhraní, embeddingu a idiomů jako io.Reader/io.Writer
- Zlepšit chybové zpracování a diagnostiku pomocí obohacených chyb, typovaných chyb a strukturovaného logování
- Zvýšit výkon aplikací pomocí technik šetření alokací, předalokace a profilace (pprof, trace, -race)
- Zavést efektivní build & release postupy včetně cross-compilation, CGO nastavení a ldflags
KDO BY SE MĚL KURZU ZÚČASTNIT?
- Vývojáři backendu v Go
- DevOps / SRE pracující s Go nástroji a službami
- Vývojáři knihoven a SDK v Go
- Inženýři zaměření na výkon a profilaci aplikací
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
-
Hlouběji do datového modelu
-
Interna
slice
(realloc, copy, grow), sdílení podkladového pole
-
Optimalizace práce s
map
(existence klíče, iterace, alokace)
-
Rozhraní, metody a návrh API
-
Smluvní programování přes
interface
a malé rozhraní
-
io.Reader
, io.Writer
jako idiom; adaptace vlastních typů
-
Vnořování (embedding) a kompozice chování
-
Chybové modely a diagnostika
-
Obohacování chyb (
fmt.Errorf("%w")
), sentinels vs. typované chyby
-
Logování (
log/slog
), strukturované logy, úroveň a kontext
-
Souborový a síťový I/O
-
os
, bufio
, filepath
, kontextové deadline pro I/O
-
Základy
net/http
: klient, server, middlewares
-
Výkon a profilace
-
Úniky alokací, úspora alokací, předalokace
-
Profilace:
pprof
, trace, -race
(race detector)
-
Praktické zásady pro rychlý/čistý kód
-
Build & release pipeline
-
Build tagy,
CGO_ENABLED
, cross-compile, ldflags
-
Struktura repo pro knihovny vs. aplikace
-
Předpokládané znalosti:
-
Základy jazyka Go
-
Doporučený předchozí kurz:
-
Go – úvod do programování (GO1)
-
Doporučený následný kurz:
-
Go – generické programování (GO3)
-
Časový rozvrh:
-
3 dny (9:00hod. - 17:00hod.)
-
Jazyk:
-
Česky