Asynchrones Programmieren (kompletter Kurs)

Asynchrones Programmieren (kompletter Kurs)

Asynchrone Programmierung hat sich in letzter Zeit zu einem ebenso wichtigen Bereich wie klassische parallele Programmierung entwickelt. In der Welt von JavaScript, sowohl in Browsern als auch in Node.js, spielen die Kenntnisse über deren Techniken eine zentrale Rolle in der Denkweise von Entwicklern. Ich präsentiere Ihnen einen umfassenden und vollständigsten Kurs, der alle weit verbreiteten Methoden der asynchronen Programmierung, Adapter zwischen diesen und unterstützende Schnittstellen erklärt. Der Kurs umfasst derzeit 23 Vorlesungen, 3 Präsentationen und 28 Repositories mit zahlreichen Codebeispielen auf GitHub. Insgesamt gibt es etwa 17 Stunden Video: Link zur Playlist.

Erläuterungen zum Diagramm

Die obige Abbildung zeigt die Verbindungen zwischen verschiedenen Ansätzen zur Handhabung von Asynchronität. Die farbigen Blöcke beziehen sich auf asynchrones Programmieren, während die schwarz-weißen Methoden des parallelen Programmierens (Semaphoren, Mutexes, Barrieren usw.) und Petrinetze darstellen, die, genau wie asynchrones Programmieren und das Actor-Modell, verschiedene Ansätze zur Umsetzung paralleler Berechnungen sind (sie sind in der Abbildung dargestellt, um den Platz des asynchronen Programmierens präzise zu bestimmen). Das Actor-Modell ist mit asynchronem Programmieren verbunden, weil die Implementierung von Akteuren auch ohne Multithreading legitim ist und zur Strukturierung von asynchronem Code dient. Gepunktete Linien verbinden Ereignisse und die Konkurrenzwarteschlange mit Callbacks, da diese Abstraktionen auf Callbacks basieren, jedoch qualitativ neue Ansätze bilden.

Themen der Vorlesungen

1. Asynchrones Programmieren (Überblick)
2. Timer, Timeouts und EventEmitter
3. Asynchrones Programmieren mit Callbacks
4. Nicht-blockierende asynchrone Iteration
5. Асинхронность с библиотекой async.js
6. Asynchronität mit Promises
7. Asynchrone Funktionen und Fehlerbehandlung
8. Asynchrone Adapter: promisify, callbackify, asyncify
9. Asynchrone Datensammler
10. Unbehandelte Fehler in Promises
11. Problem des asynchronen Stacktraces
12. Generatoren und asynchrone Generatoren
13. Iteratoren und asynchrone Iteratoren
14. Abbrechen asynchroner Operationen
15. Asynchrone Funktionskomposition
16. Thenable und leichtgewichtige await
17. Parallele asynchrone Warteschlange
18. Muster des offenen Konstruktors (Revealing Constructor)
19. Future: Asynchronität mit zustandslosen Futures
20. Deferred: Asynchronität mit zustandsbehafteten Deferrals
21. Akteursmodell (Actor Model)
22. Beobachter-Muster (Observer + Observable)
23. Asynchronität mit RxJS und Ereignisströmen

Unter jedem Video finden Sie Links zu Repositories mit Codebeispielen, die im Video behandelt werden. Ich habe versucht, zu verdeutlichen, dass man nicht alles auf eine einzige Abstraktion der Asynchronität reduzieren sollte. Es gibt keinen universellen Ansatz für Asynchronität; für jeden spezifischen Fall lassen sich Methoden finden, die das Schreiben von Code für diese spezifische Aufgabe natürlicher gestalten. Natürlich wird dieser Kurs ergänzt, und ich bitte alle, neue Themen vorzuschlagen und zur Verbesserung der Codebeispiele beizutragen. Das Hauptziel des Kurses ist es, zu zeigen, wie man Asynchronitätsabstraktionen von innen aufbaut, und nicht nur, wie man sie verwendet. Praktisch alle Abstraktionen stammen nicht aus Bibliotheken, sondern werden in ihrer einfachsten Form vorgestellt und ihre Funktionsweise wird schrittweise erklärt.

Nur registrierte Benutzer können an der Umfrage teilnehmen. Bitte melden Sie sich an.Sind Sie an Contour interessiert?

Wie ist Ihre Einstellung zum Kurs?

  • Ich werde den gesamten Kurs ansehen

  • Ich werde ihn teilweise ansehen

  • Eine Herangehensweise reicht mir

  • Ich werde am Kurs mitarbeiten

  • Ich bin nicht an Asynchronität interessiert

8 Nutzer haben abgestimmt. 1 Nutzer hat sich enthalten.

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster