АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΠ»Π½Ρ‹ΠΉ курс)

АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΏΠΎΠ»Π½Ρ‹ΠΉ курс)

АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π° послСднСС врСмя стало Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π·Π²ΠΈΡ‚Ρ‹ΠΌ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ, Ρ‡Π΅ΠΌ классичСскоС ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Π° Π² ΠΌΠΈΡ€Π΅ JavaSript, ΠΊΠ°ΠΊ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, Ρ‚Π°ΠΊ ΠΈ Π² Node.js, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² заняло ΠΎΠ΄Π½ΠΎ ΠΈΠ· Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹Ρ… мСст Π² Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ мировоззрСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ Π²Π°ΡˆΠ΅ΠΌΡƒ вниманию цСлостный ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ курс с объяснСниСм всСх ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² асинхронного программирования, Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ ΠΈ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΌΠΎΠ². БСйчас ΠΎΠ½ состоит ΠΈΠ· 23 Π»Π΅ΠΊΡ†ΠΈΠΉ, 3 Π΄ΠΎΠΊΠ»Π°Π΄ΠΎΠ² ΠΈ 28 Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² с мноТСством ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π° Π½Π° github. ВсСго ΠΎΠΊΠΎΠ»ΠΎ 17 часов Π²ΠΈΠ΄Π΅ΠΎ: ссылка Π½Π° плСйлист.

ПояснСния ΠΊ схСмС

На схСмС (Π²Ρ‹ΡˆΠ΅) ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ связи ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒΡŽ. Π¦Π²Π΅Ρ‚Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ относятся ΠΊ асинхронному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ, Π° Ρ‡/Π± ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (сСмафоры, ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΡ‹, Π±Π°Ρ€ΡŒΠ΅Ρ€Ρ‹ ΠΈ Ρ‚.Π΄.) ΠΈ сСти ΠΏΠ΅Ρ‚Ρ€ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, ΠΊΠ°ΠΊ ΠΈ асинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ модСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹Ρ… вычислСний (ΠΎΠ½ΠΈ Π΄Π°Π½Ρ‹ Π½Π° схСмС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎΠ± Ρ‚ΠΎΡ‡Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ мСсто асинхронного программирования). МодСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² связана с асинхронным ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ рСализация Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² Π±Π΅Π· многопоточности Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΎ Π½Π° сущСствованиС ΠΈ слуТит для структурирования асинхронного ΠΊΠΎΠ΄Π°. ΠŸΡƒΠ½ΠΊΡ‚ΠΈΡ€Π½Ρ‹ΠΌΠΈ линиями события ΠΈ конкурСнтная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ связаны с ΠΊΠΎΠ»Π±Π΅ΠΊΠ°ΠΌΠΈ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ эти абстракции Π±Π°Π·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΊΠΎΠ»Π±Π΅ΠΊΠ°Ρ…, Π½ΠΎ всС ΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ качСствСнно Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹.

Π’Π΅ΠΌΡ‹ Π»Π΅ΠΊΡ†ΠΈΠΉ

1. АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (ΠΎΠ±Π·ΠΎΡ€)
2. Π’Π°ΠΉΠΌΠ΅Ρ€Ρ‹, Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ ΠΈ EventEmitter
3. АсинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° callback`Π°Ρ…
4. ΠΠ΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ асинхронноС ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
5. ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ с Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ async.js
6. ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π° промисах
7. АсинхронныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок
8. АсинхронныС Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Ρ‹: promisify, callbackify, asyncify
9. АсинхронныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…
10. НСобработанныС ошибки Π² промисах
11. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° асинхронного стСктрСйса
12. Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ асинхронныС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
13. Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ асинхронныС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹
14. ΠžΡ‚ΠΌΠ΅Π½Π° асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ
15. Асинхронная композиция Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ
16. Thenable ΠΈ лСгковСсный await
17. ΠšΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚Π½Π°Ρ асинхронная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ
18. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ конструктор (Revealing Constructor)
19. Future: ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π° Ρ„ΡŒΡŽΡ‡Π΅Ρ€Π°Ρ… Π±Π΅Π· состояния
20. Deferred: ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π° Π΄ΠΈΡ„Π΅Ρ€Π°Ρ… с состояниСм
21. МодСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² (Actor Model)
22. ΠŸΠ°Ρ‚Ρ‚Π΅Ρ€Π½ ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡŒ (Observer + Observable)
23. ΠΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒ Π½Π° RxJS ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ событий

Под ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π²ΠΈΠ΄Π΅ΠΎ Π΅ΡΡ‚ΡŒ ссылки Π½Π° Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ΠΎ. Π― постарался ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ всС ΠΊ ΠΎΠ΄Π½ΠΎΠΉ абстракции асинхронности. Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ асинхронности Π½Π΅ сущСствуСт, Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ случая ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ позволят ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ СстСствСнно для этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, этот курс Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΈ я ΠΏΡ€ΠΎΡˆΡƒ всСх ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°. Основная Π·Π°Π΄Π°Ρ‡Π° курса β€” это ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ абстракции асинхронности ΠΈΠ·Π½ΡƒΡ‚Ρ€ΠΈ, Π° Π½Π΅ просто Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈ всС абстракции Π½Π΅ бСрутся ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π° Π΄Π°Π½Ρ‹ Π² самой простой ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ пошагово Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½Π° ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°.

Волько зарСгистрированныС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ‡Π°ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² опросС. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅, поТалуйста.

Π’Π°ΡˆΠ΅ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ курсу?

  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΡŽ вСсь курс

  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½ΠΎ

  • МнС Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°

  • Π‘ΡƒΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΈΡ‚ΡŒ Π² курс

  • НС ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡΡŒ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΡΡ‚ΡŒΡŽ

ΠŸΡ€ΠΎΠ³ΠΎΠ»ΠΎΡΠΎΠ²Π°Π»ΠΈ 8 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ВоздСрТался 1 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ