< 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

Key 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ą.