Async Ekspert
Polska wersja kursu online!
Twoja ścieżka do poznania asynchroniczności w .NET

Do zamknięcia przedsprzedaży kursu pozostało:

Dni
Godziny
Minuty
Sekundy

Cena kursu w przedsprzedaży:

1024zł (+VAT)

768zł (+VAT)

Opis kursu

Kiedy środowisko .NET otrzymywało kolejne elementy związane z programowaniem asychronicznym i współbieżnym, odczucia i odbiór związany z nimi był mieszany. Z jednej strony otrzymywaliśmy niesamowite możliwości. Z drugiej powodowało to potrzebę nauczenia się i stosowania całkowicie nowych elementów języka jak i mechanizmów zawartych w samym .NET...

Szkoląc inżynierów na szkoleniach otwartych i zamkniętych, dyskutując na konferencjach, a także przeglądając dane ostatniej ankiety Dotnetos, w której wzięło udział niemal 500 osób z całego świata, zauważyliśmy że programowanie asynchroniczne i współbieżność jest dla Was bardzo ważne. Jest tematem, którego inżynierowie związani z .NET chcą się uczyć. Sami jesteśmy tego samego zdania. Jest dziś wręcz niewykonalne programowanie w .NET bez zrozumienia współbieżności i techniki async-await.

Aby pomóc Ci w zdobyciu tej wiedzy, zrozumieniu podstaw jak i zasad rządzących światem asynchroniczności i współbieżności, przygotowaliśmy kurs online Async Expert. Async Expert to 9 solidnych tygodni, w których przeprowadzimy Cię od podstaw asynchroniczności aż po synchronizację i kolekcje współbieżne. Aby umożliwić Ci weryfikację zdobytej wiedzy, przygotowaliśmy odpowiednio dobrane prace domowe. Dodatkowym bonusem są 3 spotkania LIVE z naszymi mentorami (Marc Gravel, Daniel Marbach, Steve Cleary), którzy pomogą odpowiedzieć na Twoje dodatkowe pytania. Całość dopełni komunikacja z nami poprzez platformę naszego kursu. Zapraszamy!


Do zamknięcia przedsprzedaży kursu pozostało:

Dni
Godziny
Minuty
Sekundy

Cena kursu w przedsprzedaży:

1024zł (+VAT)

768zł (+VAT)

Plan kursu

1

Wstęp

  1. Plan kursu
  2. Podstawy BenchmarkDotNet
  3. Demo: sharplab.io
  4. Demo: ConcurrencyVisualizer
  5. Demo: Parallel Stacks/Tasks
  6. Zadanie domowe
2

Podstawy asynchroniczności

  1. Threads & Pools
  2. Task API
  3. Demo: Używanie ThreadPool z różnymi API
  4. Demo: Task.Run i domknięcie (closure)
  5. Podstawy async-await
  6. Demo: Który to wątek?
  7. Demo: Async WebAPI Controllers
  8. Fire and forget
  9. Demo: Logowanie asynchroniczne
  10. Task eliding
  11. ValueTask
  12. Demo: Optymalizacja łańcuchów asynchronicznych
  13. Demo: asynchroniczne API dla plików
  14. Zadanie domowe
3

Asynchroniczność 2

  1. Wykonanie, konteksty, scheduler
  2. Demo: własny SynchronizationContext
  3. Demo: Scheduler w Azure Durable Functions
  4. Sync vs async
  5. Demo: Używanie starych synchronicznych APIs
  6. Demo: Zróbmy deadlocka
  7. TaskCompletionSource
  8. Demo: Opakowanie API opartego o callbacki (Event Asynchronous Pattern)
  9. Awaitables
  10. Demo: await await await false;
  11. Wartości lokalne
  12. Demo: StringBuilder i ThreadLocal
  13. Demo: Zakresy AsyncLocal
  14. Demo: Przekazywanie stanu
  15. Zadanie domowe
4

Asynchroniczność 3

  1. Agregacja wykonania Tasków
  2. Demo: oczekiwanie w kolejnosć wykonania
  3. Demo: Parallel.For with async vs Task.WhenAll
  4. Demo: testowanie z użyciem TaskCompletionSource oraz Task.WhenAny
  5. Anulowanie zadań z CancellationToken
  6. Demo: Implementacja timeoutu z WhenAny
  7. IAsyncDiposable
  8. IAsyncEnumerable
  9. Demo: gRPC with IAsyncEnumerable
  10. Demo: New SQL client
  11. Zadanie domowe
5

Współbieżność niskiego poziomu

  1. Hardware
  2. volatile
  3. Demo: Używanie epok w ConcurrentQueue
  4. Interlocked
  5. Demo: Prosta pula z Interlocked.Exchange
  6. Bariery i alignment
  7. Demo: Rezerwacja zakresu bufora w Aeron.NET z Interlocked.CompareExchange
  8. Zadanie domowe
6

Współbieżność - narzędzia

  1. Wzajemne wykluczanie
  2. Demo: dekompilacja locka
  3. Demo: Nieblokujące użycie Monitor.TryEnter
  4. Demo: Limitowanie obiektów Task z SemaphoreSlim
  5. ReaderWriterLock
  6. Demo: Budowa własnej puli obiektów string z ReaderWriterLock
  7. Wait handles
  8. Demo: Reagowanie na zdarzenia z AutoResetEvent
  9. Asynchroniczne mechanizmy wykluczania
  10. Demo: Debugowanie deadlocka
  11. Zadanie domowe
7

Współbieżne struktury danych

  1. Podstawy
  2. BlockingCollection
  3. Demo: BlockingCollection z CancellationToken
  4. ConcurrentStack
  5. Demo: Cache obiektów z ConcurrentStack
  6. ConcurrentQueue
  7. Demo: Pula pamięci w Kestrel ASP.NET z ConcurrentQueue
  8. ConcurrentDictionary
  9. Demo: Efektywny cache z użyciem ConcurrentDictionary.GetOrAdd
  10. ConcurrentBag
  11. Zadanie domowe
8

Nowe współbieżne struktury danych

  1. Channels
  2. Demo: Zapisywanie metryk z Bounded Channels
  3. Pipelines
  4. Demo: Użycie Pipelines w ServiceStack.Redis z wywłaszczaniem i ConcurrentQueue
  5. Zadanie domowe
9

Zagadnienia dodatkowe

  1. Demo: IValueTaskSource z Interlocked.CompareExchange
  2. Demo: IValueTaskSource bazujący na tablicy i tokenie
  3. ValueTask i używanie puli w .NET 5
  4. False Sharing
  5. F# async vs C# async
  6. Demo: Hostowanie serisów z IHostBuilder, IHostedService opartych o ConcurrentQueue
  7. Demo: Obserwacja thread contention w JetBrains Timeline
  8. PLINQ vs Parallel.ForEach oraz rozróżnienie CPU/IO
  9. Zadanie domowe
  10. Podsumowanie kursu

Co zyskuję?

🌶 Dostęp do 9-tygodniowego kursu Async Expert - dostęp do pełnego materiału z kursu Async Expert

🌶 Sesje z Mentorami - 3x sesja LIVE z międzynarodowymi Mentorami programu, specjalistami w zakresie programowania asynchronicznego. Sesje będą nagrywane i udostępnione do późniejszego wglądu.

🌶 Dostęp do platformy - dostęp do platformy, na którym poza nagraniami, możliwe będą dyskusje i kontakt z prowadzącym jak i innymi uczestnikami.

🌶 Dostęp do repozytorium - poza nagraniami, interakcją z innymi uczestnikami i spotkaniami LIVE z Mentorami programu, otrzymujesz dostęp do repozytorium z przykładami kodu.


Do zamknięcia przedsprzedaży kursu pozostało:

Dni
Godziny
Minuty
Sekundy

Cena kursu w przedsprzedaży:

1024zł (+VAT)

768zł (+VAT)

Autorzy kursu

Szymon Kulec


Współzałożyciel Dotnetos, Microsoft MVP, architekt, speaker


Z zamiłowaniem łączę architekturę i oprogramowanie wysokiej wydajności. Chętnie dzielę się szeroką wiedzą na temat współczesnych architektur, systemów rozproszonych oraz zasad rządzących niskopoziomowym światem niezwykle wydajnych aplikacji.

Konrad Kokosa


Współzałożyciel Dotnetos, Microsoft MVP, autor, speaker


Jestem autorem książki Pro .NET Memory Management, a przy tym niezależnym konsultantem, blogerem, prelegentem i ćwierkaczem [patrz: Twitter]. Swoją pasją dzielę się jako trener w obszarze .NET, specjalizując się m.in. wydajności i diagnostyki aplikacji.

Łukasz Pyrzyk


Współzałożyciel Dotnetos, ex Microsoft MVP, autor, speaker


Jestem software developerem zainteresowanym tematami wydajności, mikroserwisami oraz optymalizacjami. Do tego prelegentem (bardziej niż blogerem) i aktywnym użytkownikiem Twittera.

Mentorzy kursu

Marc Gravell


Microsoft MVP, Starszy główny developer oprogramowania w Stack Overflow


Pracował z Async'em w .NET na wielu obszarach i od samego początku: Async jest głównym komponentem i wątkiem w całej jego bibliotece. Przez swoje zaangażowanie, utrzymywanie Dapper'a, 'StackExchange.Redis' oraz 'protobuf-net' Marc pozostaje wieloletnim Microsoft MVP! Stack Overflow buduje od 10 lat skupiając się na jego wydajności, dostępie do danych i łączności w .NET!

Daniel Marbach


Microsoft MVP, Inżynier oprogramowania w Particular Software


Programowaniem asynchronicznym przekształca umysły i czasoprzestrzeń. Występował na wielu konferencjach i forach z tematem asynchronicznego programowania oraz rozwoju motywowanego jakością. Lubi podnosić ciężary, pić ciemno paloną kawę, bawić się z synem i kodować, dopóki nie wyłączy mu się (zaprogramowany) router.

Steve Cleary


Microsoft MVP, Autor "Concurrency in C# Cookbook”


Źródło odpowiedzi na pytania dotyczące Async’a na Stack Overflow. W wolnym czasie jest mężem, tatą… i programuje. Obecnie posługuje się C#/C++/JavaScript’em, ale pozostaje zainteresowany wieloma językami.


Do zamknięcia przedsprzedaży kursu pozostało:

Dni
Godziny
Minuty
Sekundy

Cena kursu w przedsprzedaży:

1024zł (+VAT)

768zł (+VAT)

Pytania i odpowiedzi

🌶 Jaki język programowania będzie używany w przykładach?

Wszystkie przykłady jak i cała nasza praca będzie wykonywana w języku C#.

🌶 Kiedy rozpoczynają się zapisy, a kiedy się kończą?

Zapisy na przedsprzedaż kursu rozpoczynają się w czwartek 19.03.2020 o godzinie 09:00, a kończą się w piątek 03.04.2020 o godzinie 20:00. Po tej dacie nie będzie można dołączyć do programu w przedsprzedażowej, obniżonej cenie.

🌶 Kiedy rozpoczyna się program i jak długo trwa?

Program planujemy rozpocząć w czerwcu 2020. Co tydzień otrzymujesz dostęp do kolejnego tygodnia - modułu. Nowy materiał dodawany jest co tydzień, aby Cię nie przytłoczyć i aby cała grupa przechodziła materiał w tym samym momencie.

🌶 W jakiej formie jest ten kurs?

Kurs jest w formie wideo. Nagrania zamieszczone są na platformie. Po podaniu loginu i hasła masz dostęp do swojego konta. Poza nagraniami platforma udostępnia też forum, dzięki któremu możesz porozumiewać się z prowadzącym i innymi uczestnikami. Linki, hasła i login zostaną podane na tydzień przed uruchomieniem kursu.

🌶 Jak długo będę miał dostęp do kursu?

Otrzymasz dożywotni dostęp do tej edycji kursu wraz z aktualizacjami.

🌶 Co, jeżeli nie jestem zadowolony z kursu?

Jeżeli uznasz, że kurs nie jest dla Ciebie otrzymasz zwrot pieniędzy. Masz na to 30 dni od daty zakupu. Po prostu napisz na [email protected], a zwrócimy Ci 100% pieniędzy.

🌶 Czy dostanę cały kurs od razu?

Nie. Dodajemy nowe materiały każdego tygodnia, aby Cię nie przytłoczyć i aby cała grupa przechodziła materiał w tym samym momencie.

🌶 Czy otrzymam fakturę?

Tak, za zakup otrzymasz fakturę VAT. Faktura zostanie wysłana w ciągu kilku dni na adres e-mail podany przy zamówieniu.

🌶 Jak mogę zapłacić za kurs?

Płatność odbywa się przez nas sklep. Dowolna forma płatności wspierana przez sklep jest dla nas ok.

🌶 Czy mogę zapłacić później, na raty, itp.?

Nie. W trakcie przedsprzedaży kurs sprzedawany jest po obniżonej cenie. Jeżeli nie posiadasz środków w tym momencie, dołączenie później będzie możliwe, ale kurs będzie kosztował więcej.

🌶 Co jeżeli mam z czymś problem lub coś jest niejasne?

Napisz do mnie na adres e-mail: [email protected]

Podziel się!

Jeżeli uważasz, że Async Expert to świetna dawka wiedzy, podziel się ze znajomymi. Wystarczy, że użyjesz jednego z przycisków poniżej!
Dziękujemy!