
Die asynchrone Programmierung ist in letzter Zeit nicht weniger entwickelt als die klassische parallele Programmierung, und in der JavaScript-Welt, sowohl in Browsern als auch in Node.js, hat das Verständnis ihrer Techniken einen zentralen Platz bei der Gestaltung des Weltbildes der Entwickler eingenommen. Ich mache Sie auf einen ganzheitlichen und umfassenden Kurs aufmerksam, in dem alle gängigen Methoden der asynchronen Programmierung, Adapter zwischen ihnen und Hilfsöffnungen erläutert werden. Jetzt besteht es aus 23 Vorträgen, 3 Berichten und 28 Repositories mit vielen Beispielcodes auf Github. Nur ca. 17 Stunden Video: Link zur Wiedergabeliste .
Erläuterungen zum Schema
Das Diagramm (oben) zeigt die Verbindungen zwischen verschiedenen Arten der Arbeit mit Asynchronität. Farbige Blöcke beziehen sich auf asynchrone Programmierung, während s / w parallele Programmiermethoden (Semaphoren, Mutexe, Barrieren usw.) und Petri-Netze zeigt, die wie die asynchrone Programmierung und das Akteurmodell unterschiedliche Ansätze für die Implementierung von parallelem Rechnen sind (sie) werden im Diagramm nur angegeben, um den Ort der asynchronen Programmierung genauer zu bestimmen. Das Akteurmodell ist mit der asynchronen Programmierung verbunden, da die Implementierung von Akteuren ohne Multithreading ebenfalls das Existenzrecht hat und zur Strukturierung von asynchronem Code dient. Die gestrichelten Ereignislinien und die Wettbewerbswarteschlange sind mit Rückrufen verbunden, da diese Abstraktionen auf Rückrufen basieren, aber dennoch qualitativ neue Ansätze bilden.
Vortragsthemen
1. Asynchrone Programmierung (Ăśbersicht)
2. Timer, Timeouts und EventEmitter
3. Asynchrone Programmierung bei RĂĽckrufen
4. Nicht blockierende asynchrone Iteration
5. Asynchronität mit der Bibliothek async.js
6. Werbeasynchronität
7. Asynchrone Funktionen und Fehlerbehandlung
8. Asynchrone Adapter: versprechen, zurĂĽckrufen, asynchronisieren
9. Asynchrone Datensammler
10. Unverarbeitete Fehler in Versprechungen
11. Das Problem der asynchronen Stapelverfolgung
12. Generatoren und asynchrone Generatoren
13. Iteratoren und asynchrone Iteratoren
14. Abbruch von asynchronen Operationen
15. Asynchrone Zusammensetzung von Funktionen
16. Dann erwarten Sie und leicht
17. Wettbewerbsfähige asynchrone Warteschlange
18. Aufdecken des Konstruktormusters
19. Zukunft: Asynchronität bei staatenlosen Zukünften
20. Zurückgestellt: Asynchronität bei Statusverschiebungen
21. Schauspielermodell
22. Beobachtermuster (Beobachter + Beobachtbar)
23. Asynchronität in RxJS- und Ereignisströmen
Unter jedem Video befinden sich Links zu Repositorys mit Codebeispielen, die das Video verstehen. Ich habe versucht zu zeigen, dass es nicht notwendig ist, alles auf eine Abstraktion der Asynchronität zu reduzieren. Es gibt keinen universellen Ansatz für die Asynchronität. In jedem Fall können Sie die Methoden auswählen, mit denen Sie Code für diese spezielle Aufgabe natürlicher schreiben können. Natürlich wird dieser Kurs ergänzt und ich bitte alle, neue Themen vorzuschlagen und zu Codebeispielen beizutragen. Das Hauptziel des Kurses ist es zu zeigen, wie man Abstraktionen der Asynchronität von innen erstellt und nicht nur lehrt, wie man sie verwendet. Fast alle Abstraktionen stammen nicht aus Bibliotheken, sondern werden in ihrer einfachsten Implementierung angegeben und ihre Arbeit wird Schritt für Schritt sortiert.