Arrow Electronics, Inc.

Optimalizace výkonu, ladení a škálovatelnost aplikací

Kód: OTH_GOC2126

DÉLKA: 4 (den)

CENA: Kč 21 600,00

Popis

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.

Určeno pro

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.

Vstupní znalosti

Znalost jazyka C# a platformy .Net na úrovni kurzu GOC2125

Program

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í

Termíny školení