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: .
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
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. 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
