Ասինխրոն ծրագրավորում (ամբողջական դասընթաց)

Ասինխրոն ծրագրավորում (ամբողջական դասընթաց)

Ասինխրոն ծրագրավորումը վերջերս դարձել է ոչ պակաս զարգացած, քան դասական զուգահեռ ծրագրավորումը, և JavaSript-ի աշխարհում, ինչպես բրաուզերներում, այնպես էլ Node.js-ում, դրա տեխնիկայի ըմբռնումը զբաղեցրել է ծրագրավորողների աշխարհայացքի ձևավորման կենտրոնական տեղերից մեկը: Ձեր ուշադրությանն եմ ներկայացնում ամբողջական և առավել ամբողջական դասընթաց՝ ասինխրոն ծրագրավորման բոլոր տարածված մեթոդների, դրանց միջև ադապտերների և օժանդակ բացվածքների բացատրությամբ: Այն ներկայումս բաղկացած է 23 դասախոսությունից, 3 զեկույցից և 28 շտեմարանից՝ բազմաթիվ կոդի օրինակներով github-ում: Ընդհանուր մոտ 17 ժամ տեսանյութ. հղում դեպի երգացանկ.

Բացատրություններ դիագրամի համար

Դիագրամը (վերևում) ցույց է տալիս կապերը ասինխրոնիայի հետ աշխատելու տարբեր եղանակների միջև: Գունավոր բլոկները վերաբերում են ասինխրոն ծրագրավորմանը, իսկ b/w-ը ցույց է տալիս զուգահեռ ծրագրավորման մեթոդներ (սեմաֆորներ, մուտեքսներ, խոչընդոտներ և այլն) և Պետրի ցանցերը, որոնք, ինչպես ասինխրոն ծրագրավորումը և դերասանական մոդելը, զուգահեռ հաշվարկներ իրականացնելու տարբեր մոտեցումներ են (դրանք. տրված է դիագրամում միայն ասինխրոն ծրագրավորման տեղը ավելի ճշգրիտ որոշելու համար): Գործող մոդելը կապված է ասինխրոն ծրագրավորման հետ, քանի որ առանց բազմալեզու դերակատարների իրականացումը նույնպես իրավունք ունի գոյություն ունենալ և ծառայում է ասինխրոն կոդի կառուցվածքին: Կետավոր գծերը կապում են իրադարձությունները և միաժամանակյա հերթը հետ կանչերի հետ, քանի որ այս վերացականությունները հիմնված են հետադարձ զանգերի վրա, բայց դեռ ձևավորում են որակապես նոր մոտեցումներ:

Դասախոսությունների թեմաներ

1. Ասինխրոն ծրագրավորում (ակնարկ)
2. Ժամաչափեր, ժամանակի ընդհատումներ և EventEmitter
3. Ասինխրոն ծրագրավորում՝ օգտագործելով հետադարձ զանգեր
4. Ոչ արգելափակող ասինխրոն կրկնություն
5. Ասինխրոնիա async.js գրադարանի հետ
6. Ասինքրոնություն խոստումների վրա
7. Ասինխրոն գործառույթներ և սխալների կառավարում
8. Ասինխրոն ադապտերներ՝ խոստանալ, հետ կանչել, ասինքնացնել
9. Ասինխրոն տվյալների հավաքիչներ
10. Չմշակված սխալներ խոստումների մեջ
11. Asynchronous stacktrace-ի խնդիրը
12. Գեներատորներ և ասինխրոն գեներատորներ
13. Իտերատորներ և ասինքրոն կրկնիչներ
14. Ասինխրոն գործողությունների չեղարկում
15. Ասինխրոն ֆունկցիայի կազմը
16. Այնուհետև կարելի է և թեթև է սպասում
17. Համաժամանակյա ասինխրոն հերթ
18. Կաղապարի բաց կոնստրուկտոր (բացահայտող կոնստրուկտոր)
19. Ապագա. Ասինխրոնիա քաղաքացիություն չունեցող ֆյուչերսների վերաբերյալ
20. Հետաձգված. Ասինխրոնիա վիճակային դիֆերենցիալների վրա
21. Դերասան մոդել
22. Կաղապարի դիտորդ (Դիտորդ + Դիտելի)
23. Ասինխրոնիա RxJS-ում և իրադարձությունների հոսքերում

Յուրաքանչյուր տեսանյութի տակ կան հղումներ դեպի պահեստներ կոդի օրինակներով, որոնք բացատրված են տեսանյութում: Ես փորձեցի ցույց տալ, որ կարիք չկա ամեն ինչ իջեցնել ասինխրոնիայի մեկ վերացականության։ Ասինխրոնության համընդհանուր մոտեցում չկա, և յուրաքանչյուր դեպքի համար կարող եք ընտրել այն մեթոդները, որոնք թույլ կտան ավելի բնական կերպով գրել կոդը այս կոնկրետ առաջադրանքի համար: Իհարկե, այս դասընթացը կլրացվի, և ես խնդրում եմ բոլորին առաջարկել նոր թեմաներ և ներդրում ունենալ կոդի օրինակներով: Դասընթացի հիմնական նպատակն է ցույց տալ, թե ինչպես կարելի է կառուցել ասինխրոն աբստրակցիաներ ներսից, և ոչ միայն սովորեցնել, թե ինչպես օգտագործել դրանք: Գրեթե բոլոր աբստրակցիաները վերցված չեն գրադարաններից, այլ տրված են իրենց ամենապարզ կատարմամբ և դրանց աշխատանքը վերլուծվում է քայլ առ քայլ։

Հարցմանը կարող են մասնակցել միայն գրանցված օգտվողները։ Մուտք գործել, խնդրում եմ:

Ի՞նչ կարծիքի եք դասընթացի մասին:

  • Ես կդիտեմ ամբողջ դասընթացը

  • Ես ընտրովի կնայեմ

  • Ինձ բավական է մեկ մոտեցում

  • Ես կնպաստեմ դասընթացին

  • Ինձ չի հետաքրքրում ասինխրոնությունը

Քվեարկել է 8 օգտատեր։ 1 օգտատեր ձեռնպահ է մնացել։

Source: www.habr.com

Добавить комментарий