非同期プログラミング (フルコース)

非同期プログラミング (フルコース)

非同期プログラミングは最近、従来の並列プログラミングに劣らず発展しており、ブラウザと Node.js の両方における JavaSript の世界では、その技術を理解することが開発者の世界観を形成する上で中心的な位置の 23 つを占めています。 私は、非同期プログラミングの広く普及しているすべての方法、それらの間のアダプター、および補助的な開口部について説明した、全体的で最も完全なコースを皆さんに紹介します。 現在、3 の講義、28 つのレポート、および github 上の多くのコード例を含む 17 のリポジトリで構成されています。 合計約 XNUMX 時間のビデオ: プレイリストへのリンク.

スキームの説明

図 (上) は、非同期を扱うさまざまな方法間の関係を示しています。 色付きのブロックは非同期プログラミングを示し、白黒は並列プログラミング手法 (セマフォ、ミューテックス、バリアなど) とペトリ ネットを示します。これらは、非同期プログラミングやアクター モデルと同様、並列コンピューティングを実装するための異なるアプローチです (これらは図に示されているのは、非同期プログラミングの場所をより正確に判断するためだけです)。 マルチスレッドを使用しないアクターの実装にも存在する権利があり、非同期コードを構造化する役割を果たすため、アクター モデルは非同期プログラミングに関連しています。 これらの抽象化はコールバックに基づいているため、点線はイベントと同時キューをコールバックにリンクしますが、それでも質的に新しいアプローチを形成します。

講義テーマ

1. 非同期プログラミング(概要)
2. タイマー、タイムアウト、EventEmitter
3. コールバックを使用した非同期プログラミング
4. ノンブロッキングの非同期反復
5. async.js ライブラリによる非同期
6. Promise の非同期性
7. 非同期関数とエラー処理
8. 非同期アダプター: promisify、callbackify、asyncify
9. 非同期データコレクター
10. Promise の未処理エラー
11. 非同期スタックトレースの問題
12. ジェネレーターと非同期ジェネレーター
13. イテレータと非同期イテレータ
14. 非同期操作のキャンセル
15. 非同期関数の合成
16. 実現可能で軽量な待機
17. 同時非同期キュー
18. パターンオープンコンストラクター(Revealing Constructor)
19. 未来: ステートレスな未来における非同期性
20. Deferred: ステートフル差分の非同期
21. 俳優モデル
22. パターンオブザーバー (オブザーバー + オブザーバブル)
23. RxJS とイベント ストリームの非同期

各ビデオの下には、ビデオで説明されているコード例を含むリポジトリへのリンクがあります。 私は、すべてを非同期の XNUMX つの抽象概念に還元する必要はないことを示そうとしました。 非同期に対する普遍的なアプローチはありません。ケースごとに、この特定のタスクに対してより自然にコードを記述できるメソッドを選択できます。 もちろん、このコースは補足される予定ですので、皆さんに新しいトピックを提案し、コード例を提供していただくようお願いします。 このコースの主な目的は、非同期抽象化を内部から構築する方法を示すことであり、単にその使用方法を教えることではありません。 ほとんどすべての抽象化はライブラリから取得されるのではなく、最も単純な実装で提供され、その動作が段階的に分析されます。

登録ユーザーのみがアンケートに参加できます。 ログインお願いします。

このコースについてどう思いますか?

  • コース全体を見ていきます

  • 厳選して見ていきます

  • 私にとっては XNUMX つのアプローチで十分です

  • 講座に貢献させていただきます

  • 非同期には興味がない

8 人のユーザーが投票しました。 1 ユーザーが棄権しました。

出所: habr.com

コメントを追加します