diff --git a/Courses/Async-2024.md b/Courses/Async-2024.md index 63ba78d..6b4fe31 100644 --- a/Courses/Async-2024.md +++ b/Courses/Async-2024.md @@ -2,7 +2,7 @@ πŸ’‘ ОбъСм ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°: 10 часов Π»Π΅ΠΊΡ†ΠΈΠΉ + Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, созвоны для Ρ€Π΅Π²ΡŒΡŽ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² Π½Π° вопросы: 2 часа Π² нСдСлю Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ Π³ΠΎΠ΄Π°, Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π°, Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ всСм Ρ‚Π΅ΠΌΠ°ΠΌ. -Π’Π΅ способы ΠΏΠΈΡΠ°Ρ‚ΡŒ асинхронный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали 10-15 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ уходят Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсны лишь для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ лСгаси упраТнСния Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ асинхронного программирования. Π”Π°ΠΆΠ΅ способы 5-7 Π»Π΅Ρ‚Π½Π΅ΠΉ давности ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ°Π»ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с соврСмСнными ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ½ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ [ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ курс сообщСства Metarhia](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md) Π½Π° сСгодняшний ΠΌΠΎΠΌΠ΅Π½Ρ‚ стал слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈ излишним. Π•Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² систСмном ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ асинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ асинхронного ΠΊΠΎΠ΄Π° Π·Π° абстракциями Π½Π΅ удастся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π² любом случаС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ, событиями, стримами, fetch ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ асинхронными API, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² дСсятки Ρ€Π°Π· ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ асинхронный ΠΊΠΎΠ΄ с систСмном слоС. Π§Ρ‚ΠΎ касаСтся систСмного слоя, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠ±ΠΈΡ…ΠΎΠ΄ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (систСмы массового обслуТивания), модСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ‡Π°ΡΡ‚ΡŒ абстракций ΠΈΠ· ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (сСмафоры, Ρ€Π°Π½Π΄Π΅Π²Ρƒ, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС это Π² ΠΎΠ΄Π½ΠΎΠΌ курсС слоТновато, поэтому, ΠΌΡ‹ ΠΎΡ‚Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ сначала ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ курс для примСнСния асинхронного программирования Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΈΡ… старого курса ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… абстракций, ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнных Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π½ΠΎ слабо извСстных Π² ΠΌΠΈΡ€Π΅ JavaScript. +Π’Π΅ способы ΠΏΠΈΡΠ°Ρ‚ΡŒ асинхронный ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ использовали 10-15 Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ уходят Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ интСрСсны лишь для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ лСгаси упраТнСния Π² Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ асинхронного программирования. Π”Π°ΠΆΠ΅ способы 5-7 Π»Π΅Ρ‚Π½Π΅ΠΉ давности ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ°Π»ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с соврСмСнными ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°ΠΌΠΈ, Π½ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ ΠΏΠΎΠ»ΠΎΠ½ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ [ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ курс сообщСства Metarhia](https://github.com/HowProgrammingWorks/Index/blob/master/Courses/Asynchronous.md) Π½Π° сСгодняшний ΠΌΠΎΠΌΠ΅Π½Ρ‚ стал слишком Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΈΠΌ ΠΈ излишним. Π•Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² систСмном ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ асинхронноС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ΠŸΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ асинхронного ΠΊΠΎΠ΄Π° Π·Π° абстракциями Π½Π΅ удастся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π² любом случаС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°ΠΌΠΈ, событиями, стримами, fetch ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ асинхронными API, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² дСсятки Ρ€Π°Π· ΠΏΡ€ΠΎΡ‰Π΅, Ρ‡Π΅ΠΌ асинхронный ΠΊΠΎΠ΄ Π² систСмном слоС. Π§Ρ‚ΠΎ касаСтся систСмного слоя, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ΠΎΠ±ΠΈΡ…ΠΎΠ΄ Ρ‚Π΅ΠΎΡ€ΠΈΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ (систСмы массового обслуТивания), модСль Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², Ρ‡Π°ΡΡ‚ΡŒ абстракций ΠΈΠ· ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ программирования (сСмафоры, Ρ€Π°Π½Π΄Π΅Π²Ρƒ, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ). ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ всС это Π² ΠΎΠ΄Π½ΠΎΠΌ курсС слоТновато, поэтому, ΠΌΡ‹ ΠΎΡ‚Π΄Π°Π΄ΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΈ сначала ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠΌ курс для примСнСния асинхронного программирования Π² ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ²ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Π° ΠΏΠΎΡ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹ ΠΈΠ· старого курса ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… абстракций, ΡˆΠΈΡ€ΠΎΠΊΠΎ распространСнных Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… языках программирования, Π½ΠΎ слабо извСстных Π² ΠΌΠΈΡ€Π΅ JavaScript. ## Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ @@ -30,7 +30,7 @@ - ⭐ ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ состояния Π³ΠΎΠ½ΠΊΠΈ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ Π² асинхронном ΠΊΠΎΠ΄Π΅ - ⭐ ΠžΡ‚ΠΌΠ΅Π½Π° асинхронных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: `AbortController`, `AbortSignal` - ⭐ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок, ΠΈΡ… выявлСниС ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ со стСктрСйсом -- 🧩 АсинхронныСк ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (собираСм значСния Π΄ΠΎ готовности) +- 🧩 АсинхронныС ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (собираСм значСния Π΄ΠΎ готовности) - 🧩 АсинхронныС абстракции: `Queue`, `Pool`, `Collector`, `Semaphore`, `Lock`, `Mutex` - 🧩 БистСмныС абстракции: `threads`, `processes`, `MessageChannel`, `BroadcastChannel` - 🧩 АсинхронныС Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΈ асинхронныС ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /