Kód kurzu: GOC2126« Krok zpět

Optimalizace výkonu, ladění a škálovatelnost aplikací

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

 DatumDnůCena kurzuCena materiálůJazyk výukyLokalita 
20.1.2020 3 16 200 CZK v ceně kurzu Český jazyk GOPAS Praha
 
4.5.2020 3 16 200 CZK v ceně kurzu Český jazyk GOPAS Praha
 
23.3.2020 3 16 200 CZK v ceně kurzu Český jazyk GOPAS Brno
 
8.1.2020 3 540,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava
 
1.4.2020 3 540,00 EUR v ceně kurzu Slovenský jazyk GOPAS Bratislava
 

PobočkaDnůCena kurzuCena materiálůITB
Praha3 16 200 CZK v ceně kurzu 30
Brno3 16 200 CZK v ceně kurzu 30
Bratislava3 540,00 EUR v ceně kurzu 30

Pro koho je kurz určen:

  • 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

Požadované vstupní znalosti:

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

Metody výuky:

  • Odborný výklad s praktickými ukázkami, cvičení na počítačích.

Studijní materiály:

  • Tištěné prezentace probírané látky.

Osnova:

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 aplikacne

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í

Předchozí kurzy

Navazující kurzy

žádný navazující kurz
Tištěné nebo elektronické studijní materiály GOPAS

Cena:
v ceně kurzu
Uvedené ceny jsou bez DPH.