| Tytuł: | Zarządzanie pamięcią w .NET |
| Kod: | NETplatform-mem |
| Kategoria: | Platforma .NET |
| Forma: | 50% wykłady / 50% warsztaty |
| Czas trwania: | 3 dni |
| Odbiorcy: | architekci, developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
Warsztat ma za zadanie zaznajomić uczestników z tematem świadomego programowania i projektowania oprogramowania .NET pod kątem zarządzania pamięcią i wynikającą z niej skalowalnością, wydajnością i kosztami. Warsztat składa się z trzech nierozłącznych części, przeplatanych ze sobą w trakcie kursu:
Programowanie
Dowiedz się jak pisać wydajny kod, uwzględniając różne "humory" Garbage Collectora, o których być może nawet jeszcze 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ś świadom 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łaszane 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 diagnozować wyciek pamięci albo wysokie użycie CPU przez GC?
Wymagania
Uczestnicy znają podstawy programowania w języku C# oraz potrafią obsługiwać środowisko programistyczne Visual Studio.
Wyróżniki warsztatu
- Przeprowadzone przez autora popularnej książki Pro .NET Memory Management
- Solidna dawka praktyki związanej z programowaniem I diagnostyką, wraz z porządną dawką wiedzy teoretycznej
Program Warsztatu eksperckiego
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
Podstawowe pojęcia- ręczne i automatyczne zarządzanie pamięcią
- system operacyjny, pamięć wirtualna i proces .NET
- ręczne i automatyczne zarządzanie pamięcią
-
Partycjonowanie pamięci- generacje - jaki stan jest zdrowy?
- Small and Large Object Heap - co musimy wiedzieć?
- segmenty - czy powinniśmy się przejmować?
- generacje - jaki stan jest zdrowy?
-
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
- jak alokacja działa w SOH i LOH - czy naprawdę jest tania?
-
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
- jak to działa - fazy Mark, Plan, Sweep i Compact
-
Czas życia obiektów- explicit cleanup - interfejs IDisposable i tzw. "Disposable pattern"
- implicit cleanup - finalizacja
- weak references
- explicit cleanup - interfejs IDisposable i tzw. "Disposable pattern"
-
Zaawansowane tematy- używanie struktur - po co?
- ref structs - szczególny przypadek struktur
- Span i Memory - nowi przyjaciele wydajności
- klasa Unsafe i jej potężne możliwości
- Pipelines - nowy nabytek w .NET
- używanie struktur - po co?
-
Data-oriented design- projektowanie aplikacji pod kątem dostępu do pamięci
- metody taktyczne (lokalne)
- metody strategiczne (globalne)
- projektowanie aplikacji pod kątem dostępu do pamięci
-
Automatyzacja diagnostyki- biblioteka ClrMD - do potężnej diagnostyki
- biblioteka TraceEvent - do potężnego monitoringu (w tym Azure)
- biblioteka ClrMD - do potężnej diagnostyki
Pobierz program w formacie PDF
Trenerzy
Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.