Zarządzanie pamięcią w .NET

Warsztat ekspercki to coś więcej niż szkolenie. To praca w kontekście konkretnych problemów.

Kod: NETplatform-mem
Kategoria: Platforma .NET
Forma: 50% wykłady / 50% warsztaty
Czas trwania: 3 dni
Grupa docelowa: developerzy
architekci
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.

  1. Podstawowe pojęcia
    1. ręczne i automatyczne zarządzanie pamięcią
    2. system operacyjny, pamięć wirtualna i proces .NET
  2. Partycjonowanie pamięci
    1. generacje - jaki stan jest zdrowy?
    2. Small and Large Object Heap - co musimy wiedzieć?
    3. segmenty - czy powinniśmy się przejmować?
  3. Alokacje
    1. jak alokacja działa w SOH i LOH - czy naprawdę jest tania?
    2. najczęstsze źródła alokacji i ich unikanie
    3. stackalloc - poznaj super tani alokator
  4. Odśmiecanie pamięci
    1. jak to działa - fazy Mark, Plan, Sweep i Compact
    2. OutOfMemoryException - kiedy, dlaczego i jak diagnozować?
    3. wyciek pamięci
    4. tryby Server vs Workstation - który wybrać?
    5. tryby Background vs Non-concurrent - który wybrać?
    6. kontrola GC z kodu
  5. Czas życia obiektów
    1. explicit cleanup - interfejs IDisposable i tzw. "Disposable pattern"
    2. implicit cleanup - finalizacja
    3. weak references
  6. Zaawansowane tematy
    1. używanie struktur - po co?
    2. ref structs - szczególny przypadek struktur
    3. Span i Memory - nowi przyjaciele wydajności
    4. klasa Unsafe i jej potężne możliwości
    5. Pipelines - nowy nabytek w .NET
  7. Data-oriented design
    1. projektowanie aplikacji pod kątem dostępu do pamięci
    2. metody taktyczne (lokalne)
    3. metody strategiczne (globalne)
  8. Automatyzacja diagnostyki
    1. biblioteka ClrMD - do potężnej diagnostyki
    2. biblioteka TraceEvent - do potężnego monitoringu (w tym Azure)


Pobierz program w formacie PDF

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twój Warsztat.

Materiały związane z warsztatem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zamów warsztat

Imię i nazwisko:
Firma:
E-mail:
Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń


Wyrażam zgodę na przetwarzania danych osobowych zgodnie z ustawą o ochronie danych osobowych w związku z wysłaniem zapytania przez formularz kontaktowy.

Podanie danych jest dobrowolne ale niezbędne do przetworzenia zapytania. Zastałem/am poinformowany/na, że przysługuje mi prawo dostępu do swoich danych, możliwości ich poprawienia, żądania zaprzestania ich przetwarzania.

Administratorem danych osobowych jest Bottega IT Minds, ul. Jana Sawy 2, 20-632 Lublin.


Klauzula informacyjna