การเขียนโปรแกรมแบบอะซิงโครนัส (เต็มหลักสูตร)

การเขียนโปรแกรมแบบอะซิงโครนัส (เต็มหลักสูตร)

เมื่อเร็วๆ นี้ การเขียนโปรแกรมแบบอะซิงโครนัสได้รับการพัฒนาไม่น้อยไปกว่าการเขียนโปรแกรมแบบขนานแบบคลาสสิก และในโลกของ JavaSript ทั้งในเบราว์เซอร์และใน Node.js การทำความเข้าใจเทคนิคต่างๆ ได้เข้ามามีบทบาทสำคัญในการกำหนดโลกทัศน์ของนักพัฒนา ฉันขอนำเสนอหลักสูตรแบบองค์รวมและสมบูรณ์แบบที่สุดพร้อมคำอธิบายเกี่ยวกับวิธีการเขียนโปรแกรมแบบอะซิงโครนัสที่แพร่หลาย อะแดปเตอร์ระหว่างพวกเขา และช่องเปิดเสริม ปัจจุบันประกอบด้วยการบรรยาย 23 ครั้ง รายงาน 3 ฉบับ และที่เก็บข้อมูล 28 แห่ง พร้อมตัวอย่างโค้ดมากมายบน GitHub รวมวิดีโอประมาณ 17 ชั่วโมง: ลิงก์ไปยังเพลย์ลิสต์.

คำอธิบายของโครงการ

แผนภาพ (ด้านบน) แสดงการเชื่อมต่อระหว่างวิธีต่างๆ ในการทำงานกับอะซิงโครนัส บล็อกสีอ้างอิงถึงการเขียนโปรแกรมแบบอะซิงโครนัส และ b/w แสดงวิธีการเขียนโปรแกรมแบบขนาน (เซมาฟอร์ mutexes สิ่งกีดขวาง ฯลฯ) และ Petri nets ซึ่งเหมือนกับการเขียนโปรแกรมแบบอะซิงโครนัสและโมเดลนักแสดง เป็นแนวทางที่แตกต่างกันในการนำการคำนวณแบบขนานไปใช้ (ได้แก่ ที่ให้ไว้ในแผนภาพเท่านั้นเพื่อกำหนดตำแหน่งของการเขียนโปรแกรมแบบอะซิงโครนัสได้แม่นยำยิ่งขึ้น) โมเดลนักแสดงเกี่ยวข้องกับการเขียนโปรแกรมแบบอะซิงโครนัส เนื่องจากการดำเนินการของนักแสดงที่ไม่มีมัลติเธรดยังมีสิทธิ์ที่จะมีอยู่และทำหน้าที่ในการจัดโครงสร้างโค้ดแบบอะซิงโครนัส เส้นประเชื่อมโยงเหตุการณ์และคิวที่เกิดขึ้นพร้อมกันกับการโทรกลับ เนื่องจากนามธรรมเหล่านี้ขึ้นอยู่กับการโทรกลับ แต่ยังคงสร้างแนวทางใหม่ในเชิงคุณภาพ

หัวข้อการบรรยาย

1. การเขียนโปรแกรมแบบอะซิงโครนัส (ภาพรวม)
2. ตัวจับเวลา การหมดเวลา และ EventEmitter
3. การเขียนโปรแกรมแบบอะซิงโครนัสโดยใช้การโทรกลับ
4. การวนซ้ำแบบอะซิงโครนัสแบบไม่ปิดกั้น
5. แบบอะซิงโครนัสกับไลบรารี async.js
6. ไม่ตรงกันกับคำสัญญา
7. ฟังก์ชันแบบอะซิงโครนัสและการจัดการข้อผิดพลาด
8. อะแดปเตอร์แบบอะซิงโครนัส: สัญญา, โทรกลับ, ไม่พร้อมกัน
9. ตัวรวบรวมข้อมูลแบบอะซิงโครนัส
10. ข้อผิดพลาดที่ไม่สามารถจัดการได้ในสัญญา
11. ปัญหาของสแต็กเทรซแบบอะซิงโครนัส
12. เครื่องกำเนิดไฟฟ้าและเครื่องกำเนิดไฟฟ้าแบบอะซิงโครนัส
13. ตัววนซ้ำและตัววนซ้ำแบบอะซิงโครนัส
14. การยกเลิกการดำเนินการแบบอะซิงโครนัส
15. องค์ประกอบของฟังก์ชันแบบอะซิงโครนัส
16. ความเบาสบายกำลังรออยู่
17. คิวอะซิงโครนัสที่เกิดขึ้นพร้อมกัน
18. รูปแบบเปิดคอนสตรัคเตอร์ (เปิดเผยคอนสตรัคเตอร์)
19. อนาคต: ไม่ตรงกันกับอนาคตไร้สัญชาติ
20. เลื่อนออกไป: ไม่ตรงกันกับส่วนต่างสถานะ
21. นายแบบนักแสดง
22. ผู้สังเกตการณ์รูปแบบ (ผู้สังเกตการณ์ + ผู้สังเกตการณ์)
23. Asynchrony ใน RxJS และสตรีมเหตุการณ์

ใต้วิดีโอแต่ละรายการจะมีลิงก์ไปยังพื้นที่เก็บข้อมูลพร้อมตัวอย่างโค้ดที่อธิบายไว้ในวิดีโอ ฉันพยายามแสดงให้เห็นว่าไม่จำเป็นต้องลดทุกอย่างให้เหลือเพียงนามธรรมที่ไม่ตรงกันเพียงอันเดียว ไม่มีแนวทางสากลสำหรับการทำงานแบบอะซิงโครนัส และสำหรับแต่ละกรณี คุณสามารถเลือกวิธีการเหล่านั้นที่จะช่วยให้คุณสามารถเขียนโค้ดได้อย่างเป็นธรรมชาติมากขึ้นสำหรับงานเฉพาะนี้ แน่นอนว่าหลักสูตรนี้จะเป็นส่วนเสริม และฉันขอให้ทุกคนแนะนำหัวข้อใหม่และสนับสนุนตัวอย่างโค้ด เป้าหมายหลักของหลักสูตรนี้คือการแสดงวิธีสร้างนามธรรมแบบอะซิงโครนัสจากภายใน ไม่ใช่แค่สอนวิธีใช้เท่านั้น นามธรรมเกือบทั้งหมดไม่ได้นำมาจากห้องสมุด แต่ได้รับในการใช้งานที่ง่ายที่สุดและงานของพวกเขาได้รับการวิเคราะห์ทีละขั้นตอน

เฉพาะผู้ใช้ที่ลงทะเบียนเท่านั้นที่สามารถเข้าร่วมในการสำรวจได้ เข้าสู่ระบบ, โปรด.

คุณมีความคิดเห็นเกี่ยวกับหลักสูตรนี้อย่างไร

  • ฉันจะดูทั้งหลักสูตร

  • ฉันจะเลือกดู

  • แนวทางเดียวก็เพียงพอสำหรับฉัน

  • ฉันจะมีส่วนร่วมในหลักสูตร

  • ฉันไม่สนใจเรื่องอะซิงโครนัส

ผู้ใช้ 8 คนโหวต ผู้ใช้ 1 รายงดออกเสียง

ที่มา: will.com

เพิ่มความคิดเห็น