Programowanie asynchroniczne (pełny kurs)

Programowanie asynchroniczne (pełny kurs)

Programowanie asynchroniczne stało się ostatnio nie mniej rozwinięte niż klasyczne programowanie równoległe, a w świecie JavaSript, zarówno w przeglądarkach, jak i w Node.js, zrozumienie jego technik zajęło jedno z centralnych miejsc w kształtowaniu światopoglądu programistów. Zwracam uwagę na całościowy i najbardziej kompletny kurs z wyjaśnieniem wszystkich powszechnych metod programowania asynchronicznego, adapterów między nimi i otworów pomocniczych. Obecnie składa się z 23 wykładów, 3 raportów i 28 repozytoriów z wieloma przykładami kodu na githubie. Łącznie około 17 godzin wideo: link do playlisty.

Objaśnienie schematu

Diagram (powyżej) pokazuje powiązania pomiędzy różnymi sposobami pracy z asynchronią. Kolorowe bloki odnoszą się do programowania asynchronicznego, a czarno-białe przedstawiają metody programowania równoległego (semafory, muteksy, bariery itp.) oraz sieci Petriego, które podobnie jak programowanie asynchroniczne i model aktora stanowią różne podejścia do realizacji obliczeń równoległych (są podane na schemacie jedynie w celu dokładniejszego określenia miejsca programowania asynchronicznego). Model aktora jest powiązany z programowaniem asynchronicznym, ponieważ implementacja aktorów bez wielowątkowości również ma prawo istnieć i służy do strukturyzowania kodu asynchronicznego. Linie przerywane łączą zdarzenia i współbieżną kolejkę z wywołaniami zwrotnymi, ponieważ te abstrakcje opierają się na wywołaniach zwrotnych, ale nadal tworzą jakościowo nowe podejścia.

Tematyka wykładów

1. Programowanie asynchroniczne (przegląd)
2. Timery, limity czasu i EventEmitter
3. Programowanie asynchroniczne z wykorzystaniem wywołań zwrotnych
4. Nieblokująca iteracja asynchroniczna
5. Asynchronia z biblioteką async.js
6. Asynchronia obietnic
7. Funkcje asynchroniczne i obsługa błędów
8. Adaptery asynchroniczne: promisify, callbackify, asyncify
9. Asynchroniczne kolektory danych
10. Nieobsługiwane błędy w obietnicach
11. Problem asynchronicznego śledzenia stosu
12. Generatory i generatory asynchroniczne
13. Iteratory i iteratory asynchroniczne
14. Anulowanie operacji asynchronicznych
15. Kompozycja funkcji asynchronicznej
16. Następnie czekają lekkie i lekkie
17. Współbieżna kolejka asynchroniczna
18. Konstruktor otwarty wzorca (Konstruktor odkrywający)
19. Przyszłość: asynchronia przyszłości bezpaństwowców
20. Odroczone: Asynchronia na różnicach stanowych
21. Model aktora
22. Obserwator wzorców (obserwator + obserwowalny)
23. Asynchronia w RxJS i strumieniach zdarzeń

Pod każdym filmem znajdują się linki do repozytoriów z przykładami kodu objaśnionymi w filmie. Próbowałem pokazać, że nie ma potrzeby redukować wszystkiego do jednej abstrakcji asynchronii. Nie ma uniwersalnego podejścia do asynchronii i dla każdego przypadku możesz wybrać takie metody, które pozwolą Ci napisać kod w bardziej naturalny sposób dla tego konkretnego zadania. Oczywiście ten kurs będzie uzupełniany i proszę wszystkich o proponowanie nowych tematów i przesyłanie przykładów kodu. Głównym celem kursu jest pokazanie jak budować abstrakcje asynchroniczne od środka, a nie tylko nauczenie jak z nich korzystać. Prawie wszystkie abstrakcje nie są pobierane z bibliotek, ale podawane w najprostszej postaci, a ich działanie jest analizowane krok po kroku.

W ankiecie mogą brać udział tylko zarejestrowani użytkownicy. Zaloguj się, Proszę.

Jaka jest Twoja opinia na temat kursu?

  • Obejrzę cały kurs

  • Będę patrzeć wybiórczo

  • Jedno podejście mi wystarczy

  • Wezmę udział w kursie

  • Nie interesuje mnie asynchronia

Głosowało 8 użytkowników. 1 użytkownik wstrzymał się od głosu.

Źródło: www.habr.com

Dodaj komentarz