ÀÚ¹Ù½ºÅ©¸³Æ®·Î ºñµ¿±â ÇÁ·Î±×·¡¹Ö ±â¼úÀ» ÀÍÈ÷´Â ¿©Á¤À» ½ÃÀÛÇÏ´Â 'ºñµ¿±â ÇÁ·Î±×·¡¹Ö with ÀÚ¹Ù½ºÅ©¸³Æ®'¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. ÀÌ Ã¥¿¡¼´Â ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ±âÃʸ¦ »ìÆ캸°í, ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡°ú °úÁ¦¸¦ ÀÌÇØÇϸç, ´Ù¾çÇÑ ºñµ¿±â ÇÁ·Î±×·¡¹Ö ±â¹ý°ú ¸ð¹ü »ç·Ê¸¦ ÀÚ¼¼È÷ »ìÆ캾´Ï´Ù.
1Àå, 'ºñµ¿±â ÇÁ·Î±×·¡¹Ö ¼Ò°³'¿¡¼´Â ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ¼Ò°³ÇÏ¿© ±âÃʸ¦ ´ÙÁý´Ï´Ù. ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÌ ¹«¾ùÀÎÁö, ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ß¿¡¼ ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÌ °®´Â Á߿伺, ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡°ú µµÀü °úÁ¦¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
2Àå, 'ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ µ¿±â½Ä ´ë ºñµ¿±â½Ä ÇÁ·Î±×·¡¹Ö'¿¡¼´Â µ¿±â½Ä ¹× ºñµ¿±â½Ä ÇÁ·Î±×·¡¹Ö ¸ðµ¨À» ºñ±³ÇÕ´Ï´Ù. ºí·ÎÅ· I/O ¸ðµ¨°ú ³í-ºí·ÎÅ· I/O ¸ðµ¨ÀÇ Â÷ÀÌÁ¡À» »ìÆ캸°í ÄÝ¹é ¹× À̺¥Æ® ·çÇÁ¿Í °°Àº °³³ä¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
3Àå, 'ÀÚ¹Ù½ºÅ©¸³Æ® À̺¥Æ® ·çÇÁ ÀÌÇØÇϱâ'¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ® À̺¥Æ® ·çÇÁ¿¡ ´ëÇÑ Æ÷°ýÀûÀÎ ÀÌÇظ¦ Á¦°øÇÕ´Ï´Ù. À̺¥Æ® Á᫐ ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½É °³³ä, À̺¥Æ® ·çÇÁ¿Í È£Ãâ ½ºÅÃÀÇ ¿ªÇÒ, À¥ API¿Í Äݹé Å¥ÀÇ »óÈ£ ÀÛ¿ë ¹æ½Ä¿¡ ´ëÇØ »ìÆ캾´Ï´Ù.
4Àå, 'ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ Äݹé ÇÔ¼ö'¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ® ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ±âº» ¿ä¼ÒÀÎ Äݹé ÇÔ¼ö¸¦ ÁßÁ¡ÀûÀ¸·Î ´Ù·ì´Ï´Ù. °íÀüÀûÀÎ Äݹé, ÄݹéÀÇ ÇÑ°è, Äݹé Áö¿ÁÀ» ÇÇÇϱâ À§ÇÑ Àü·«¿¡ ´ëÇØ »ìÆ캾´Ï´Ù.
5Àå, 'ÇÁ·Î¹Ì½º·Î ÀÛ¾÷Çϱâ'¿¡¼´Â ºñµ¿±â ¿¬»êÀ» ó¸®ÇÏ´Â °·ÂÇÑ µµ±¸ÀÎ ÇÁ·Î¹Ì½º¸¦ ¼Ò°³ÇÕ´Ï´Ù. ÇÁ·Î¹Ì½ºÀÇ Á¤ÀÇ¿Í Æ¯¼º, ÇÁ·Î¹Ì½º »ý¼º ¹× Á¶ÀÛ, ¿À·ù ó¸®, ÇÁ·Î¹Ì½º üÀÎ, Fetch API¿¡ ´ëÇØ ´Ù·ì´Ï´Ù.
6Àå, 'Async/Await ¼Ò°³'¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀ» À§ÇÑ ÃֽŠ±¸¹®ÀÎ async/await ±¸¹®À» »ìÆ캾´Ï´Ù. ±¸¹®, »ç¿ë »ç·Ê, ¿À·ù ó¸®, ±¸¼º, for-await-of¸¦ »ç¿ëÇÑ ºñµ¿±â ¹Ýº¹¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.
7Àå, 'À̺¥Æ® ±â¹Ý ÇÁ·Î±×·¡¹Ö'¿¡¼´Â ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ À̺¥Æ® ±â¹Ý ÇÁ·Î±×·¡¹ÖÀ» »ìÆ캾´Ï´Ù. ÀÚ¹Ù½ºÅ©¸³Æ® À̺¥Æ®¿Í ¸®½º³Ê¸¦ ÀÌÇØÇÏ°í À̺¥Æ®À̹ÌÅ͸¦ »ç¿ëÇØ »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ®¸¦ ±¸ÇöÇÕ´Ï´Ù.
8Àå, 'ÀÚ¹Ù½ºÅ©¸³Æ® ŸÀÌ¸Ó ÀÌÇØÇϱâ'¿¡¼´Â setTimeout°ú setIntervalÀ» Æ÷ÇÔÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® ŸÀ̸Ӹ¦ »ìÆ캾´Ï´Ù. cleartimeout°ú clearintervalÀ» »ç¿ëÇØ Å¸À̸Ӹ¦ Áö¿ì´Â ¹æ¹ýÀ» ¹è¿ì°í µð¹Ù¿î½º¿Í ½º·ÎƲÀ» »ç¿ëÇÑ ¹æ¾îÀû ÇÁ·Î±×·¡¹Ö ±â¹ýÀ» »ìÆ캾´Ï´Ù.
9Àå, '¼º´É °í·Á »çÇ×'¿¡¼´Â ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ¼º´É ÇÔÁ¤¿¡ ´ëÇØ ³íÀÇÇÏ°í ¼º´É ÃÖÀûȸ¦ À§ÇÑ ¸ð¹ü »ç·Ê¸¦ Á¦°øÇÕ´Ï´Ù.
10Àå, '°í±Þ ÁÖÁ¦'¿¡¼´Â °í±Þ ºñµ¿±â ÇÁ·Î±×·¡¹Ö ÁÖÁ¦¸¦ ´Ù·ç¸ç ¿©Á¤À» ¸¶¹«¸®ÇÕ´Ï´Ù. ºñµ¿±â Á¦³Ê·¹ÀÌÅÍ¿Í ½ºÆ®¸², Promise.allÀ» »ç¿ëÇÑ º´·Ä ½ÇÇà, 'yield'¸¦ »ç¿ëÇÑ Çù·ÂÀû ºñµ¿±â JavaScript, RxJS¸¦ »ç¿ëÇÑ Observables¸¦ »ç¿ëÇÑ ¹ÝÀÀÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇØ »ìÆ캾´Ï´Ù.
ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ºñµ¿±â ÇÁ·Î±×·¡¹Ö°ú È¿À²ÀûÀÌ°í À¯Áö °ü¸®°¡ ½¬¿î ºñµ¿±â Äڵ带 ÀÛ¼ºÇÏ´Â µµ±¸¿Í ±â¹ýÀ» ±íÀÌ ÀÖ°Ô ÀÌÇØÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ÀÚ¹Ù½ºÅ©¸³Æ® ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î Èï¹ÌÁøÁøÇÑ ¿©Á¤À» ½ÃÀÛÇϼ¼¿ä!
1Àå : ºñµ¿±â ÇÁ·Î±×·¡¹Ö ¼Ò°³
___1. ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀ̶õ?
___2. ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡°ú °úÁ¦
2Àå : ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ µ¿±â½Ä ´ë ºñµ¿±â½Ä ÇÁ·Î±×·¡¹Ö
___1. ºí·ÎÅ· ÀÔÃâ·Â ¸ðµ¨°ú ³íºí·ÎÅ· ÀÔÃâ·Â ¸ðµ¨ ºñ±³
___2. ÄÝ¹é ¹× À̺¥Æ® ·çÇÁ
3Àå : ÀÚ¹Ù½ºÅ©¸³Æ® À̺¥Æ® ·çÇÁ ÀÌÇØÇϱâ
___1. À̺¥Æ® Á᫐ ÇÁ·Î±×·¡¹ÖÀÇ °³³ä
___2. À̺¥Æ® ·çÇÁ¿Í È£Ãâ ½ºÅÃ
___3. À¥ API¿Í Äݹé Å¥
4Àå : ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ Äݹé ÇÔ¼ö
___1. °íÀüÀûÀÎ ÄÝ¹é ¹× ±× ÇÑ°è
___2. Äݹé Áö¿Á°ú À̸¦ ÇÇÇÏ´Â ¹æ¹ý
5Àå : ÇÁ·Î¹Ì½º·Î ÀÛ¾÷Çϱâ
___1. ÇÁ·Î¹Ì½ºÀÇ Á¤ÀÇ¿Í Æ¯¼º
___2. ÇÁ·Î¹Ì½º »ý¼º ¹× Á¶ÀÛÇϱâ
___3. ÇÁ·Î¹Ì½º¿¡¼ ¿À·ù ó¸®Çϱâ
___4. ÇÁ·Î¹Ì½º üÀÎ ¹× ±¸¼º
___5. API¿Í ÇÁ·Î¹Ì½º °¡Á®¿À±â
6Àå : async/await ¼Ò°³
___1. Async/AwaitÀÇ ±¸¹® ¹× »ç¿ë »ç·Ê
___2. Async/AwaitÀÇ ¿À·ù ó¸®
___3. Async/AwaitÀ» »ç¿ëÇÑ ±¸¼º°ú ŸÀ̹Ö
___4. for-await-of¸¦ »ç¿ëÇÑ ºñµ¿±â ¹Ýº¹ ÀÛ¾÷
7Àå : À̺¥Æ® ±â¹Ý ÇÁ·Î±×·¡¹Ö
___1. ÀÚ¹Ù½ºÅ©¸³Æ® À̺¥Æ®¿Í ¸®½º³Ê ÀÌÇØÇϱâ
___2. À̺¥Æ®À̹ÌÅÍ·Î »ç¿ëÀÚ Á¤ÀÇ À̺¥Æ® ±¸ÇöÇϱâ
8Àå : ÀÚ¹Ù½ºÅ©¸³Æ® ŸÀÌ¸Ó ÀÌÇØÇϱâ
___1. setTimeout°ú setInterval ÀÌÇØÇϱâ
___2. cleartimeout°ú clearinterval·Î ŸÀÌ¸Ó Áö¿ì±â
___3. µð¹Ù¿î½º ¹× ½º·ÎƲ ±â¹ýÀ» »ç¿ëÇÑ ¹æ¾îÀû ÇÁ·Î±×·¡¹Ö
9Àå : ¼º´É °í·Á »çÇ×
___1. ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ¼º´É ÇÔÁ¤
___2. ¼º´É Çâ»óÀ» À§ÇÑ ¸ð¹ü »ç·Ê
10Àå : °í±Þ ÁÖÁ¦
___1. ºñµ¿±â Á¦³Ê·¹ÀÌÅÍ¿Í ½ºÆ®¸²
___2. Promise.allÀ» »ç¿ëÇÑ º´·Ä ½ÇÇà
___3. yield¸¦ »ç¿ëÇÑ Çù·ÂÀû ºñµ¿±â ÀÚ¹Ù½ºÅ©¸³Æ®
___4. ¿ÉÀú¹öºíÀ» »ç¿ëÇÑ ¹ÝÀÀÇü ÇÁ·Î±×·¡¹Ö(RxJS)