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 [...]
  • GOC2126
  • Délka 4 dny
  • 40 ITK bodů
  • 3 termíny
  • Praha (21 600 Kč)

    Brno (21 600 Kč)

    Bratislava (920 €)

  • Mírně pokročilý

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 .NET Frameworkem, .NET Core, .NET 5+, Xamarin atd.

»
  • Kurz předpokládá znalosti a zkušenosti s programováním v jazyce C# na úrovni kurzu GOC2124 a GOC2125
  • 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.
  • Odborný výklad s praktickými ukázkami, cvičení na počítačích.
  • Tištěné prezentace probírané látky.

Práce s pamětí v .NETu

  • Hodnotové vs. referenční typy
  • Alokace a fungování GC (SOH, LOH, POH)
    • Halda, zásobník, unmanaged halda
  • Skryté alokace
  • Stackalloc
  • Span, Memory
  • Unsafe
  • In, ref structs, readonly
    •   Předávání parametrů
      
  • Meření spotřeby paměti, memory leaks
  • Profilery
  • Finalizace
  • Stringy
  • WeakReference
    • Pooling

Složitost algoritmu

  • Big O
  • Práce s kolekcemi

Debuggování

  • Debuggování ve Visual Studiu a všechny možnosti debuggeru Visual Studia
  • Práce se symboly
  • WinDBG debugging
    •   ProcDump, dotnet dump
      
  • Post mortem debugging
  • Tvorba a analýza dumpu aplikačně
    •   Monitoring stavu/provozu aplikace (dotnet monitor) 
      

Provádění kódu v prostředí .NET

  • JIT kompilace, profile optimizations, ngen, ready to run
  • Optimalizace v JITu, multicore JIT
  • Tiered JIT, PGO
  • 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í
  • Profilování
  • BenchmarkDotNet
  • Úvod do assembly

Reflection a její efektivní použití

Generování kódu

  • IL Emit
  • Expressions
  • Source Generators

Lazy inicializace

Aktuální nabídka
Školicí místo
Jazyk kurzu

Uvedené ceny jsou bez DPH.