Asynchrones Programmieren hat sich in letzter Zeit ebenso stark entwickelt wie die klassische parallele Programmierung, und im Bereich JavaScript, sowohl in Browsern als auch in Node.js, hat das Verständnis seiner Techniken eine zentrale Rolle in der Denkweise der Entwickler eingenommen. Ich präsentiere Ihnen einen umfassenden und vollständigen Kurs, der alle weit verbreiteten Methoden des asynchronen Programmierens, Adapter zwischen diesen und unterstützende Konzepte erklärt. Der Kurs besteht derzeit aus 23 Vorlesungen, 3 Vorträgen und 28 Repositories mit zahlreichen Codebeispielen auf GitHub. Insgesamt etwa 17 Stunden Video: .
Erläuterungen zum Diagramm
Im Diagramm (oben) werden die Verbindungen zwischen den verschiedenen Methoden der Arbeit mit Asynchronität dargestellt. Die farbigen Blöcke beziehen sich auf asynchrones Programmieren, während Schwarz-Weiß-Methoden des parallelen Programmierens (Semaphore, Mutex, Barrieren usw.) und Petrinetze dargestellt werden, die, wie asynchrones Programmieren und das Actor-Modell, unterschiedliche Ansätze zur Implementierung paralleler Berechnungen sind (sie dienen im Diagramm nur dazu, den Platz des asynchronen Programmierens genauer zu bestimmen). Das Actor-Modell steht in Verbindung mit asynchronem Programmieren, da die Implementierung von Akteuren ohne Multithreading ebenfalls legitim ist und zur Strukturierung von asynchronem Code dient. Die gestrichelten Linien verbinden Ereignisse und die konkurrierende Warteschlange mit Callbacks, da diese Abstraktionen auf Callbacks basieren, dennoch 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 zeigen, dass man nicht alles auf eine Abstraktion der Asynchronität reduzieren sollte. Es gibt keinen universellen Ansatz zur Asynchronität, und für jeden Fall können die Methoden ausgewählt werden, die es ermöglichen, den Code auf natürliche Weise für die jeweilige Aufgabe zu schreiben. Natürlich wird dieser Kurs ergänzt, und ich bitte alle, neue Themen vorzuschlagen und zu den Codebeispielen beizutragen. Das Hauptziel des Kurses ist es, zu zeigen, wie man Abstraktionen der Asynchronität von innen aufbaut, und nicht nur zu lernen, wie man sie benutzt. Praktisch alle Abstraktionen stammen nicht aus Bibliotheken, sondern werden in ihrer einfachsten Implementierung gegeben und schrittweise ihre Funktionsweise erläutert.
Nur registrierte Benutzer können an der Umfrage teilnehmen. .
Wie stehen Sie zu dem Kurs?
Ich werde den gesamten Kurs ansehen
Ich werde ihn selektiv ansehen
Ein Ansatz reicht mir
Ich werde zum Kurs beitragen
Ich interessiere mich nicht für Asynchronität
8 Benutzer haben abgestimmt. 1 Benutzer hat sich enthalten.
Quelle: habr.com
