Kód: OTH_GOC2126
DÉLKA: 32 Hours (4 DENNÍ)
CENA: Kč bez DPH 21 600,00
Kurz je určen vývojářům na platformě .NET (Core), kteří chtějí proniknout do detailů .NET a C# aplikací a naučit se psát maximálně rychlé aplikace, používat správné konstrukty nebo optimalizovat spotřebu paměti. Zároveň také na odhalování a diagnostiku těchto problémů (post-mortem i aktuálních) s použitím dostupných nástrojů. Důraz je kladen na praktickou aplikaci získaných znalostí. Studenti budou schopni použít nabytých znalostí okamžitě po návratu do reálného světa. Kurz je vhodný pro vývojáře nad klasickým frameworkem stejně jako na .Net Core nebo Mono for Xamarin.
Toto školení pořádá společnost GOPAS a.s.
Kurz je určen pro zkušené vývojáře, kteří se chtějí posunout opět o něco dál a lépe porozumět tomu, jak se v .Netu pracuje s pamětí, jaké jsou skutečné možností debuggingu, jak se provádí kód, měří výkon nebo používá reflexe, ale i další pokročilá témata. Kurz je vhodný pro vývojáře nad klasickým frameworkem stejně jako na .Net Core nebo Mono for Xamarin.
Znalost jazyka C# a platformy .Net na úrovni kurzu GOC2125
Práce s pamětí v .NETu
Hodnotové vs. referenční typy
Alokace a uvolňování paměti Garbage Collectorem
Skryté alokace
Stackalloc
Span, Memory
Unsafe a marshalling
In, ref structs, readonly
Meření spotřeby paměti, memory leaks
Profilery
Finalizace
Stringy
WeakReference
Debuggování
Debuggování ve Visual Studiu a všechny možnosti debuggeru Visual Studia
Práce se symboly
WinDBG debugging
Post mortem debugging
Tvorba a analýza dumpu aplikace
Složitost algoritmu
Big O
Kolekce
Provádění kódu v prostředí .NET
JIT kompilace, profile optimizations, ngen, ready to run
Optimalizace v JITu, multicore JIT
Tiered JIT
Intrinsics, vektorizace, SIMD
Fungování CPU a vliv instrukci na výkon
Profilery
Měření výkonu kódu
Benchmarking a jeho limitace
Korektní vs. chybná měření
BenchmarkDotNet
ETW
PerfView
Asynchronní zpracování a škálování
Asynchronní provádění a dopad na škálování
Zamykání a vztah k výkonu
Měření zamykání, Concurrency Visualizer
Scalable TCP server
Reflexe a její efektivní použití
Lazy initialization
Caching
Messaging jako základní nástroj pro škálování