°øÀ¯Çϱâ
Node.js µðÀÚÀÎ ÆÐÅÏ
±¸¸ÅÈıâ 0°³ (0)
¤ýµµ¼­Á¤º¸ ÀúÀÚ : Mario Casciaro
ÃâÆÇ»ç : ¿µÁø´åÄÄ
2018³â 10¿ù 20ÀÏ Ãâ°£  |  ISBN : 8931459424  |  504ÂÊ
¤ý±³º¸È¸¿ø ±³º¸¹®°í ID ¿¬°áÇϱâ
µµ¼­¸¦ ±¸ÀÔÇÏ½Ã¸é ±³º¸¹®°í¿Í ²É¸¶ÀÇ È¸¿øÇýÅÃÀ» ÇÔ²²
¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù.
¤ý²É¸¶°¡ 27,000¿ø 24,300¿ø 10%
¤ýÃß°¡ÇýÅÃ
²É 3¼ÛÀÌ
¤ý¹è¼ÛÁö¿ª ±¹³»
¤ý¹è¼Ûºñ
Á¶°ÇºÎ¹«·á¹è¼Û
  • ÀÌ °¡°ÔÀÇ ¹«·á¹è¼Û »óǰÀ» ÇÔ²² ÁÖ¹®Çϰųª, ÃÑÁÖ¹®±Ý¾×ÀÌ 15,000¿ø ÀÌ»óÀÌ¸é ¹«·á¹è¼Û.
  • 15,000¿ø ¹Ì¸¸ÀÌ¸é ¹è¼Ûºñ 2,500¿ø °í°´ºÎ´ã
  • µµ¼­»ê°£/Á¦ÁÖµµ´Â Ãß°¡¿îÀÓºñ ºÎ°úµÉ ¼ö ÀÖÀ½
1ÀÏ À̳» Ãâ°í
¤ý¼ö·®
ÃÑ ÇÕ°è±Ý¾×  ¿ø
Âò
¼±¹°
Àå¹Ù±¸´Ï ´ã±â
¹Ù·Î ±¸¸ÅÇϱâ

Àå¹Ù±¸´Ï¿¡ ´ã¾Ò½À´Ï´Ù. Àå¹Ù±¸´Ï¸¦ È®ÀÎ ÇϽðڽÀ´Ï±î?

¼îÇΰè¼ÓÇϱâ
Àå¹Ù±¸´Ïº¸±â
¤ýÀÌ °¡°ÔÀÇ ´Ù¸¥ »óǰ ¸ðµç»óǰº¸±â+
²ÞÀ» ÇÇ¿ì´Â ¼¼»ó, ÀÎÅÍ³Ý ±³º¸¹®°íÀÔ´Ï´Ù.
²ÞÀ» ÇÇ¿ì´Â ¼¼»ó, ÀÎÅÍ³Ý ±³º¸¹®°íÀÔ´Ï´Ù.
°¡°ÔÁÖÀÎ : ±³º¸¹®°í
ÀüÈ­ ¹× ÅùèÁ¤º¸
ÀüÈ­ ¹× ÅùèÁ¤º¸
»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ
- °¡°Ô ÀüÈ­¹øÈ£ : 1544-1900
- ÀüÈ­¹®ÀÇ ½Ã°£ : ¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö
(¸ÅÁÖ ¿ù¿äÀÏ, È­¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü)
- °¡°Ô À̸ÞÀÏ : ink@kyobobook.co.kr
- ÀÌ¿ë Åùèȸ»ç : CJ´ëÇÑÅë¿î
ÆÇ¸Å°¡°ÔÁ¤º¸
- »ç¾÷ÀÚ¸í : (ÁÖ)±³º¸¹®°í
- »ç¾÷ÀÚµî·Ï¹øÈ£ : 102-81-11670
- Åë½ÅÆÇ¸Å¾÷½Å°í : 01-0653
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É
ÀüÈ­ÁÖ¹® ¹× °áÁ¦¹®ÀÇ
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : 1644-8422
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼­
Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ
µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸,
ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼­µµ ²É¸¶·Î Á÷Á¢ ÀüÈ­ÁÖ¼¼¿ä.
 À̾߱â²É¹ç
µî·ÏµÈ À̾߱Ⱑ ¾ø½À´Ï´Ù.
»ó¼¼Á¤º¸ ±¸¸ÅÈıâ (0) »óǰQ&A (0) ¹è¼Û/±³È¯/ȯºÒ ¾È³»

Ã¥¼Ò°³

ÇÑ Â÷¿ø ³ôÀº À¥ ¼³°è¸¦ À§ÇÑ Node.js µðÀÚÀÎ ÆÐÅÏ °¡À̵å Node.js´Â JavaScript¸¦ »ç¿ëÇÏ¿© ½±°Ô È®Àå °¡´ÉÇÑ ¼­¹ö Ãø ¾îÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¼ö ÀÖ´Â ¸Å¿ì À¯¿ëÇÑ ¼ÒÇÁÆ®¿þ¾î Ç÷§ÆûÀ¸·Î, È¿À²ÀûÀÎ ÄÚµå ÀÛ¼ºÀ» ÅëÇØ ¼³°è ¹× ÄÚµå ºÐÇÒÀ» °¡´ÉÇÏ°Ô ÇÕ´Ï´Ù. ÀÌ Ã¥Àº Node.jsÀÇ ºñµ¿±â ´ÜÀÏ ½º·¹µå ¾ÆÅ°ÅØÃ³¿Í ÁÖ¿ä µðÀÚÀÎ ÆÐÅÏÀ» ¼³¸íÇϰí, ºñµ¿±â½Ä Á¦¾î È帧 ÆÐÅϰú ½ºÆ®¸² ±¸¼º ¿ä¼Ò¸¦ ¸¶½ºÅÍÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ¸ç, °¡Àå ÀϹÝÀûÀÎ µðÀÚÀÎ ÆÐÅÏÀÇ Node.js ±¸Çö ¸ñ·Ï°ú Node.js Àü¿ë ƯÁ¤ µðÀÚÀÎ ÆÐÅÏÀ¸·Î ¸¶¹«¸®µË´Ï´Ù. ¶ÇÇÑ ¹ü¿ë JavaScript, È®À强°ú °°Àº º¸´Ù Áøº¸µÈ °³³äµéÀ» ÅëÇØ Node.js¸¦ »ç¿ëÇÏ¿© ¿£ÅÍÇÁ¶óÀÌÁî±Þ ¾îÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ ¸ðµç ÇÊ¿äÇÑ °³³äµéÀ» Á¦°øÇϰí ÀÖ½À´Ï´Ù. ÀÌ Ã¥ Àü¹Ý¿¡ °ÉÃÄ LevelDb, Redis, RabbitMQ, ZMQ, Express¿Í °°Àº ½ÇÁ¦ ¶óÀ̺귯¸®µé°ú ±â¼úµéÀ» ÅëÇØ ´Ù¾çÇÑ ÆÐÅϰú ±â¹ýÀ» º¸¿©ÁÖ¸ç, À̸¦ ÅëÇØ Node.js »ýŰè¿Í ±× ¼Ö·ç¼Çµé¿¡ ´ëÇÑ ÈǸ¢ÇÑ ¿¹½Ã¸¦ Á¦°øÇÒ °ÍÀÔ´Ï´Ù.

»ó¼¼À̹ÌÁö

ÀúÀÚ¼Ò°³

ÀúÀÚ : Mario Casciaro Mario Casciaro Mario Casciaro´Â ±â¼ú, °úÇÐ ±×¸®°í ¿ÀǼҽº¿¡ Á¤ÅëÇÑ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌÀÚ ±â¾÷°¡ÀÔ´Ï´Ù. Mario´Â ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µ ¼®»ç ÇÐÀ§¸¦ ¹Þ°í IBM¿¡¼­ Àü¹® °æ·ÂÀ» ½×±â ½ÃÀÛÇÏ¿© Tivoli Endpoint Manager, Cognos Insight ¹× SalesConnect¿Í °°Àº ´Ù¾çÇÑ ±â¾÷¿ë Á¦Ç°¿¡ °ü·ÃÇÏ¿© ¼ö³â°£ ±Ù¹«Çß½À´Ï´Ù. ±×¸®°í ¼ºÀåÁßÀÎ SaaS ȸ»çÀÎ D4H Technologies·Î À̵¿ÇÏ¿© ºñ»ó ¿î¿µÀ» ½Ç½Ã°£À¸·Î °ü¸®Çϱâ À§ÇÑ »õ·Î¿î ÃÖ÷´Ü Á¦Ç° °³¹ßÀ» À̲ø¾ú½À´Ï´Ù. ÇöÀç´Â ±â¾÷ÀÇ ÈÄ¿øÀ» ÅëÇØ ¿Â¶óÀÎ ÇÁ·ÎÁ§Æ®°¡ ÀÚ±ÝÀ» Á¶´ÞÇÒ ¼ö ÀÖµµ·Ï µ½´Â Ç÷§ÆûÀÎ Sponsorama.comÀÇ °øµ¿ ⸳ÀÚÀÌÀÚ CEOÀÔ´Ï´Ù. ÀúÀÚ : Luciano Mammino Luciano Mammino Luciano Mammino´Â 1987³â¿¡ ž ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î·Î, 12¼¼ ¶§ ¾Æ¹öÁöÀÇ ±¸Çü ÀÎÅÚ386À» »ç¿ëÇÏ¿© ÄÚµù ÀÛ¾÷À» ½ÃÀÛÇß½À´Ï´Ù. ÄÄÇ»ÅÍ °øÇÐ ¼®»ç ÇÐÀ§¸¦ ¹ÞÀº ÈÄ ±×´Â À¥ °³¹ßÀÚ·Î ÁÖ·Î ÀÌÅ»¸®¾Æ Àü¿ªÀÇ ±â¾÷ ¹× ½Å»ý ±â¾÷ÀÇ ÇÁ¸®·£¼­·Î ÀÏÇß½À´Ï´Ù. ÀÌÅ»¸®¾Æ¿Í ¾ÆÀÏ·£µå Sbaam.comÀÇ °øµ¿ ¼³¸³ÀÚÀÌÀÚ CTO·Î 3³â°£ Ȱµ¿ÇÑ µÚ, Smartbox¿¡¼­ ¼±ÀÓ PHP ¿£Áö´Ï¾î·Î Ȱµ¿Çϱâ À§ÇØ ´õºí¸°À¸·Î ÀÌÀüÇß½À´Ï´Ù. ±×´Â ¿ÀǼҽº ¶óÀ̺귯¸®¸¦ °³¹ßÇϰí Symfony ¹× Express¿Í °°Àº ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ´Â °ÍÀ» ÁÁ¾ÆÇÕ´Ï´Ù. JavaScript ¸í¼ºÀÌ ¾ÆÁ÷ °ÉÀ½¸¶ ´Ü°è¿¡ ÀÖÀ¸¸ç ÀÌ ±â¼úÀÌ ´ëºÎºÐÀÇ À¥°ú ¸ð¹ÙÀÏ °ü·Ã ±â¼úÀÇ ¹Ì·¡¿¡ Å« ¿µÇâÀ» ¹ÌÄ¥ °ÍÀ̶ó°í È®½ÅÇϰí, ´ëºÎºÐÀÇ ½Ã°£À» JavaScript¿Í Node.js¿¡ ´ëÇÑ Áö½ÄÀ» Çâ»ó½Ã۴µ¥ ÇÒ¾ÖÇϰí ÀÖ½À´Ï´Ù. ¿ªÀÚ : ±è¼º¿ø ±è¼º¿ø 1998³âºÎÅÍ °³¹ßÀÚ·Î ½ÃÀÛÇÏ¿©, ¾Èö¼ö¿¬±¸¼Ò µîÀ» °Åó ÇöÀç ·çŰ½º¿¡¼­ ±Ù¹«Çϰí ÀÖÀ¸¸ç, ´Ù¾çÇÑ Ç÷§Æû¿¡¼­ ±â¾÷¿ë À¥, Ŭ¶óÀ̾ðÆ®, ¼­¹ö ¾îÇø®ÄÉÀ̼ÇÀÇ ¼³°èÀÚ ¹× °³¹ßÀÚ·Î ÀÏÇØ ¿Ô½À´Ï´Ù. ÃÖ±Ù ÀÚ¿¬¾î ó¸® µî¿¡ °ü½ÉÀ» °¡Áö°í À̸¦ À§ÇÑ ¾Ë°í¸®Áò, µ¥ÀÌÅÍ ¼öÁý, ó¸® ºÐ¾ß¸¦ ޱ¸Çϰí ÀÖ½À´Ï´Ù. ¿ª¼­·Î´Â [ÄÚµù ÀÎÅͺä Äù½ºÃµ], [¾ÆÀÌÆù °ÔÀÓ °³¹ßÀÚ ·¹ÆÛ·±½º] µîÀÌ ÀÖ½À´Ï´Ù.

¸ñÂ÷

1Àå. Node.js Ç÷§Æû¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù 1.1 Node.js öÇÐ °æ·® ÄÚ¾î °æ·® ¸ðµâ ÀÛÀº ¿ÜºÎ ÀÎÅÍÆäÀ̽º °£°áÇÔ°ú ½Ç¿ëÁÖÀÇ 1.2 Node.js 6¿Í ES2015¿¡ ´ëÇÑ ¼Ò°³ let°ú const Ű¿öµå È­»ìÇ¥ ÇÔ¼ö Ŭ·¡½º ±¸¹® Çâ»óµÈ °´Ã¼ ¸®ÅÍ·² Map°ú Set Collection WeakMap ¹× WeakSet Collection Template Ç¥±â¹ý ES2015ÀÇ ±âŸ ±â´Éµé 1.3 Reactor ÆÐÅÏ I/O´Â ¼Óµµ°¡ ´À¸®´Ù. ºí·ÎÅ· I/O ³í ºí·ÎÅ· I/O À̺¥Æ® µð¸ÖƼÇ÷º½Ì Reactor ÆÐÅÏ ¼Ò°³ Node.jsÀÇ ³í ºí·ÎÅ· ¿£Áø libuv Node.js¸¦ À§ÇÑ ±¸Á¶ 2Àå. Node.js Çʼö ÆÐÅÏ 2.1 ÄÝ¹é ÆÐÅÏ ¿¬¼Ó Àü´Þ ¹æ½Ä µ¿±â³Ä? ºñµ¿±â³Ä? Node.js ÄÝ¹é ±ÔÄ¢ 2.2 ¸ðµâ ½Ã½ºÅÛ°ú ±× ÆÐÅÏ ³ëÃâ½Ä ¸ðµâ ÆÐÅÏ Node.js ¸ðµâ ¼³¸í ¸ðµâ Á¤ÀÇ ÆÐÅÏ 2.3 °üÂûÀÚ ÆÐÅÏ EventEmitter Ŭ·¡½º EventEmitter »ý¼º ¹× »ç¿ë ¿À·ù ÀüÆÄ °üÂû °¡´ÉÇÑ °´Ã¼ ¸¸µé±â µ¿±â ¹× ºñµ¿±â À̺¥Æ® EventEmitter vs Äݹé Äݹé°ú EventEmitterÀÇ °áÇÕ 3Àå. ÄݹéÀ» »ç¿ëÇÑ ºñµ¿±â Á¦¾î È帧 ÆÐÅÏ 3.1 ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ¾î·Á¿ò °£´ÜÇÑ À¥ ½ºÆÄÀÌ´õ ¸¸µé±â Äݹé Çï 3.2 ÀÏ¹Ý JavaScriptÀÇ »ç¿ë ÄÝ¹é ±ÔÄ¢ ÄÝ¹é ±ÔÄ¢ Àû¿ë ¼øÂ÷ ½ÇÇà º´·Ä ½ÇÇà Á¦ÇÑµÈ º´·Ä ½ÇÇà 3.3 ºñµ¿±â ¶óÀ̺귯¸® ¼øÂ÷ ½ÇÇà º´·Ä ½ÇÇà Á¦ÇÑµÈ º´·Ä ½ÇÇà 4Àå. ES2015 ÀÌÈÄ ºñµ¿±â½Ä ÇÁ·Î±×·¥ÀÇ Á¦¾î È帧 ÆÐÅÏ 4.1 ÇÁ¶ó¹Ì½º(Promise) ÇÁ¶ó¹Ì½º¶õ ¹«¾ùÀΰ¡? Promises/A+ ±¸Çö Node.js ½ºÅ¸ÀÏ ÇÔ¼ö ÇÁ¶ó¹Ì½ºÈ­Çϱ⠼øÂ÷ ½ÇÇà º´·Ä ½ÇÇà Á¦ÇÑµÈ º´·Ä ½ÇÇà °ø°³ API·Î Äݹé°ú ÇÁ¶ó¹Ì½º ³ëÃâÇϱâ 4.2 Á¦³Ê·¹ÀÌÅÍ(Generator) Á¦³Ê·¹ÀÌÅÍÀÇ ±âº» Á¦³Ê·¹ÀÌÅ͸¦ »ç¿ëÇÑ ºñµ¿±â Á¦¾î È帧 ¼øÂ÷ ½ÇÇà º´·Ä ½ÇÇà Á¦ÇÑµÈ º´·Ä ½ÇÇà 4.3 BabelÀ» »ç¿ëÇÑ ºñµ¿±â await BabelÀÇ ¼³Ä¡ ¹× ½ÇÇà 4.4 ºñ±³ 5Àå. ½ºÆ®¸² ÄÚµù 5.1 ½ºÆ®¸²ÀÇ Á߿伺 ¹öÆÛ¸µ ´ë ½ºÆ®¸®¹Ö °ø°£ È¿À²¼º ½Ã°£ È¿À²¼º °áÇÕ¼º 5.2 ½ºÆ®¸² ½ÃÀÛÇϱ⠽ºÆ®¸²ÀÇ ±¸Á¶ Readable ½ºÆ®¸² Writable ½ºÆ®¸² ¾ç¹æÇâ(Duplex) ½ºÆ®¸² Transform ½ºÆ®¸² Transform ½ºÆ®¸² ±¸Çö 5.3 ½ºÆ®¸²À» »ç¿ëÇÑ ºñµ¿±â Á¦¾î È帧 ¼øÂ÷ ½ÇÇà ºñ¼øÂ÷ º´·Ä ½ÇÇà Á¦ÇÑµÈ ºñ¼øÂ÷ º´·Ä ½ÇÇà 5.4 ÆÄÀÌÇÁ ÆÐÅÏ ½ºÆ®¸² °áÇÕÇϱ⠽ºÆ®¸² Æ÷Å©(Fork)Çϱ⠽ºÆ®¸² º´ÇÕ(merge)ÇÏ±â ¸ÖÆ¼Ç÷º½Ì°ú µð¸ÖƼÇ÷º½Ì 6Àå. µðÀÚÀÎ ÆÐÅÏ 6.1 ÆÑÅ丮(Factory) °´Ã¼¸¦ »ý¼ºÇϱâ À§ÇÑ Á¦³Ê¸¯ ÀÎÅÍÆäÀ̽º ĸ½¶È­¸¦ °­Á¦Çϱâ À§ÇÑ ¸ÞÄ¿´ÏÁò °£´ÜÇÑ ÄÚµå ÇÁ·ÎÆÄÀÏ·¯ ÀÛ¼ºÇϱâ ÇÕ¼º °¡´ÉÇÑ ÆÑÅ丮 ÇÔ¼ö ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.2 °ø°³ »ý¼ºÀÚ(Revealing constructor) Àбâ Àü¿ë À̺¥Æ® À̹ÌÅÍ ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.3 ÇÁ·Ï½Ã(Proxy) ÇÁ·Ï½Ã ±¸Çö ±â¼ú ´Ù¸¥ ±â¼úÀÇ ºñ±³ Writable ½ºÆ®¸² ·Î±× ÀÛ¼º »ýŰ迡¼­ÀÇ ÇÁ·Ï½Ã - ÇÔ¼ö ÈÄÅ© ¹× AOP ES2015 Proxy ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.4 µ¥ÄÚ·¹ÀÌÅÍ(Decorator) µ¥ÄÚ·¹ÀÌÅÍ ±¸Çö ±â¹ý LevelUP µ¥ÀÌÅͺ£À̽º Àå½ÄÇϱâ 6.5 ¾î´ðÅÍ(Adapter) ÆÄÀÏ ½Ã½ºÅÛ API¸¦ ÅëÇÑ LevelUP »ç¿ë ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.6 Àü·«(Strategy) ´ÙÁß Çü½ÄÀÇ È¯°æ¼³Á¤ °´Ã¼ ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.7 »óÅÂ(State) ±âº»ÀûÀÎ fail-safe-socket ±¸ÇöÇϱâ 6.8 ÅÛÇø´(Template) ȯ°æ¼³Á¤ °ü¸®ÀÚ ÅÛÇø´ ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 6.9 ¹Ìµé¿þ¾î(Middleware) ¹Ìµé¿þ¾î·Î¼­ÀÇ Express ÆÐÅÏÀ¸·Î¼­ÀÇ ¹Ìµé¿þ¾î ¨ªMQ¿ë ¹Ìµé¿þ¾î ÇÁ·¹ÀÓ¿öÅ© ¸¸µé±â Koa¿¡¼­ Á¦³Ê·¹ÀÌÅ͸¦ »ç¿ëÇÑ ¹Ìµé¿þ¾î 6.10 Ä¿¸Çµå(Command) À¯¿¬ÇÑ ÆÐÅÏ º¸´Ù º¹ÀâÇÑ ¸í·É 7Àå. ¸ðµâ ¿¬°á 7.1 ¸ðµâ°ú ÀÇÁ¸¼º Node.jsÀÇ °¡Àå ÀϹÝÀûÀÎ Á¾¼Ó¼º ÀÀÁý·Â°ú °áÇÕ·Â »óÅ ÀúÀå ¸ðµâ 7.2 ¸ðµâ ¿¬°á ÆÐÅÏ ÇϵåÄÚµåµÈ Á¾¼Ó¼º ÀÇÁ¸¼º ÁÖÀÔ ¼­ºñ½º ·ÎÄÉÀÌÅÍ ÀÇÁ¸¼º ÁÖÀÔ ÄÁÅ×ÀÌ³Ê 7.3 ¿¬°á(Wiring)À» À§ÇÑ Ç÷¯±×ÀÎ ÆÐŰÁö·Î¼­ÀÇ Ç÷¯±×ÀÎ È®Àå Æ÷ÀÎÆ® Ç÷¯±×ÀÎ Á¦¾î¿Í ¾îÇø®ÄÉÀÌ¼Ç Á¦¾î È®Àå ·Î±×¾Æ¿ô Ç÷¯±×ÀÎ ±¸ÇöÇϱâ 8Àå. À¥ ¾îÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¹ü¿ë JavaScript 8.1 ºê¶ó¿ìÀú¿Í ÄÚµå °øÀ¯Çϱ⠸ðµâ °øÀ¯ ES2015 ¸ðµâ 8.2 Webpack ¼Ò°³ WebpackÀÇ ¸¶·Â ޱ¸ Webpack »ç¿ëÀÇ ÀÌÁ¡ Webpack°ú ÇÔ²² ES2015 »ç¿ëÇϱâ 8.3 Å©·Î½º Ç÷§Æû °³¹ßÀÇ ±âº» ·±Å¸ÀÓ ÄÚµå ºÐ±â ºôµå ŸÀÓ ÄÚµå ºÐ±â ¸ðµâ ±³È¯ Å©·Î½º Ç÷§Æû °³¹ßÀ» À§ÇÑ µðÀÚÀÎ ÆÐÅÏ 8.4 ¸®¾×Æ®(React) ¼Ò°³ ù ¹øÂ° React ÄÄÆ÷³ÍÆ® JSX°¡ ¹¹Áö?! JSX º¯È¯À» À§ÇÑ Webpack ¼³Á¤ ºê¶ó¿ìÀú¿¡¼­ ·»´õ¸µÇϱâ React Router ¶óÀ̺귯¸® 8.5 ¹ü¿ë JavaScript ¾Û ¸¸µé±â Àç»ç¿ë °¡´ÉÇÑ ÄÄÆ÷³ÍÆ® ¸¸µé±â ¼­¹ö Ãø ·»´õ¸µ ¹ü¿ë ·»´õ¸µ ¹× ¶ó¿ìÆÃ ¹ü¿ë µ¥ÀÌÅÍ Á¶È¸ 9Àå. °í±Þ ºñµ¿±â ·¹½ÃÇÇ 9.1 ºñµ¿±âÀûÀ¸·Î ÃʱâÈ­µÇ´Â require ¼öÇà ¸ðµâ ÀüÅëÀûÀÎ ¼Ö·ç¼Ç ¹Ì¸® ÃʱâÈ­µÈ Å¥ ½ÇÀü¿¡¼­´Â ¾î¶»°Ô »ç¿ëµÇ´Â°¡ 9.2 ºñµ¿±â ¹èÄ¡(Àϰý ó¸®) ¹× ij½Ì ij½Ì ¶Ç´Â Àϰý 󸮰¡ ¾ø´Â ¼­¹ö ±¸Çö ºñµ¿±â ¿äû Àϰý ó¸® ºñµ¿±â ¿äû ij½Ì ÇÁ¶ó¹Ì½º¸¦ »ç¿ëÇÑ Àϰýó¸®¿Í ij½Ì 9.3 CPU ¹Ù¿îµù ÀÛ¾÷ ½ÇÇà ºÎºÐ ÁýÇÕÀÇ ÇÕ ¹®Á¦ ÇØ°á setImmediate¸¦ »ç¿ëÇÑ ÀÎÅ͸®ºù ¸ÖƼ ÇÁ·Î¼¼½º »ç¿ë 10Àå. È®À强°ú ±¸Á¶Àû ÆÐÅÏ 10.1 ¾îÇø®ÄÉÀÌ¼Ç È®Àå¿¡ ´ëÇÑ ¼Ò°³ Node.js ÀÀ¿ë ÇÁ·Î±×·¥ È®Àå È®À强ÀÇ ¼¼ °¡Áö Â÷¿ø 10.2 º¹Á¦ ¹× ·Îµå ¹ë·±½Ì Ŭ·¯½ºÅÍ ¸ðµâ »óÅ ÀúÀå Åë½Å ´Ù·ç±â ¿ª¹æÇâ ÇÁ·Ï½Ã¸¦ »ç¿ëÇÏ¿© È®Àå ¼­ºñ½º ·¹Áö½ºÆ®¸® »ç¿ë ÇǾî-Åõ-ÇÇ¾î ·Îµå ¹ë·±½Ì 10.3 º¹ÀâÇÑ ¾îÇø®ÄÉÀÌ¼Ç ºÐÇØ ´ÜÀÏ(Monolitic) ¾ÆÅ°ÅØÃ³ ¸¶ÀÌÅ©·Î ¼­ºñ½º ¾ÆÅ°ÅØÃ³ ¸¶ÀÌÅ©·Î ¼­ºñ½º ¾ÆÅ°ÅØÃ³ÀÇ ÅëÇÕ ÆÐÅÏ 11Àå. ¸Þ½Ã¡°ú ÅëÇÕ ÆÐÅÏ 11.1 ¸Þ½Ã¡ ½Ã½ºÅÛÀÇ ±âº» »çÇ× ´Ü¹æÇâ ¹× ¿äû/ÀÀ´ä ÅÏ ¸Þ½ÃÁö À¯Çü ºñµ¿±â ¸Þ½Ã¡ ¹× Å¥ ÇǾî Åõ ÇÇ¾î ¶Ç´Â ºê·ÎÄ¿ ±â¹Ý ¸Þ½Ã¡ 11.2 °Ô½Ã/±¸µ¶ ÆÐÅÏ °£´ÜÇÑ ½Ç½Ã°£ äÆÃ ¾îÇø®ÄÉÀÌ¼Ç ¸¸µé±â ¸Þ½ÃÁö ºê·ÎÄ¿·Î Redis »ç¿ëÇϱ⠨ªMQ¸¦ »ç¿ëÇÑ ÇǾî Åõ ÇÇ¾î °Ô½Ã/±¸µ¶ ¿µ±¸ ±¸µ¶ÀÚ 11.3 ÆÄÀÌÇÁ ¶óÀÎ ¹× ÀÛ¾÷ ¹èÆ÷ ÆÐÅÏ ¨ªMQ ÆÒ¾Æ¿ô/ÆÒÀÎ ÆÐÅÏ AMQPÀÇ ÆÄÀÌÇÁ¶óÀΰú °æÀï ¼ÒºñÀÚ 11.4 ¿äû(request)/ÀÀ´ä(reply) ÆÐÅÏ »ó°ü °ü°è ½Äº°ÀÚ ¹Ý¼Û ÁÖ¼Ò

Ã¥¼ÓÀ¸·Î

1Àå. Node.js Ç÷§Æû¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.
Node.js Ç÷§ÆûÀÇ ÇÙ½É ÆÐÅÏÀ» º¸¿©ÁÜÀ¸·Î½á Node.js ¾îÇø®ÄÉÀÌ¼Ç µðÀÚÀÎÀÇ ¼¼»óÀ¸·Î ¾È³»ÇÕ´Ï´Ù. Node.js »ýŰè¿Í öÇÐ, »õ·Î¿î ±â´É°ú ¸®¾×ÅÍ ÆÐÅÏ¿¡ ´ëÇÑ °£´ÜÇÑ ¼Ò°³¸¦ ´Ù·ç°í ÀÖ½À´Ï´Ù.

2Àå. Node.jsÀÇ Çʼö ÆÐÅÏ
Node.js¸¦ »ç¿ëÇÑ ºñµ¿±â ÄÚµù°ú ¼³°è ÆÐÅÏÀÇ Ã¹ ´Ü°è·Î Äݹé°ú À̺¥Æ® À̹ÌÅÍ(¿ÉÀú¹ö ÆÐÅÏ)¿¡ ´ëÇØ ³íÀÇÇÏ°í ºñ±³ÇÕ´Ï´Ù. ¶ÇÇÑ Node.js ¸ðµâ ½Ã½ºÅÛ°ú °ü·Ã ÆÐÅϵéÀ» ¼Ò°³ÇÕ´Ï´Ù.

3Àå. ÄݹéÀ» »ç¿ëÇÑ ºñµ¿±â Á¦¾î È帧 ÆÐÅÏ
Node.js¿¡¼­ È¿°úÀûÀÎ ºñµ¿±â Á¦¾î È帧 󸮸¦ À§ÇÑ ÀÏ·ÃÀÇ ÆÐÅϰú ±â¼úÀ» ¼Ò°³ÇÕ´Ï´Ù. Æò¹üÇÑ JavaScript¿Í Async ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ¿© ¡°Äݹé Áö¿Á¡± ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ½À´Ï´Ù.

4Àå. ES2015 ÀÌÈÄ ºñµ¿±â½Ä ÇÁ·Î±×·¥ÀÇ Á¦¾î È帧 ÆÐÅÏ
ES2015¿Í Promises, Generators ¹× Async-Await¸¦ ¼Ò°³Çϸ鼭 ºñµ¿±â Á¦¾î È帧¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.

5Àå. ½ºÆ®¸² ÄÚµù
Node.jsÀÇ °¡Àå Áß¿äÇÑ ÆÐÅÏ Áß ÇϳªÀÎ ½ºÆ®¸²(Stream)¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆìº¾´Ï´Ù. ½ºÆ®¸² º¯È¯À» ÅëÇÑ µ¥ÀÌÅÍ Ã³¸®¿Í À̵éÀ» ´Ù¸¥ ÇüÅ·ΠÁ¶ÇÕÇÏ´Â ¹æ¹ýÀ» ¼Ò°³ÇÕ´Ï´Ù.

6Àå. µðÀÚÀÎ ÆÐÅÏ
Node.js¿¡¼­ ÀüÅëÀûÀÎ µðÀÚÀÎ ÆÐÅÏÀ̶ó´Â ³í¶õÀÇ ÁÖÁ¦¸¦ ´Ù·ç°Ô µË´Ï´Ù. °¡Àå ¸¹ÀÌ ¾²´Â ±âÁ¸ÀÇ µðÀÚÀÎ ÆÐÅÏÀ» ¼³¸íÇϰí Node.js¿¡¼­ º¼ ¼ö ÀÖ´Â ºñÀüÇüÀûÀÎ ¹æ½ÄÀ» ¼Ò°³ÇÕ´Ï´Ù. ¶ÇÇÑ JavaScript°ú Node.js¿¡¸¸ ÇØ´çÇÏ´Â »õ·Î¿î µðÀÚÀÎ ÆÐÅÏÀ» ¼Ò°³ÇÕ´Ï´Ù.

7Àå. ¸ðµâ ¿¬°á
¾îÇø®ÄÉÀÌ¼Ç ¸ðµâµéÀ» ¿¬°áÇÏ´Â ´Ù¾çÇÑ ¼Ö·ç¼ÇÀ» ºÐ¼®ÇÕ´Ï´Ù. Á¾¼Ó¼º »ðÀÔ(Dependency Injection) ¹× ¼­ºñ½º ·ÎÄÉÀÌÅÍ(Service locator) °°Àº µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇØ ¹è¿ó´Ï´Ù.

8Àå. À¥ ¾îÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ¹ü¿ë JavaScript
ÃֽŠJavaScript À¥ ¾îÇø®ÄÉÀ̼ÇÀÇ °¡Àå Èï¹Ì·Î¿î ±â´É Áß ÇϳªÀÎ ÇÁ·ÐÆ®¿£µå¿Í ¹é¿£µå °£ ¾îÇø®ÄÉÀÌ¼Ç Äڵ带 °øÀ¯ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» »ìÆìº¾´Ï´Ù. React, Webpack ¹× BabelÀ» »ç¿ëÇÑ °£´ÜÇÑ À¥ ¾îÇø®ÄÉÀÌ¼Ç Á¦ÀÛÀ» ÅëÇØ ¹ü¿ë JavaScriptÀÇ ±âº» ¿øÄ¢À» ¹è¿ó´Ï´Ù.

9Àå. °í±Þ ºñµ¿±â ·¹½ÃÇÇ
Áï½Ã »ç¿ë °¡´ÉÇÑ ¼Ö·ç¼ÇÀ¸·Î ÀϹÝÀûÀÎ ÄÚµù ¹× µðÀÚÀÎ ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.

10Àå. È®À强°ú ±¸Á¶Àû ÆÐÅÏ
Node.js ¾îÇø®ÄÉÀ̼ÇÀ» È®ÀåÇϱâ À§ÇÑ ±âº» ±â¼ú°ú ÆÐÅÏ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.

11Àå. ¸Þ½Ã¡°ú ÅëÇÕ ÆÐÅÏ
¨ªMQ¿Í AMQP¸¦ »ç¿ëÇÏ¿© ¾î¶»°Ô º¹ÀâÇÑ ºÐ»ê½Ã½ºÅÛÀ» ¸¸µé°í ÅëÇÕÇϴ°¡¸¦ ¼³¸íÇÔÀ¸·Î½á Áß¿äÇÑ ¸Þ½ÃÁö ÆÐÅÏÀ» º¸¿©ÁÝ´Ï´Ù.
±¸¸ÅÈıâ
ÀÌ »óǰ¿¡ ´ëÇÑ ±¸¸ÅÈıâ´Â ±¸¸ÅÇϽŠºÐ¿¡ ÇÑÇØ 'ÁÖ¹®/¹è¼ÛÁ¶È¸'¿¡¼­ ÀÛ¼ºÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
ÀÛ¼ºµÈ ±¸¸ÅÈıⰡ ¾ø½À´Ï´Ù.
ù ¹øÂ° ÈıâÀÇ ÁÖÀΰøÀÌ µÇ¾îº¸¼¼¿ä!
    »óǰQ&A
    »óǰ¿¡ °üÇØ ±Ã±ÝÇÑ »çÇ×À» ¹°¾îº¸¼¼¿ä!
    ±Û¾²±â
    ±Û¾²±â
    µî·ÏµÈ ¹®Àǰ¡ ¾ø½À´Ï´Ù.
    ±Ã±ÝÇÑ Á¡ÀÌ ÀÖ´Ù¸é ¾ðÁ¦µç ¹°¾îº¸¼¼¿ä!
      ¹è¼Û/±³È¯/ȯºÒ ¾È³»
      ¹è¼Û¾È³»
      - ÁÖ¹®±Ý¾×ÀÌ 15,000¿ø ÀÌ»óÀÎ °æ¿ì ¹«·á¹è¼Û, 15,000 ¹Ì¸¸ÀÎ °æ¿ì ¹è¼Ûºñ 2,500¿øÀÌ ºÎ°úµË´Ï´Ù. (´Ü, ¹«·á¹è¼Û »óǰÀÇ °æ¿ì Á¦¿Ü)
      - ÁÖ¹® ÈÄ ¹è¼ÛÁö¿ª¿¡ µû¶ó ±¹³» ÀϹÝÁö¿ªÀº ±Ù¹«ÀÏ(¿ù-±Ý) ±âÁØ 1Àϳ» Ãâ°íµÊÀ» ¿øÄ¢À¸·Î Çϳª, ±â»ó»óȲ µîÀÇ ÀÌÀ¯·Î Áö¿¬µÉ ¼öµµ ÀÖ½À´Ï´Ù. (´Ü, ÀÏ¿äÀÏ ¹× °øÈÞÀÏ¿¡´Â ¹è¼ÛµÇÁö ¾Ê½À´Ï´Ù.)
      - µµ¼­ »ê°£ Áö¿ª ¹× Á¦ÁÖµµÀÇ °æ¿ì´Â Ç×°ø/µµ¼± Ãß°¡¿îÀÓÀÌ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
      - ÇØ¿ÜÁö¿ªÀ¸·Î´Â ¹è¼ÛµÇÁö ¾Ê½À´Ï´Ù.
      ±³È¯/ȯºÒ ¾È³»
      - »óǰÀÇ Æ¯¼º¿¡ µû¸¥ ±¸Ã¼ÀûÀÎ ±³È¯ ¹× ȯºÒ±âÁØÀº °¢ »óǰÀÇ '»ó¼¼Á¤º¸'¸¦ È®ÀÎÇϽñ⠹ٶø´Ï´Ù.
      - ±³È¯ ¹× ȯºÒ½ÅûÀº °¡°Ô ¿¬¶ôó·Î ÀüÈ­ ¶Ç´Â À̸ÞÀÏ·Î ¿¬¶ôÁֽøé ÃÖ¼±À» ´ÙÇØ ½Å¼ÓÈ÷ ó¸®ÇØ µå¸®°Ú½À´Ï´Ù.

      ±³È¯ ¹× ȯºÒ °¡´É »óǰ¿¡
      ¹®Á¦°¡ ÀÖÀ» °æ¿ì
      1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì
      - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû
      - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû
      2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù.
      ´Ü¼øº¯½É ¹×
      ÁÖ¹®Âø¿ÀÀÇ °æ¿ì
      1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ
      ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù.
      2) È­Àåǰ
      ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼­ ¹× ¼Ò°ß¼­¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç È­Àåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼­ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù.
      3) ±âŸ »óǰ
      ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã
      4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù.
      ±³È¯ ¹× ȯºÒ ºÒ°¡ 1) ½Åû±âÇÑÀÌ Áö³­ °æ¿ì
      2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì
      3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì
      4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
      5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼­¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì
      6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì
      7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì
      8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì