< Wróć do szkoleń IT

Szkolenie Programowanie asynchroniczne i równoległe w C#

calendar

TERMIN

Ustalamy indywidualnie

clocl

CZAS

16h/2dni

money

CENA

Ustalamy indywidualnie

photo

Platforma .NET oferuje kilka sposobów pisania kodu asynchronicznego, aby aplikacja mogła szybciej odpowiadać użytkownikowi i pisać kod równoległy, który używa wielu wątków wykonywania w celu zmaksymalizowania wydajności komputera użytkownika.

Dla kogo jest to szkolenie?

Szkolenie przeznaczone jest dla:

  • osób posiadającą średnio-zaawansowaną wiedzę w programowaniu z wykorzystaniem .NET Core i/lub .NET Framework

  • programistów .NET, którzy chcą rozwinąć swoją wiedzę o bardzo ważny aspekt jakim jest programowanie w modelu asynchronicznym

  • programistów, którzy potrzebują wiedzy na temat budowy wydajnych aplikacji

pattern

Korzyści

Problemy jakie może przynieść brak odpowiedniej wiedzy na temat asynchronicznego modelu programowania jest tym typem problemu, który najczęściej uwidacznia się już w systemie wdrożonym na środowisku produkcyjnym. Dobra znajomość tego zagadnienia może znacznie usprawnić proces wytwórczy oprogramowania i zaoszczędzić nam programistom niepotrzebnego stresu i pracy po godzinach. Systemy wykorzystujące w sposób poprawny asynchroniczne wykonywanie instrukcji mają z reguły większą wydajność i przepustowość. Dobrze jest więc dosyć dogłębnie poznać ten model programowania.

    pattern
    pattern pattern

    Czego nauczysz się na szkoleniu?

    • Poznasz ciekawe aspekty programowania w modelu asynchronicznym

    • Zrozumiesz sposób działania aplikacji wykorzystujących asynchroniczność

    • Dowiesz się jakie są zalety asynchroniczności ale też jakie konsekwencje niesie ze sobą ten model programowania

    • Poznasz narzędzia, których zapewne dotychczas nie używałeś

    • Zyskasz wiedzę, która jest wymagana od programisty .NET na poziomie Senior .NET Developer

    Program szkolenia

    • Dzień: 1

      Moduł 1: Programowanie asynchroniczne cz. 1

      • Zasady działania kodu asynchronicznego
      • Zrozumienie sposobu działania kodu z wykorzystaniem operacji async/await:
        Zapoznanie z zagadnieniem State Machine
        Wzorzec Awaiter

      Moduł 2: Programowanie równoległe

      • Omówienie zagadnień Thread, ThreadPool oraz Task
      • Praca z biblioteką TPL (Task Parallel Library)
        – Uruchamianie zadań wykonywanych równolegle
        – Poprawna obsługa zadań (odczyt rezultatu, kontynuacje, anulowanie działania)
        – Poprawna obsługa wyjątków
      • Zastosowanie klasy Parallel
      • Struktury danych pomocne we współdzieleniu zasobów oraz synchronizacji zadań
        wykonywanych równolegle

      Moduł 3: Programowanie asynchroniczne cz.2

      • Różnice pomiędzy async/await i bezpośrednią pracą z biblioteką TPL
      • Omówienie zadań typu I/O-bound oraz CPU-bound w kontekście asynchronicznego
        wykonania
      • Poprawna integracja kodu wykonywanego synchronicznie z kodem asynchronicznym
      • Poprawna integracja kodu asynchronicznego korzystającego z różnych wzorców
        programowania asynchronicznego
    • Dzień: 2

      Moduł 4: Asynchroniczność w ASP.NET

      • Zapoznanie się z zagadnieniem SynchronizationContext i ConfigureAwait
      • Różnice pomiędzy .NET Framework i .NET Core
      • Zapobiegnie „Deadlocks” w ASP.NET (.NET Framework)
      • Asynchroniczność w Entity Framework
      • Poznanie różnych sposobów implementacji zadań działających w tle (wady/zalety różnych
        podejść, metody synchronizacji i współdzielenia zasobów)

      Moduł 5: Dobre praktyki w programowaniu asynchronicznym

      Moduł 6: Analiza zadań asynchronicznych

      • Debugowanie kodu asynchronicznego
      • Profilowanie kodu asynchronicznego
    pattern

    Trener

    Marcin Dudzic

    Senior Software Engineer (.NET) w yameo

    Na co dzień Senior .NET Developer, tech lead oraz trener w InfoShare Academy. Okazjonalnie także prelegent na konferencjach IT. Wiele lat doświadczenia w zawodzie pozwoliło mu napotkać mnóstwo ciekawych wyzwań, poczuć smak sukcesu i porażki, pozyskać sporą wiedzę, którą chętnie się podzieli.

    Przemysław Wołosz

    Business Account Manager

    Telefon

    +48 730 830 801

    Porozmawiajmy o szkoleniu

    Wypełniając formularz zgadzasz się na przetwarzanie Twoich danych w celu udzielenia odpowiedzi na wysłaną przez Ciebie wiadomość
    Administratorem danych osobowych jest infoShare Academy sp. z o.o., który dane osobowe przetwarza zgodnie z Klauzulą informacyjną.