Szkoła pamięci .NET

Wszystko co chcielibyście wiedzieć o zarządzaniu pamięcią w .NET

Trener: Konrad Kokosa

Szkolenie

Programowanie

Dowiedz się jak pisać wydajny kod, uwzględniając różne "humory" Garbage Collectora, o których być może nawet jescze nie wiesz. Po tym szkoleniu zaczniesz programować znacznie bardziej świadomie, nie unikając również bardziej zaawansowanych technik.
Np. czy wiesz że kolejność pół w obiektach może wpływać na wydajność kodu? Czy jesteś świadomy ukrytych źródeł alokacji?

Teoria

Dowiedz się jak to wszystko działa pod spodem. Wiedza ta nie tylko poszerzenie inżynierskich horyzontów, ale również możliwość lepszego rozumienia i analizowania na własną rękę wszystkiego, na co natkniesz się w przyszłości w temacie zarządzania pamięcią.
Np. czy potrafisz obecnie ze zrozumieniem porównywać GC z różnych ekosystemów? Czy dobrze rozumiesz ogłoszane zmiany w CLR w tym zakresie?

Diagnostyka

Naucz się jak diagnozować i monitorować swoje aplikacje. Po zdobyciu tej wiedzy żadne problemy nie będą Ci straszne, nawet "na produkcji". Po tym szkoleniu, rozwiązanie problemów to tylko kwestia czasu. Pytanie nie będzie już brzmieć "jak?" i "czy?" je rozwiążesz, ale jedynie "kiedy?".
Np. czy wiesz jak bezinwazyjnie diagnoznować wyciek pamięci albo wysokie użycie CPU przez GC?

Co dostajesz w pakiecie?

Decydując się na udział w moim szkoleniu otrzymujesz:
  • potężną dawkę wiedzy, zarówno praktycznej jak i teoretycznej
  • książkę Pro .NET Memory Management, której jestem autorem (wersja papierowa ponad 1000 stron), ze specjalną dedykacją :)
  • wydrukowany plakat .NET Memory Management
  • wydrukowane materiały wykładowe
  • e-book .NET GC FAQ, również mojego autorstwa
  • obiad i serwis kawowy
Po szkoleniu Twoja pewność siebie w temacie zarządzania pamięcią wzrośnie wielokrotnie!

Agenda

Dzień 1

Podstawowe pojęcia
  • ręczne i automatyczne zarządzanie pamięcią
  • system operacyjny, pamięć wirtualna i proces .NET
Partycjonowanie pamięci
  • generacje - jaki stan jest zdrowy?
  • Small and Large Object Heap - co musimy wiedzieć?
  • segmenty - czy powinniśmy się przejmować?
Alokacje
  • jak alokacja działa w SOH i LOH - czy naprawdę jest tania?
  • najczęstsze źródła alokacji i ich unikanie
  • stackalloc - poznaj super tani alokator
Odśmiecanie pamięci
  • jak to działa - fazy Mark, Plan, Sweep i Compact
  • OutOfMemoryException - kiedy, dlaczego i jak diagnozować?
  • wyciek pamięci!
  • tryby Server vs Workstation - który wybrać?
  • tryby Background vs Non-concurrent - który wybrać?
  • kontrola GC z kodu

Dzień 2

Czas życia obiektów
  • explicit cleanup - interfejs IDisposable i tzw. "Disposable pattern"
  • implicit cleanup - finalizacja
  • weak references
Zaawansowane tematy
  • używanie struktur - po co?
    • ref structs - szczególny przypadek struktur
  • Span<T> i Memory<T> - nowi przyjaciele wydajności
  • klasa Unsafe i jej potężne możliwości
  • Pipelines - nowy nabytek w .NET
Data-oriented design
  • projektowanie aplikacji pod kątem dostępu do pamięci
  • metody taktyczne (lokalne)
  • metody strategiczne (globalne)
Deser
  • biblioteka ClrMD - do potężnej diagnostyki
  • biblioteka TraceEvent - do potężnego monitoringu (w tym Azure)

Czas i miejsce

6-7 maj 2019

Golden Floor Tower

ul. Chłodna 51, piętro 32

Warszawa

Rejestracja

3200 PLN + VAT

2699 PLN + VAT

Cena promocyjna do 31 marca!
Koniec promocji za:
Dni
Godzin
Minut
Sekund

Trener

Konrad Kokosa

Autor książki Pro .NET Memory Management. Programujący od lat kilkunastu, od kilku lat rozwiązujący problemy wydajności, zagadki diagnostyczne i łamigłówki architektury w świecie .NET, przyspieszając głównie aplikacje webowe. Niezależny konsultant, blogger, prelegent i ćwierkacz na Twitterze. Swoją pasją dzieli się również jako trener w Bottega IT Solutions w obszarze .NET, m.in. wydajności i diagnostyki aplikacji. Microsoft MVP w kategorii Visual Studio and Development Tools. Współzałożyciel inicjatywy Dotnetos.

FAQ

Czy poziom jest podstawowy czy zaawansowany?
Prawdziwie skorzystasz ze szkolenia jeśli już znasz C# i używasz go na co dzień. Nie musisz jednak wiele wiedzieć o samym np. GC. Zaczynamy od podstaw i dochodzimy do tematów zaawansowanych więc każdy będzie czuł się swobodnie. Jeśli czujesz się naprawdę zaawansowany, jestem bardziej niż chętny dostarczać Ci dodatkowej wiedzy "w trakcie".
Czy potrzeba mieć własny komputer?
Tak, wszystkie ćwiczenia wykonujecie na swoim sprzęcie. Uczestnicy najpóźniej tydzień przed szkoleniem dostają instrukcję jakie programy są wymagane (w tym, system Windows 10) by mieli czas wszystko zainstalować.
W jakim języku odbywają się zajęcia?
Cały warsztat odbywa się po polsku.
Czy będą inne terminy?
Zdecyduje o tym m.in. powodzenie tej edycji. W tej chwili nie mam takich planów.
Jak się przygotować?
Wystarczą dobre chęci i świeży umysł (sen!). W kwestiach technicznych, patrz obok.
Czy istnieją bilety grupowe?
Skontaktuj się ze mną, pomyślimy!
Czy otrzymam fakturę VAT?
Tak, w przypadku firm/d.g. warunkiem rezerwacji jest opłata faktury pro-forma. Decyduje kolejność wpłat zatem warto opłacić ją jak najszybciej.
Czy istnieją zwroty?
W ogólności nie, ale jestem elastyczny - możesz znaleźć zastępcę lub przenieść rezerwację na inny termin.
Czy jest dostępne miejsce parkingowe?
Tak, dodatkowo płatne.
W razie jakichkolwiek wątpliwości i dodatkowych pytań, skontaktuj się ze mną.
. All rights reserved to Gritstep.