ÀÎÅͳÝÀÌ ¿¬°áµÇÁö ¾ÊÀº °÷ÀÌ ¾ø°í ¼¼»ó ¸ðµç °ÍÀÌ ´Ù À¥¿¡¼ µ¹¾Æ°¡°í ÀÖ´Ù. ¿ÀÇǽº
ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏÁö ¾Ê¾Æµµ ºê¶ó¿ìÀú·Î ±¸±Û µ¶½º¿¡ Á¢¼ÓÇÏ¿© ¹®¼¸¦ ÀÛ¼ºÇÏ°í º¼ ¼ö ÀÖ°í Çϵð µð½ºÅ©°¡ ¾ø¾îµµ Ŭ¶ó¿ìµå¿¡ ³» Á¤º¸¸¦ ¸¶À½²¯ ÀúÀåÇÒ
¼ö ÀÖ´Ù.
´º½º³ª ¿µÈµµ ³×Æ®¿öÅ©¸¦ ÅëÇØ ¾ðÁ¦µçÁö º¼ ¼ö ÀÖÀ¸¸ç ÀºÇà¿¡µµ °¥ ÇÊ¿ä ¾ø°í ¼îÇεµ ÄÄÇ»ÅÍ·Î Áñ±ä´Ù. ÀÌ ¸ðµç ÇýÅÃÀ» ¼Õ¹Ù´Ú À§ÀÇ ½º¸¶Æ®ÆùÀ¸·Î ¾ðÁ¦ ¾îµð¼³ª ´©¸± ¼ö ÀÖ´Ù. ½ÉÁö¾î
°Å´ëÇÑ °ÔÀÓµµ ¼³Ä¡ÇÒ ÇÊ¿ä¾øÀÌ À¥¿¡¼ Ç÷¹ÀÌÇÒ ¼ö ÀÖ´Ù.

¼¼»óÀÌ ÀÌ·¸°Ô ¹Ù²î´Ù º¸´Ï ¸ðµç ¼ÒÇÁÆ®¿þ¾î´Â À¥À¸·Î ÀüȯµÇ°í ÀÖÀ¸¸ç ¾ÕÀ¸·Î´Â ´õÇÒ °ÍÀÌ´Ù. C/C++ °³¹ßÀÚ´Â 70³â´ë ÄÚº¼ °³¹ßÀÚ¿Í ºñ½ÁÇÑ Ã³Áö°¡ µÇ¾î ¹ö·È°í
»õ·Î ¹è¿ì´Â ÀþÀº ¼¼´ë´Â À¥ °³¹ß·Î ÀÔ¹®ÇÏ´Â°Ô º¸ÅëÀÌ´Ù.
À¥ °ü·Ã ±â¼úÀÇ ³À̵µ´Â ³ôÁö ¾Ê¾Æµµ ¾Ë¾Æ¾ß ÇÒ ±â¼úÀÌ ³Ê¹« ¸¹¾ÆÁ® ¿ÀÈ÷·Á ´õ º¹ÀâÇØÁ³°í °áÄÚ ¸¸¸¸Ä¡ ¾Ê´Ù. µü Çϳª¸¸ ±íÀÌÀÖ°Ô ¹è¿ö¼´Â ¾ÈµÇ¸é ÀÚÀßÇÏ°Ô ¹è¿ö¾ß ÇÒ °ú¸ñ°ú ±â¼úÀÌ ¸¹´Ù.
À¥ ±â¼úÀÌ ¾î·Á¿î ±Ã±ØÀûÀÎ ÀÌÀ¯´Â °ú´ÙÇÑ ´Ù¾ç¼ºÀÌ´Ù.
¢º °°Àº ¸ñÀûÀÇ ±â¼úÀÌ ³Ê¹« ¸¹°í Àý´ë °ÀÚ°¡ ¾ø´Ù. À¥ ÇÁ·¹ÀÓ¿öÅ©¸¸ ÇØµµ ¾Þ±Ö·¯, ¸®¾×Æ®, ºä°¡ °æÀïÁßÀÌ¸ç ±â¾÷¸¶´Ù ¼±È£ÇÏ´Â ±â¼úÀÌ ´Þ¶ó ¾î¿ ¼ö ¾øÀÌ ´Ù ¹è¿ö¾ß ÇÑ´Ù.
¢º º¯ÈÀÇ ¼Óµµ°¡ ³Ê¹« ºü¸£´Ù. Á÷¼±ÀûÀ¸·Î
°³¼±µÇ´Â°Ô ¾Æ´Ï¶ó Áö±×Àç±× ½ÄÀ¸·Î °¥ÆÎÁúÆÎÇÏ¸ç ³ª¾Æ°£´Ù. °ÅÀÇ ¸ÅÀÏ ¹Ù²î¸ç ÈĹæ ȣȯ¼ºÀº °³³ª Áà ¹ö¸®¶ó´Â
½ÄÀ̶ó ¾Ö½á ¹è¿ö ºÁ¾ß ¾µ¸ð¾ø´Â ±â¼úµµ ¸¹´Ù.
¢º Âü¿©ÀÚ°¡ ³Ê¹« ¸¹°í ¿À¸¸°¡Áö ±â¼úÀ» µé°í ³ª¿Í ÃÖ°í¶ó°í ±¤°íÇØ ´ë´Ï
°¥ÇǸ¦ Àâ±â ¾î·Æ´Ù. ±×·¸´Ù°í ¹«½ÃÇÒ ¼öµµ ¾ø°í 2% ¼º´É
Çâ»óÀ» À§ÇØ ¿ÏÀüÈ÷ ´Ù½Ã ¹è¿ö ºÃÀÚ ¼Ò¸®¼Ò¹®¾øÀÌ »ç¶óÁ® ¹ö¸®´Â °Íµµ ¸¹´Ù.
¢º °³¹ß ¹× ½ÇÇà ȯ°æÀÌ °¡º¯ÀûÀ̶ó ÃÖÀûÀÇ ±ÃÇÕÀ» ¸ÂÃß±â ¾î·Æ´Ù. ºê¶ó¿ìÀú³ª Àåºñ°¡ õÂ÷¸¸º°À̶ó ¹ü¿ë¼ºÀ» È®º¸ÇÏ±â ¾î·Æ´Ù. ¿©±â¼
Àß µÇ´Â°Ô Àú±â¼´Â ¾ÈµÇ°í Áö±Ý µÇ´Â°Ô ³»³â¿¡µµ Àߵȴٴ º¸ÀåÀÌ ¾ø´Ù.
À¥ °³¹ßÀº ´ëºÎºÐ ¿ÀÇ ¼Ò½º ±â¹ÝÀÌ´Ù. Áß¾ÓÀÇ °·ÂÇÑ ÅëÁ¦ÀÚ°¡ ¾ø¾î
ÀÚÀ¯·Ó°Ô ¾÷±×·¹À̵åÇÏ´Ù º¸´Ï ´Ù¾çÇØÁú ¼ö¹Û¿¡ ¾ø´Ù. ³Ê¹« ÀÚÀ¯ºÐ¹æÇØ °ÅÀÇ ÁöÀúºÐÇÑ ¼öÁØÀÌ´Ù. ±×³ª¸¶ ±¹Á¦ÀûÀΠǥÁØ ÀçÁ¤À¸·Î ¾î´À Á¤µµÀÇ ¹æÇ⼺Àº À¯ÁöÇϰí ÀÖ¾î ´ÙÇàÀÌ´Ù.
ÀÌ·± »óȲÀÌ´Ù º¸´Ï ¾î¿ µµ¸® ¾øÀÌ ¼ø¼´ë·Î Çϳª¾¿ ¹è¿ì°í ²÷ÀÓ¾øÀÌ µû¶ó°¡¾ß ÇÑ´Ù. ½Ã°£°ú ü·ÂÀÌ ¸¹ÀÌ °É¸± ¼ö¹Û¿¡ ¾ø°í ´Ü±â°£ÀÇ º¶ôÄ¡±â·Î´Â µû¶óÀâÀ» ¼ö ¾ø´Ù.
´ÙÇàÈ÷ ´Ù ºñ½Á ºñ½ÁÀº ÇØ¼ ÇÑ °ú¸ñÀ» Àß ÀÍÇô ưưÇÑ ±âÃʸ¦ ´ÙÁ® µÎ¸é ´ÙÀ½ °øºÎ´Â ÈξÀ ¼ö¿ùÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.
À¥Àº Ŭ¶óÀ̾ðÆ®/¼¹ö ±¸Á¶À̸ç Ŭ¶óÀÌ¾ðÆ®°¡ ¿äûÀ» º¸³»¸é ¼¹ö°¡ ÀÀ´äÇÏ´Â
¹æ½ÄÀ¸·Î µ¿ÀÛÇÑ´Ù. ºê¶ó¿ìÀú¿¡¼ ³×À̹ö¸¦ ¿°í °Ë»ö½ÄÀ» ÀÔ·ÂÇÏ¿© ¿äûÇÏ¸é ³×À̹ö ¼¹ö°¡ °Ë»ö °á°ú¸¦
ã¾Æ ÀÀ´äÇÏ´Â ½ÄÀÌ´Ù.

ÀÌ ½Ã½ºÅÛÀÌ µ¿ÀÛÇÏ·Á¸é Ŭ¶óÀÌ¾ðÆ®¿Í ¼¹ö°¡ ´Ù ±¸ºñµÇ¾î ÀÖ¾î¾ß ÇÏ¸ç ³×Æ®¿öÅ©·Î ¿¬°áµÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. »ç¿ëÀÚÂÊÀ» ¾Õ´Ü(front end)¶ó°í ÇÏ¸ç ¼¹öÂÊÀ» µÞ´Ü(back end)¶ó°í ÇÑ´Ù. ÇϳªÀÇ ¾ÛÀ» ¿Ï¼ºÇÏ·Á¸é ¾çÂÊ ´Ù °³¹ßÇØ¾ß
ÇÑ´Ù.
ÀÌ Ã¥ÀÇ ÁÖÁ¦ÀÎ ¸®¾×Æ®´Â ÇÁ·ÐÆ®, Áï ¾Õ´ÜÀÇ È¸éÀ» ±¸ÇöÇÏ´Â ±â¼úÀÌ´Ù. ºê¶ó¿ìÀú¿¡ Á¤º¸¸¦ Ç¥½ÃÇÏ°í ¿¹»Ú°Ô ´Ùµë°í »ç¿ëÀÚ¿Í »óÈ£ÀÛ¿ë±îÁö ÇÏ·Á¸é °¢ ¿µ¿ªÀ» ´ã´çÇÏ´Â ±â¼úÀ» Á¶ÇÕÇØ¾ß ÇÑ´Ù. ¿©·¯ °¡Áö ±â¼úÀÌ »ç¿ëµÇÁö¸¸ ´ÙÀ½ ¼¼ °¡Áö°¡ ±âº»ÀÌ´Ù.
¢ºHTML : º¸¿©ÁÙ ³»¿ëÀ»
ÀÛ¼ºÇÑ´Ù. ÅÂ±×¿Í ¹®ÀÚ¿·Î ±¸¼ºµÇ¸ç ¾îµð¿¡ ¾î¶² ³»¿ëÀ» º¸ÀÏ °ÍÀÎÁö Á¤ÀÇÇÏ´Â ¹®¼ÀÌ´Ù. ±¸Á¶°¡ °£´ÜÇØ ¹è¿ì±â ½±°í Á÷°üÀûÀÌ´Ù.
¢ºCSS : ÆäÀÌÁöÀÇ ¸ð¾çÀ»
Á¤ÀÇÇÑ´Ù. È¸é ¿ä¼Ò¸¦ ¹èÄ¡ÇÏ´Â ¹æ¹ý°ú »ö»ó, ¸ð¾çÀ» ÁöÁ¤ÇÑ´Ù. ´Ü¼øÇÏÁö¸¸ ¾çÀÌ ¸¹¾Æ ´Ù ¾Ë±â´Â ¾î·Æ°í ·¹ÆÛ·±½º¸¦ ã¾Æº¼ Áغñ¸¸ ÇØ µÎ¸é ÃæºÐÇÏ´Ù.
¢ºÀÚ¹Ù ½ºÅ©¸³Æ® : ¹öư Ŭ¸¯À̳ª
ÆäÀÌÁö À̵¿½ÃÀÇ µ¿ÀÛÀ» Á¤ÀÇÇÏ¿© »ç¿ëÀÚ¿Í »óÈ£ÀÛ¿ëÇÑ´Ù. ¹®¹ý ÀÚü´Â °£´ÜÇÏÁö¸¸ ³ôÀº ¼÷·Ãµµ¸¦ ¿ä±¸ÇÑ´Ù.
ÀÌ ¼ÂÀº À¥ °³¹ßÀÇ ±âº»À̸ç Àü°ø ÇʼöÀÌ´Ù. À¥ °³¹ß ÇÁ·¹ÀÓ¿öÅ©´Â
¸ðµÎ ÀÌ ¼¼ ±â¼ú À§¿¡¼ µ¿ÀÛÇϸç ÇÇÇÒ ¼ö ¾ø´Ù. ¸®¾×Æ®¸¦ °øºÎÇϱâ·Î Çß´Ù¸é ÀÌ¹Ì ´Ù ¾Ë°í ÀÖÀ» °ÍÀ̸ç
±×·¸Áö ¾Ê´Ù¸é ÇнÀÀÇ ¼ø¼¸¦ À߸ø Á¤ÇÑ °ÍÀÌ´Ù.
¿ÏÀüÈ÷ ´Ù ¾Ë ÇÊ¿ä´Â ¾ø´õ¶óµµ °³³äÀº ÆÄ¾ÇÇÏ°í ¸ð¸£¸é ã¾Æº¼ Á¤µµ±îÁö´Â ÁغñÇØ µÎ¾î¾ß ÇÑ´Ù. ¸®¾×Æ® ÀÚüµµ ¾î·Á¿îµ¥ ¾ÕºÎºÐÀ» ã¾Æ°¡¸ç °°ÀÌ °øºÎÇÏ´Â °Ç ºñÈ¿À²ÀûÀÌ´Ù. ¹ÌºÐ, ÀûºÐÀ» ±¸±¸´Ü°ú ÇÔ²² °øºÎÇÒ ¼ö´Â ¾ø´Â ³ë¸©ÀÌ´Ù.
ÀÌ ¼¼ °ú¸ñ¸¸ ¾Ë¸é ¸®¾×Æ® °øºÎ¸¦ ÀÏ´Ü ½ÃÀÛÇÒ ¼ö´Â ÀÖ´Ù. ¹°·Ð À̰Ô
´Ù´Â ¾Æ´Ï¾î¼ ½Ç¹«¸¦ ÇÏ·Á¸é ´õ ¸¹Àº °ÍÀ» °øºÎÇØ¾ß ÇÑ´Ù. ¸®¾×Æ®¿Í ÇÔ²² º´ÇàÇÏ¿© °øºÎÇØµµ µÇÁö¸¸ °¢°¢ÀÌ
º°µµÀÇ ÁÖÁ¦À̹ǷΠµû·Î ½Ã°£À» ³»¼ °øºÎÇÏ´Â °ÍÀÌ ÁÁ´Ù.
¢ºµ¥ÀÌÅͺ£À̽º : µ¥ÀÌÅ͸¦ ´Ù·ç·Á¸é
Äõ¸®´Â ÀÛ¼ºÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù. ¾Õ´Ü¸¸ ÀÛ¾÷ÇÑ´Ù¸é ÀÏ´ÜÀº ¸ô¶óµµ µÇÁö¸¸ ÃÖ¼ÒÇÑ °³³äÀº ¾Ë°í ÀÖ¾î¾ß ÇÑ´Ù.
¢ºNode.js : ¼¹öÃø ±â¼úÀ̸ç
¹é´Ü°ú Çù¾÷ÇÏ·Á¸é ¾î´À Á¤µµ´Â ¾Ë¾Æ¾ß ÇÑ´Ù. ¸®¾×Æ®ÀÇ ½ÇÇà ȯ°æÀÌ¾î¼ ÃÖ¼ÒÇÑ ÆÐŰÁö °ü¸®´Â ÇÒ ¼ö ÀÖ¾î¾ß
ÇÑ´Ù.
¢ºÅ¸ÀÔ½ºÅ©¸³Æ® : ´ë±Ô¸ð ÇÁ·ÎÁ§Æ®¸¦
¾ÈÁ¤ÀûÀ¸·Î ¼öÇàÇϱâ À§ÇØ ÇÊ¿äÇϸç Á¡Á¡ ´ëÁßȵǰí ÀÖ¾î ÇʼöÀûÀÌ´Ù.
ÀÌ ¿Ü¿¡ ½¢ÇÏ°Ô ¸¹Àº ¶óÀ̺귯¸®¿Í °³¹ß ȯ°æµµ ÀÍÇô¾ß ÇÑ´Ù. °¥ ±æÀÌ
¸ÖÁö¸¸ ±âÃʰ¡ źźÇÏ¸é ³ª¸ÓÁö´Â ÆÁ ½Àµæ ¼öÁØÀ¸·Î ÀÍÈú ¼ö ÀÖ´Ù. ÀÏ´ÜÀº Àü°ø Çʼö 3°ú¸ñ°ú ¸®¾×Æ®¿¡ Ä¡ÁßÇÏ¿© ½Ç½ÀÇÏÀÚ.
ÃʱâÀÇ À¥Àº º¸¿©ÁÙ ³»¿ë¸¶´Ù ÆäÀÌÁö¸¦ µû·Î ÀÛ¼ºÇß´Ù. ¿äûÀ» º¸³»¸é
°á°ú¸¦ ´ãÀº ÆäÀÌÁö¸¦ ´Ù½Ã º¸³» ÁÖ´Â ½ÄÀÌ´Ù. ¿©·¯ ÆäÀÌÁö·Î ±¸¼ºµÈ ±¸Á¶¸¦ MPA(Multiple Page Application)À̶ó°í ÇÑ´Ù. ¿¹¸¦
µé¾î 1 + 2¸¦ ¿äûÇÏ¿© 3À̶ó´Â °è»ê °á°ú¸¦ ¹Þ´Â´Ù¸é
´ÙÀ½ °úÁ¤À» °ÅÃÄ ½ÇÇàÇÑ´Ù.

¿äûÀ» ¹ÞÀº ¼¹ö´Â °è»ê °á°ú¸¦ result.htmlÀ̶ó´Â º°µµÀÇ
¹®¼·Î ¸¸µé¾î º¸³» ÁÖ¸ç ºê¶ó¿ìÀú´Â ÀÌ ÆäÀÌÁö·Î ÀüȯÇÑ´Ù. µ¶¸³ÀûÀÎ ÆäÀÌÁö¸¦ °¢°¢ µû·Î ¸¸µå´Ï ½±Áö¸¸
ÆäÀÌÁö ÀüȯÀÌ Àæ°í ¸Å¹ø Åë½ÅÀÌ ÀÌ·ç¾îÁö¹Ç·Î ¼Óµµ°¡ ´À¸®´Ù. °Ë»öÀ» ÇÏ¸é °Ë»ö ÆäÀÌÁö°¡ »õ·Î ¿¸®¸ç
ÁÖ¼Òµµ ¹Ù²î´Âµ¥ ÀÌ·± Á¤ÅëÀûÀÎ ¹æ½ÄÀÌ MPAÀÌ´Ù.
ÀÌ¿¡ ºñÇØ ÇϳªÀÇ ÆäÀÌÁö·Î µÈ ±¸Á¶¸¦ SPA(Single Page
Application)¶ó°í ÇÑ´Ù. »õ·Î¿î ÆäÀÌÁö·Î ¹Ù²î´Â°Ô ¾Æ´Ï¶ó °°Àº ÆäÀÌÁö°¡ ÀϺΠ¹Ù²î¸ç
ÁÖ¼Ò´Â ±×´ë·ÎÀÌ´Ù. ¿äûÀ» º¸³»µÇ ¼¹ö´Â °è»ê °á°ú¸¦ À¥ ÆäÀÌÁö°¡ ¾Æ´Ñ XML ¹®¼³ª JSON ¹®ÀÚ¿¿¡ ´ã¾Æ º¸³½´Ù. Ŭ¶óÀÌ¾ðÆ®´Â ÀÌ ¹®¼¸¦ ÇØ¼®ÇÏ¿© ¹Ì¸® Á¤ÇØÁø ¿ä¼Ò¿¡ Ãâ·ÂÇÑ´Ù.

¿äû°ú ÀÀ´äÀÌ ºñµ¿±âÀûÀ¸·Î ¼öÇàµÇ´Âµ¥ ÀÌ°É °¡´ÉÇÏ°Ô ÇÏ´Â ±â¼úÀÌ AJAXÀÌ´Ù. MPA´Â ÀÀ´äÀ» ¹Þ±â Àü¿¡ µ¿±âÀûÀ¸·Î ±â´Ù·Á¾ß Çϴµ¥ ºñÇØ SPA´Â
ºñµ¿±â·Î ¿äû¸¸ º¸³»°í ÀÀ´äÀÌ ¿Ã¶§±îÁö ´Ù¸¥ ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
ÆäÀÌÁö¸¦ ¹Ù²Ù´Â°Ô ¾Æ´Ï¶ó ¹Ì¸® ¹èÄ¡ÇØ ³õÀº ¿ä¼Ò¿¡ °á°ú¸¸ Ãâ·ÂÇÏ¸é µÈ´Ù. ½ÇÇàÁß¿¡
À¥ÆäÀÌÁö¸¦ ¿øÇϴ´ë·Î ÁÖ¹«¸¦ ¼ö ÀÖ´Ù. ¸¶Ä¡ ÀÀ¿ë ÇÁ·Î±×·¥À» ¾²µíÀÌ ÇÑ ÆäÀÌÁö ¾È¿¡¼ ¸ðµç ÀÏÀ» ó¸®ÇÒ
¼ö ÀÖÀ¸¸ç ȸé ÀüȯÀÌ ¾øÀ¸´Ï ±ô¹ÚÀÓµµ ´úÇÏ´Ù.
Á¤º¸¸¦ º¸¿© Áֱ⸸ ÇÏ´Â°Ô ¾Æ´Ï¶ó »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æ µ¿ÀÛÀ» ó¸®Çϱ⠶§¹®¿¡ À¥ ÆäÀÌÁö°¡ ¾Æ´Ñ À¥ ¾ÛÀ̶ó°í
ÇÑ´Ù. ÆäÀÌÁö Çϳª°¡ °ð ÇÁ·Î±×·¥ÀÎ ¼ÀÀÌ´Ù. »ç¿ëÀÚ´Â ¿¢¼¿À̳ª
¿öµå¸¦ ¾²µí À¥ÆäÀÌÁö ¾È¿¡¼ ¿øÇÏ´Â ÀÛ¾÷À» ´Ù ÇÒ ¼ö ÀÖ´Ù.
À¥ ¾ÛÀº »ç¿ëÀÚÀÇ ÀÔ·ÂÀ» ¹Þ¾Æ ó¸®ÇÏ´Â ÇÁ·Î±×·¥À̹ǷΠ¿øÄ¢ÀûÀ¸·Î ÀÚ¹Ù½ºÅ©¸³Æ®·Î ¸ðµç °ÍÀ» ´Ù ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ½ºÅ©¸³Æ®·Î ¸ðµç °ÍÀ» ÄÚµùÇÏ¸é ¾î·Æ±âµµ Çϰí ÀÏÀÏÀÌ Äڵ带 Â¥¾ß ÇÏ´Ï »ý»ê¼ºµµ ¶³¾îÁø´Ù. ÆíÀǼº°ú »ý»ê¼ºÀ» º¸ÀåÇÏ´Â °í¼öÁØÀÇ Å¬¶óÀ̾ðÆ®Ãø ÇÁ·¹ÀÓ¿öÅ©°¡ ¸¹ÀÌ ¹ßÇ¥µÇ¾î Àִµ¥ ´ÙÀ½ 3°¡Áö°¡ ÀαⰡ ¸¹´Ù.
¢ºAngular : ±¸±ÛÀÌ ¸¸µé°í
»ç¿ëÇÑ´Ù. AngularJS 1.x´Â ÀÚ¹Ù½ºÅ©¸³Æ® »ç¿ëÇÏ´Ù ¹öÀü2¿¡¼
ŸÀÔ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ¸é¼ À̸§¿¡ JS¸¦ ¶¼ ³Â´Ù. ¿©±â Àú±â
Ȱ¿ëÇÒ ¼ö ÀÖ´Â ÀÌÁ¡Àº ÀÖÁö¸¸ ¹è¿ì±â ¾î·Á¿ö »ó´ëÀûÀ¸·Î ÀαⰡ ´úÇÏ´Ù.
¢ºReact : ¸ÞŸ(ÆäÀ̽ººÏ)°¡ °³¹ßÇÑ ¶óÀ̺귯¸®ÀÌ´Ù.
SPA(Single Page Application)¸¦ ÀüÁ¦·Î ÇÏ¸ç °¡»ó DOMÀ» Ȱ¿ëÇÏ¿©
·£´õ¸µÀÌ ºü¸£´Ù. HTMLÀ» JSX(JavaScript XML)·Î
Ç¥ÇöÇϸç ÄÄÆ÷³ÍÆ®¸¦ Á¶¸³ÇÏ¿© ÆäÀÌÁö¸¦ ¸¸µç´Ù.
¢ºVue.js : ÀÚ¹Ù½ºÅ©¸³Æ®
±â¹ÝÀÌ¸ç °¡»ó DOM Ȱ¿ëÀ¸·Î ¼Óµµ°¡ ºü¸£´Ù. ¹®¹ýÀÌ °£´ÜÇÏ¿©
±âÁ¸ °³¹ßÀÚ°¡ ÀûÀÀÇϱ⠽±Áö¸¸ ÄÚµå Çü½ÄÀÌ ³Ê¹« ÀÚÀ¯·Î¿ö ´ë±Ô¸ð ÇÁ·ÎÁ§Æ®¿¡ Àû¿ëÇϱâ´Â ¾î·Á¿î ´ÜÁ¡ÀÌ ÀÖ´Ù.
¼Â´Ù ³ëµå ȯ°æ¿¡¼ ½ÇÇàµÇ¸ç npm ÆÐŰÁö·Î ¹èÆ÷ÇÑ´Ù. https://npmtrends.comÀº °¢ ÆÐŰÁöÀÇ ´Ù¿î·Îµå ȸ¼ö¸¦ ºñ±³ÇØ º¸¿©Áִµ¥ À̸¦ ÅëÇØ ÀαâÀÇ Á¤µµ¸¦
°¡´ÆÇÒ ¼ö ÀÖ´Ù. angular´Â °ÅÀÇ ¹Ù´ÚÀ» ±â°í ÀÖ°í react¿Í vue°¡ °¢ÃàÀüÀ» ¹úÀ̰í ÀÖ´Â »óÅÂÀ̳ª ¸®¾×Æ®ÀÇ Á¡À¯À²ÀÌ ´õ ³ô´Ù.

¹°·Ð ÀαⰡ ¸¹´Ù°í ÇØ¼ °¡Àå ÁÁÀº ¶óÀ̺귯¸®¶ó´Â °ÍÀº ¾Æ´Ï´Ù. ÇÁ·ÎÁ§Æ®ÀÇ
±Ô¸ð¿Í ¸ñÀû¿¡ µû¶ó ÀûÇÕÇÑ ¶óÀ̺귯¸®¸¦ Àß ¼±ÅÃÇØ¾ß ÇÑ´Ù. °æÀï ¶óÀ̺귯¸®¶ó°í ÇØµµ ÁöÇâÇÏ´Â ¸ñÀûÀº
°°°í À¥ ¾ÛÀ» ±¸ÇöÇÏ´Â Ãֽбâ¼úÀº ´Ù ºñ½ÁÇØ¼ Çϳª¸¦ Àß ÀÍÈ÷°í °³³äÀ» ¾Ë¾Æ µÎ¸é ³ª¸ÓÁöµµ ½±°Ô Àͼ÷ÇØÁú ¼ö ÀÖ´Ù.
¸®¾×Æ®´Â ¸ÞŸ°¡ 2011³âºÎÅÍ ÆäÀ̽ººÏÀÇ È¸é ¾÷µ¥ÀÌÆ® ¼Óµµ¸¦ °³¼±Çϱâ
À§ÇØ °³¹ßÀ» ½ÃÀÛÇß´Ù. ù ¹öÀüÀº ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ HTML ¹®¼¸¦
µ¿ÀûÀ¸·Î »ý¼ºÇÏ´Â ¹æ¹ýÀ» µµÀÔÇÏ¿© ±¤°í Ç÷§Æû¿¡ Àû¿ëÇß´Ù. 2013³â ¿ÀǼҽº·Î ÀüȯÇÑ ÈÄ °¡»ó µ¼, Router, Redux, Hooks µîÀ» Áö¼ÓÀûÀ¸·Î Ãß°¡ÇÏ¿© ±â´ÉÀ» È®ÀåÇØ ¿Ô´Ù. 2026³â ÇöÀç ÃֽйöÀüÀº 19.2ÀÌ´Ù.
|
¹ßÇ¥³âµµ |
¹öÀü |
ÁÖ¿ä Æ¯¼º |
|
2013 |
0.3 |
ù ¿ÀǼҽº °ø°³ ¹öÀü. JSX ±¸¹® »ç¿ë |
|
2015 |
0.14 |
React¿Í React DOM ÆÐŰÁö
ºÐ¸®. ÇÔ¼öÇü ÄÄÆ÷³ÍÆ® Ãß°¡ |
|
2016 |
15 |
·£´õ¸µ ¼º´É Çâ»ó. ÀÚ¹Ù½ºÅ©¸³Æ® ES6 Àû¿ë |
|
2017 |
16 |
Fiber µµÀÔÀ¸·Î ºñµ¿±â ·£´õ¸µ °¡´É |
|
2019 |
16.8 |
Hooks ±â´É. useState,
useEffect. °¡µ¶¼º°ú Àç»ç¿ë¼º Çâ»ó |
|
2020 |
17 |
À̺¥Æ® ó¸® ¹æ¹ý °³¼± |
|
2022 |
18 |
µ¿½Ã¼º ±¸Çö, ÀÚµ¿ ¹èÄ¡, ºñµ¿±â
·£´õ¸µ ÃÖÀûÈ |
|
2025 |
19 |
useTransition, useActionState Ãß°¡ |
ÃֽйöÀüÀ» »ç¿ëÇÏ´õ¶óµµ ÀÌÀü ¼Ò½º¸¦ ºÁ¾ß ÇÒ ÀÏÀÌ ÇÊ¿¬ÀûÀ¸·Î ¹ß»ýÇϱ⠶§¹®¿¡ ¿ª»ç¸¦ ¾î´À Á¤µµ´Â ¾Ë¾Æ¾ß ÇÑ´Ù. ·¹°Å½Ã ÇÁ·ÎÁ§Æ®¸¦ ÀÌ¾î¼ °³¹ßÇÒ ¼öµµ ÀÖ°í »ùÇà ¼Ò½º°¡ ÀÌÀü ¹öÀüÀ¸·Î µÇ¾î ÀÖ´Â °æ¿ìµµ ÈçÇÏ´Ù. ȸ»ç¿¡¼´Â ÃֽйöÀüº¸´Ù´Â ¾ÈÁ¤ÈµÈ ¹öÀüÀ» ¼±È£Çϰí Çѹø ¼±ÅÃÇÑ ¹öÀüÀ» Àß ¹Ù²ÙÁö ¾Ê´Â´Ù.
¶Ç ¾î¶² °æ¿ì´Â ¹öÀüÀ» ³·Ãß¾î °³¹ßÇØ¾ß ÇÏ´Â °æ¿ìµµ ÀÖ´Ù. ¾ÆÁ÷µµ
À©µµ¿ì³ª ¸ÆÀ» 10³âÀü ¿î¿µÃ¼Á¦·Î ¾²´Â »ç¶÷ÀÌ ÀÖ°í ¼ÂÅé¹Ú½º³ª ½º¸¶Æ®TVó·³
¾÷±×·¹À̵尡 °ï¶õÇÑ Àåºñµµ ÀÖ´Ù. ¾ðÁ¦ ¾î¶² ±â´ÉÀÌ µé¾î°¬´ÂÁö´Â ´ëÃæ ÆÄ¾ÇÇØ µÎ¾î¾ß È¥¶õÀÌ ¾ø´Ù.
¸®¾×Æ®´Â ÇÁ·¹ÀÓ¿öÅ©°¡ ¾Æ´Ñ ¶óÀ̺귯¸®ÀÌ´Ù. ÀÌ µÑÀº ÁÖ È帧À» ´©°¡
°¡Áö´ÂÁö°¡ ´Ù¸¥µ¥ ÇÁ·¹ÀÓ¿öÅ©´Â ±¸Á¶¸¦ °Á¦ÇÏÁö¸¸ ¶óÀ̺귯¸®´Â ÇÊ¿äÇÒ ¶§¸¸ È£ÃâÇØ¼ ¾²´Â °ÍÀÌ´Ù. »ó´ëÀûÀ¸·Î
°¡º±´Ù.
¸®¾×Æ®´Â ¿À·ÎÁö Ŭ¶óÀ̾ðÆ®ÂÊÀÇ ºä¸¸ ´Ù·é´Ù. »ç¿ëÀÚÀÇ ÀԷ¿¡ ¾î¶»°Ô
¹ÝÀÀÇÏ¿© ¾î¶»°Ô ±×¸± °ÍÀΰ¡¸¸ ó¸®ÇÑ´Ù. ¹«¾ùÀ» º¸¿©ÁÙ °ÍÀÎÁö´Â ¸ð¸¥´Ù. Ç®½ºÅðú ´Ù¾çÇÑ Àåºñ¸¦ Áö¿øÇÏ´Â Ãß°¡ÀûÀÎ °ú¸ñÀÌ ´õ ÀÖ´Ù.
¢ºNext.js : ¸®¾×Æ®ÀÇ
¼¹öÃø ±â¼úÀÌ´Ù. µ¥ÀÌÅ͸¦ °ü¸®ÇÑ´Ù.
¢º¸®¾×Æ® ³×ÀÌÆ¼ºê : ¸®¾×Æ®¸¦
¾Èµå·ÎÀ̵å, iOS¿¡ Àû¿ëÇÑ ¸ð¹ÙÀÏ ÇÁ·¹ÀÓ¿öÅ©ÀÌ´Ù.
¹è¿ì±â ½±´Ù°í ÁÖÀåÇÏÁö¸¸ óÀ½¿¡´Â »ç½ÇÀ̾úÀ»Áö ¸ô¶óµµ Áö±ÝÀº ±×·¸Áö ¾Ê´Ù. ¸®¾×Æ®¸¸
º¸¸é °£´ÜÇØ º¸ÀÌÁö¸¸ ¸ðµç °ÍÀ» ´Ù °®Ãß°í ÀÖÁö´Â ¾Ê¾Æ ÁÖº¯ ¶óÀ̺귯¸®¸¦ ÇʼöÀûÀ¸·Î »ç¿ëÇØ¾ß ÇÑ´Ù. »ç¿ëÇÒ
¼ö ÀÖ´Â ¶óÀ̺귯¸®¸¦ ÃëÇâ¿¡ ¸Â°Ô °ñ¶ó ¾µ ¼ö ÀÖ´Â °ÍÀº ÀåÁ¡ÀÌÁö¸¸ ±×·¯·Á¸é ¸ðµç ¶óÀ̺귯¸®¸¦ ¼··ÆÇØ ºÁ¾ß ÇÑ´Ù.
°øºÎÇÒ ¾çÀÌ ¸¹°í °è¼Ó ¹Ù²ï´Ù´Â Á¡¿¡¼ ÇǰïÇÏÁö¸¸ À¥ °³¹ßÀÇ ÀϹÝÀûÀΠƯ¼ºÀ̶ó ¾î¿ ¼ö ¾ø´Ù.
ȨÆäÀÌÁö´Â https://react.dev/À̳ª ¿µ¹® »çÀÌÆ®ÀÌ´Ù. ¿©·¯ ¾ð¾î·Î ¹ø¿ªµÇ¾î Àִµ¥ ÇÁ¶û½º, Æ¢¸£Å°¿¹, ½ºÆäÀÎ ±×¸®°í ÇÑÁßÀϱîÁö 6°³±¹Àº ¿Ïº®ÇÑ ¹ø¿ªÀ» Á¦°øÇÑ´Ù. µ¶ÀÏ, ·¯½Ã¾Æ, ÀÌÅ»¸®¾Æµµ
ÀϺΠ¹ø¿ª¸¸ Á¦°øÇϴµ¥ ºñÇØ ¿ì¸®³ª¶óÀÇ À§»óÀÌ ²Ï ³ô´Ù. µû¶ó¼ ¿ì¸®´Â ´ÙÀ½ »çÀÌÆ®¸¦ ¹æ¹®ÇÏ¸é µÈ´Ù.
https://ko.react.dev

ÀÚ½À¼¿Í ·¹ÆÛ·±½º¸¦ Á¦°øÇÑ´Ù. ÀÚ½À¼ÀÇ ¿¹Á¦°¡ ²Ï Àß ¸¸µé¾îÁ® ÀÖ°í
¼³¸íµµ Àß µÇ¾î ÀÖÀ¸¹Ç·Î Çѹø¾¿ ÀÐ¾î º¸´Â °ÍÀÌ ÁÁ´Ù. ÇнÀÇÏ±â ÆäÀÌÁö¿¡´Â ¸®¾×Æ® ±âÃʺÎÅÍ Æ½ÅÃÅä °ÔÀÓÀ»
¸¸µé¸é¼ ÁÖ¿ä °³³äÀ» ¼³¸íÇϰí Props¿Í State±îÁö
½Ç½ÀÀ» ÅëÇØ »ç¿ë ¹æ¹ýÀ» Å͵æÇÏ°Ô ÇØ ÁØ´Ù.
API Âü°í¼´Â ÁÖÁ¦º° ·¹ÆÛ·±½º¸¦ Àß Á¤¸®ÇØ ³õ¾Æ ½Ç¹«Áß¿¡ ã¾Æº¸±â
Æí¸®ÇÏ°Ô ±¸¼ºµÇ¾î ÀÖ´Ù. ¹ø¿ªÀÇ Áúµµ ³ô°í ¿¹Á¦µµ ÇÙ½ÉÀûÀÎ ³»¿ëÀ» Àß ¼³¸íÇϰí ÀÖ¾î Å« µµ¿òÀÌ µÈ´Ù. Çѹø¿¡ ´Ù º¸´Â °Íº¸´Ù µµ¿ò¸»ÀÇ ±¸Á¶¸¦ Àß ÆÄ¾ÇÇØ µÎ°í ÇÊ¿äÇÒ ¶§¸¶´Ù ã¾Æº¸´Â °ÍÀÌ ÁÁ´Ù.
¿äÁòÀº chatgpt³ª gemini¿¡
¹°¾î º¸¸é Ä£ÀýÇÏ°Ô Àß °¡¸£ÃÄ ÁØ´Ù. ½Ç¹«¸¦ ÇÒ ¶§µµ ¸¶Âù°¡ÁöÁö¸¸ ÇнÀÇÒ ¶§ Àß È°¿ëÇØ¾ß ÇÑ´Ù. ´Ù¸¸ ¹» ¹°¾î ºÁ¾ß ÇÒÁö¸¦ ¾Ë¾Æ¾ß ÇϹǷΠ¸®¾×Æ®ÀÇ ±¸Á¶¿¡ ´ëÇØ¼´Â ¾î´À Á¤µµ ¾Ë°í ÀÖ¾î¾ß Á¤È®ÇÑ ´äÀ» ±¸ÇÒ
¼ö ÀÖ´Ù.
¸®¾×Æ®ÀÇ Æ¯Â¡ ¹× ÀåÁ¡À» Á¤¸®ÇØ º¸ÀÚ. ´çÀå ¿Í ´êÁö ¾Ê´õ¶óµµ ÀÌÇØµÇ´Â
ºÎºÐ±îÁö¸¸ Á¢¼öÇØ µÎ¸é µÈ´Ù. ½ÇÁ¦ ¿¹Á¦¸¦ ¸¸µé¾î¼ »ìÆì º¸´Â°Ô Á¦ÀÏ ÁÁÁö¸¸ óÀ½ºÎÅÍ ³Ê¹« ¸¹Àº °ÍÀ»
¾Ë¾Æ¾ß ÇØ¼ ½±Áö ¾Ê´Ù. ¿©±â¼´Â Á¤È®ÇÏÁö´Â ¾Ê´õ¶óµµ ´ëÃæÀÇ ¿¹Á¦·Î °³³ä ÆÄ¾Ç À§ÁÖ·Î ¼³¸íÇÑ´Ù.
ºê¶ó¿ìÀú´Â HTML ¹®¼¸¦ ºÐÇØÇÏ¿© °ü¸®ÇÑ´Ù. ÀüüÀûÀ¸·Î ±ä ¹®ÀÚ¿ÀÌÁö¸¸ ºÎºÐ ºÎºÐÀ» ´Ù·ç±â ½±Áö ¾Ê¾Æ ³»ºÎÀûÀ¸·Î´Â ³ëµå·Î Àü°³ÇÑ´Ù. ű×, ¼Ó¼º, ¹®ÀÚ¿
µî ÆäÀÌÁö¸¦ ±¸¼ºÇÏ´Â ¿ä¼Ò¸¦ ³ëµå¶ó°í ÇÏ¸ç ³ëµå³¢¸® °èÃþÀ» ÀÌ·é´Ù. ³ëµå°¡ °èÃþÀ» ÀÌ·é °ÍÀ» DOMÀ̶ó°í ÇÑ´Ù. ´ÙÀ½ ¹®¼¸¦ º¸ÀÚ.
h2para.html
<!DOCTYPE
html>
<html>
<head>
<meta
charset="utf-8">
<title>sample</title>
</head>
<body>
<h2
id="head">Á¦¸ñÀÌ´Ù.</h2>
<p id="para">À̰ÍÀº <b>¹®´Ü</b>ÀÌ´Ù.</p>
</body>
</html>
Å©·Ò ºê¶ó¿ìÀú¿¡ ÀÌ ¹®¼¸¦ ¿¾î º¸ÀÚ. F12¸¦ ´·¯ °³¹ßÅøÀ» ¿°í Elements ÅÇÀ» º¸¸é ¹®¼ÀÇ ±¸Á¶¸¦ º¸¿©ÁØ´Ù.

body ³ëµå ¾È¿¡ h2 ³ëµå¿Í
¹®ÀÚ¿ÀÌ ÀÖ´Ù. p ³ëµå¾È¿¡ ¹®ÀÚ¿°ú b ³ëµå°¡ ÀÖ°í b ³ëµå¾È¿¡´Â ¶Ç ¹®ÀÚ¿ÀÌ ÀÖ´Ù. °³¹ßÅøÀº ÀÌ ±¸Á¶¸¦ °£´ÜÇÏ°Ô º¸¿©
ÁÖÁö¸¸ ½ÇÁ¦·Î´Â ¹®ÀÚ¿À̳ª ¼Ó¼º, ½ÉÁö¾î ÁÖ¼®±îÁöµµ ÇϳªÀÇ ³ëµå·Î Ãë±ÞÇÑ´Ù. À§ ¹®¼ÀÇ DOM Æ®¸®¸¦ ±×·Á º¸¸é ÀÌ·± ¸ð¾çÀÌ´Ù.

ºê¶ó¿ìÀú°¡ HTML ¹®¼¸¦ ÀÌ·¸°Ô Àß°Ô ³ª´©¾î °ü¸®ÇÏ´Â ÀÌÀ¯´Â °³º°ÀûÀ¸·Î
¼öÁ¤ÇÒ ¶§ ³ëµå ´ÜÀ§·Î ¹Ù²Ù¾î µÎ¸é È¿À²ÀûÀ̱⠶§¹®ÀÌ´Ù. ÀÌ ¹®¼´Â ¹Ý¸»·Î µÇ¾î Àִµ¥ Á¸´ë¸»·Î ¹Ù²Ù°í
¸¶Ä§Ç¥µµ ³Ö¾î º¸ÀÚ. ½ºÅ©¸³Æ®·Î ´ÙÀ½ µÎ µ¿ÀÛÀ» ¼öÇàÇØ¾ß ÇÑ´Ù.
¨ç h2 ³»ºÎÀÇ ÅØ½ºÆ®¸¦ ã¾Æ ³»¿ëÀ» "Á¦¸ñÀÔ´Ï´Ù."·Î ¹Ù²Û´Ù.
¨è pÀÇ ¸¶Áö¸· ÀÚ½Ä ³ëµå¸¦ ã¾Æ ³»¿ëÀ» "ÀÔ´Ï´Ù.'·Î ¹Ù²Û´Ù.
µÎ µ¿ÀÛ ¸ðµÎ ÀÚ¹Ù½ºÅ©¸³Æ®·Î °£´ÜÈ÷ ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ ½ºÅ©¸³Æ®¸¦ <p> ÅÂ±× ¾Æ·¡ÂÊ¿¡ ÀÛ¼ºÇÏ¸é ¹®¼¸¦ ¿ÀÚ ¸¶ÀÚ ³ëµåÀÇ ³»¿ëÀ» ¹Ù²Û´Ù. ¹öưÀ» ¹èÄ¡ÇØ µÎ°í Ŭ¸¯ÇÒ ¶§ µ¿ÀÛÇÏ´Â °Íµµ °¡´ÉÇÏ´Ù.
<script>
let
head = document.getElementById("head")
head.firstChild.nodeValue
= "Á¦¸ñÀÔ´Ï´Ù."
let
para = document.getElementById("para")
para.lastChild.nodeValue
= "ÀÔ´Ï´Ù."
</script>
SPA´Â ÇÑ ÆäÀÌÁö¿¡¼ ¸ðµç °ÍÀ» ´Ù ó¸®ÇØ¾ß ÇϹǷΠDOMÀ» Á¶ÀÛÇÒ ÀÏÀÌ ºó¹øÇϸç Á¶ÀÛÀÇ ¾çµµ ¸¹´Ù. ±×·¯³ª DOMÀ» Á¶ÀÛÇÏ´Â °ÍÀº ±²ÀåÈ÷ ºñ½Î°í ´À¸° µ¿ÀÛÀÌ´Ù. DOM ÀÚü´Â
ºü¸£Áö¸¸ ºÎ°¡ÀûÀ¸·Î °°ÀÌ Ã³¸®ÇØ¾ß ÇÒ ÀÛ¾÷ÀÌ ¸¹´Ù. nodeValue = "Á¦¸ñÀÔ´Ï´Ù." ´ëÀÔÀ» ÇÏ´Â Áï½Ã ºê¶ó¿ìÀú´Â Àüü ȸéÀ» ´Ù½Ã ±×¸°´Ù. ¹®ÀÚ¿À»
¹Ù²Ù´Â °£´ÜÇÑ ÀÛ¾÷ÀÌÁö¸¸ ¾Æ¹«¸® ÀÛÀº º¯È¶óµµ ·¹À̾ƿôÀÌ Åë°·Î ¹Ù²ð ¼ö ÀÖ¾î DOM Æ®¸®¸¦ ÀçÁ¤·ÄÇϰí
½ºÅ¸ÀÏ½ÃÆ®¸¦ Àû¿ëÇÏ¿© ȸéÀ» ´Ù½Ã ±×¸°´Ù.
¹º°¡¸¦ º¯°æÇϴµ¥ ºñ¿ëÀÌ µå´Â °ÍÀº ¾î¿ ¼ö ¾ø´Ù. ±×·¯³ª nodeValue = "ÀÔ´Ï´Ù."¸¦ ´ëÀÔÇÒ ¶§µµ
¶È°°Àº ÀÏÀ» Çѹø ´õ ¹Ýº¹ÇÏ´Â ºñÈ¿À²ÀÌ ÀÖ´Ù. ù ¹øÂ° ´ëÀÔÇÒ ¶§ °ðÀÌ¾î ´ÙÀ½ ´ëÀÔÀÌ ¶Ç ÀÖ´Ù´Â °ÍÀ»
¹Ì¸® ¾Ë¾Ò´Ù¸é À̶§´Â DOM Æ®¸®¸¦ ¹Ì¸® ºÐ¼®ÇÒ ÇÊ¿ä ¾ø´Ù. ¸¶Áö¸·
º¯°æ½Ã ¸ô¾Æ¼ ÇѲ¨¹ø¿¡ Á¤·ÄÇÏ¸é µÈ´Ù. ±×·¯³ª ÀÚ¹Ù½ºÅ©¸³Æ®´Â ÄÚµåÀÇ ´ÙÀ½ÁÙ¿¡ ¹¹°¡ ÀÖ´ÂÁö ¹Ì·¡¸¦ ¿¹ÃøÇÒ
¼ö´Â ¾ø±â ¶§¹®¿¡ DOM Æ®¸®¸¦ ¹Ù²Ü ¶§¸¶´Ù Áï½Ã À¥ÆäÀÌÁö¸¦ °»½ÅÇÒ ¼ö¹Û¿¡ ¾ø´Â ÇѰ谡 ÀÖ´Ù.
°¡»ó DOMÀº ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ¸Þ¸ð¸®¿¡ ½ÇÁ¦ DOMÀÇ »çº»À» ¸¸µé¾î µÐ´Ù. ¸ðµç º¯°æÀ» º¸ÀÌÁö ¾Ê´Â °¡»ó DOM¿¡¼ ¼öÇàÇϸé È¸é ±ô¹ÚÀÓÀÌ ¾ø°í º¯°æ »çÇ×À» ¸ð¾Æ µÎ¾ú´Ù°¡ ÃÖÁ¾ÀûÀ¸·Î ÇѲ¨¹ø¿¡ ¹Ý¿µÇÏ¿© ¼Óµµµµ ºü¸£´Ù.

°¡»ó DOMµµ º°µµÀÇ ¸Þ¸ð¸®¸¦ ¾²°í »çº»°ú ¿øº»À» ºñ±³Çϴ ó¸®°¡
µé¾î°¡ ±× ÀÚü°¡ ºü¸¥ °ÍÀº ¾Æ´Ï´Ù. Áß¿äÇÑ °ÍÀº "¸ð¾Æ¼
ÇѲ¨¹ø¿¡" ¾÷µ¥ÀÌÆ®ÇÑ´Ù´Â Á¡ÀÌ´Ù. ³»ºÎ¿¡¼ ¹«½¼
ÁþÀ» ÇÏµç ½ÇÁ¦ DOMÀº µü Çѹø¸¸ ¹Ù²î±â ¶§¹®¿¡ ºê¶ó¿ìÀúµµ Çѹø¸¸ ´Ù½Ã ±×¸®¸é µÈ´Ù.
¼Óµµ´Â ¿ùµîÈ÷ »¡¶óÁö°í È¸é ±ô¹ÚÀÓÀ» ÃÖ¼ÒÈÇÏ¿© Ãâ·Â ǰÁúµµ ÁÁ¾ÆÁø´Ù. ´ë½Å
³»ºÎ¿¡ º°µµÀÇ »çº»À» À¯ÁöÇØ¾ß ÇϹǷΠ¸Þ¸ð¸®¸¦ ´õ ¸¹ÀÌ ¾´´Ù. °¡»óµ¼Àº ¸®¾×Æ®¸¸ÀÇ Æ¯Â¡Àº ¾Æ´Ï¸ç Áö±ÝÀº
ÀϹÝȵǾú´Ù. ±×¸¸Å ½Ç¿ëÀûÀ̰í È¿°ú°¡ ¶Ù¾î³ ±â¼úÀ̶ó´Â ¾ê±â´Ù.
¸®¾×Æ®´Â ÀÚ¹Ù½ºÅ©¸³Æ®¾È¿¡ HTML ¹®¼¸¦ ÅëÇÕÇÏ¿© ±â¼úÇÏ´Â JSX(JavaScript XML) È®Àå ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÑ´Ù. ÀÌ·±°Ô
¿Ö ÇÊ¿äÇÑÁö °£´ÜÇÑ ¿¹¸¦ ÅëÇØ ¾Ë¾Æº¸ÀÚ.
¼ºÀûÇ¥¸¦ À¥ ÆäÀÌÁö¿¡ Ãâ·ÂÇØ º¸ÀÚ. ÅÁö¸·ÇÑ Á¦¸ñ°ú Á¡¼ö¸¦ ¾Ë·Á ÁÖ´Â
¹®ÀÚ¿·Î µÈ °£´ÜÇÑ ¹®¼ÀÌ´Ù. HTML ¹®¼·Î ºñ½ÁÇÑ ¸ð¾çÀ» ¸¸µé·Á¸é
<h2> ű׷ΠÁ¦¸ñÀ» ºÙÀ̰í <p> ű׷ΠÁ¡¼ö¸¦ Ãâ·ÂÇÑ´Ù. Â÷ÈÄ ³ëµå¸¦ Á¶ÀÛÇϱâ À§ÇÑ class ¼Ó¼º°ú id ¼Ó¼ºµµ ÁöÁ¤Çß´Ù.
<h2 class="head">¼ºÀûÇ¥</h2>
<p id="result">Á¡¼ö´Â 123ÀÔ´Ï´Ù.</p>
½ÇÁ¦ Á¡¼ö´Â »ó¼ö°¡ ¾Æ´Ï¶ó score¶ó´Â º¯¼ö°ªÀ» Ãâ·ÂÇ쵂 ¾îµð¼±°¡
°è»êµÈ °ªÀ̶ó°í ÇÏÀÚ. ¹®ÀÚ¿ »çÀÌ¿¡ Á¡¼ö¸¦ Á¶¸³ÇÏ¿© Ãâ·ÂÇÏ´Â °ÍÀº Á¤ÀûÀÎ ¹®¼°¡ ¾Æ´Ñ µ¿ÀûÀÎ µ¿ÀÛÀ̹ǷÎ
Äڵ尡 ÇÊ¿äÇÏ´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®·Î ÀÌ·± ¹®¼¸¦ ¸¸µé¾î º¸ÀÚ. ´ÙÀ½
¿¹Á¦´Â Á¤È®ÇÏ°Ô °°Àº ¹®¼¸¦ ½ÇÇà Á÷ÈÄ¿¡ »ý¼ºÇÑ´Ù.
score.html
<!DOCTYPE
html>
<html>
<head>
<meta
charset="utf-8">
<title>sample</title>
</head>
<body>
<div id =
"root"></div>
<script>
// Ãâ·ÂÇÒ
Á¡¼ö
let
score = 123
//
<h2> ÅÂ±× »ý¼º
let
head = document.createElement("h2");
head.setAttribute("class","head")
let
text = document.createTextNode("¼ºÀûÇ¥");
head.appendChild(text);
// ·çÆ®¿¡ <h2> ÅÂ±× Ãß°¡
let
root = document.getElementById("root")
root.appendChild(head);
//
<p> ÅÂ±× »ý¼º
let
para = document.createElement("p");
para.setAttribute("id","result")
let
textpara = document.createTextNode("Á¡¼ö´Â" +
score + "ÀÔ´Ï´Ù.");
para.appendChild(textpara);
// ·çÆ®¿¡ <p> ÅÂ±× Ãß°¡
root.appendChild(para);
</script>
</body>
</html>
ÀÚ¹Ù½ºÅ©¸³Æ®´Â ½º½º·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Â ÄÚµåÀÌÁö¸¸ ºê¶ó¿ìÀú ȸ鿡¼ È®ÀÎÇÏ·Á¸é
HTML ÆÄÀÏÀ» ¸¸µé°í <script> ÅÂ±× ¾È¿¡ Äڵ带 ÀÛ¼ºÇÏ¿© ½Ç½ÀÇØ¾ß ÇÑ´Ù. score.html ÆÄÀÏÀ» »õ·Î ¸¸µé°í ÆíÁý±â·Î Äڵ带 ÀÔ·ÂÇÑ ÈÄ ºê¶ó¿ìÀú¿¡¼ ¿¸é ´ÙÀ½°ú °°Àº ½ÇÇà °á°ú¸¦
º¼ ¼ö ÀÖ´Ù.

<body> ¾È¿¡´Â
div ÅÂ±× Çϳª¸¸ Á¤ÀǵǾî Àִµ¥ id¸¦ root·Î
ÁöÁ¤Çß´Ù. ÀÌ ÅÂ±× ÀÚü´Â º¸ÀÌÁö ¾ÊÁö¸¸ µ¿ÀûÀ¸·Î »ý¼ºÇÒ Å±׸¦ Ãß°¡ÇÒ ÁöÁ¡ÀÌ´Ù. ½ºÅ©¸³Æ®¿¡¼´Â ű׸¦ »ý¼ºÇϰí ÅØ½ºÆ®¿Í ¼Ó¼ºÀ» ¼³Á¤ÇÑ ÈÄ root¿¡
Çϳª¾¿ ºÙ¿© ½ÇÇàÁß¿¡ ű׸¦ ¸¸µé¾î ³½´Ù. <p> ű×ÀÇ ³»¿ë¿¡´Â score º¯¼ö¸¦ ¹®ÀÚ¿ Áß°£¿¡ »ðÀÔÇÑ´Ù.
¿øÇÏ´Â ¹®¼¸¦ ¸¸µé¾î ³»±â´Â Çß´Ù. ±×·¯³ª º¸´Ù½ÃÇÇ ´Ü µÎ ÁÙÀÇ HTML ¹®¼¸¦ »ý¼ºÇϴµ¥ ³Ê¹« ¸¹Àº Äڵ尡 ÇÊ¿äÇÏ´Ù. ¾î·Æ°Å³ª º¹ÀâÇÑ
°ÍÀº ¾Æ´ÏÁö¸¸ ÀÌ°É ÀÏÀÏÀÌ ÀÛ¼ºÇÏ·Á¸é ½Ã°£µµ ¸¹ÀÌ µé°í ±æ´Ù º¸´Ï ¿ÀŸ¸¦ Ä¥ À§Çèµµ ³ô´Ù.
¶Ç ¹®ÀÚ¿°ú ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ尡 µÚ¼¯¿© ¾îµð°¡ HTMLÀÌ°í ¾îµð°¡
ÄÚµåÀÎÁö ºÐ°£Çϱ⵵ ¾î·Æ´Ù. ÀÌ ¿¹Á¦¿¡¼´Â "Á¡¼ö´Â" + score + "ÀÔ´Ï´Ù." Á¤µµÀÇ
°£´ÜÇÑ ¿¬°á¹®ÀÌÁö¸¸ ½Ç¹« Äڵ忡¼´Â ", +, <> µîÀÌ ¸¶±¸ µÚ¼¯¿© Á¤½ÅÀÌ ¾ø°í
°ýÈ£ ¦À» ¸ÂÃß´À¶ó ´«±òÀÌ ºüÁú Áö°æÀÌ´Ù. °£´ÜÇÑ Á¤¼ö°ª Çϳªµµ ÀÌ·±µ¥ SQL Äõ¸®¹®À» Á¶¸³ÇÏ·Á¸é ¾î¶»°Ú´Â°¡?
ÀÌ·± ºÒÆíÇÔÀ» ÇØ¼ÒÇϱâ À§ÇØ ³ª¿Â °ÍÀÌ JSXÀÌ´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®¿Í HTMLÀ» ÅëÇÕÇØ¼ °£·«ÇÏ°Ô ±â¼úÇÏ´Â ½ºÅ©¸³Æ®ÀÌ´Ù. À§ Äڵ带 JSX·Î ¾²¸é ±æÀ̵µ ª¾ÆÁö°í Àб⵵ ½±´Ù. Àá½Ã ÈÄ ½Ç½ÀÇØ º¼ °ÍÀÌ´Ù.
function App() {
let
score = 123
return (
<div>
<h2
className="head">¼ºÀûÇ¥</h2>
<p
id="result">Á¡¼ö´Â {score}ÀÔ´Ï´Ù.</p>
</div>
);
}
function AppÀº ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼öÀ̸ç ÀÌ ¾È¿¡¼ ´ç¿¬È÷ º¯¼ö¸¦
¼±¾ðÇÒ ¼ö ÀÖ°í Àμöµµ ¹ÞÀ» ¼ö ÀÖ´Ù. return () ¾È¿¡ ÀÖ´Â ±¸¹®ÀÌ JSXÀ̸ç ÀÌ ¾È¿¡¼ <h2>, <p> ű׸¦
Á¤ÀÇÇÑ´Ù. ÀÌ Á¤Àǹ®Àº React °´Ã¼ÀÇ createElement, appendChild ¸Þ¼µå È£Ãâ¹®À¸·Î ¹Ù²î¾î °¡»ó
DOMÀ» »ý¼ºÇϰí ÃÖÁ¾ÀûÀ¸·Î´Â ½ÇÁ¦ DOM¿¡ ¿¬°áÇÑ´Ù. ³»ºÎ
°úÁ¤Àº º¹ÀâÇÏÁö¸¸ JSXÀÇ ½ÇÇà °á°ú°¡ ¾Õ¿¡¼ ÀÛ¼ºÇß´ø ÀÚ¹Ù½ºÅ©¸³Æ® ÄÚµå¿Í °°Àº È¿°ú¸¦ ³½´Ù.
JSX´Â HTMLµµ ¾Æ´Ï°í
ÀÚ¹Ù½ºÅ©¸³Æ®µµ ¾Æ´Ï¸ç °íÀ¯ÀÇ ¹®¹ýÀ» °¡Áö´Â XML ¹®¼ÀÌ´Ù. ÀüüÀûÀ¸·Î´Â HTML ¹®¼Ã³·³ »ý°å°í ÀÛ¼ºÇÏ´Â ¹æ¹ýµµ ºñ½ÁÇÏÁö¸¸ º°µµÀÇ ±ÔÄ¢ÀÌ ÀÖ´Ù. µû¶ó¼
¿ì¸®´Â ÀÌ ¹®¹ýÀÇ ±ÔÄ¢À» µû·Î ¹è¿ö¾ß ÇÑ´Ù. XMLÀº ¹®¹ýÀÌ ¾ö°ÝÇØ Á¤È®ÇÏ°Ô ±â¼úÇØ¾ß ÇÑ´Ù. ´ë¼Ò¹®ÀÚ³ª ±¸µÎÁ¡±îÁöµµ ±ÔÁ¤À» ÁöÄÑ¾ß ÇÑ´Ù. ´ÙÀ½¿¡ µû·Î »ó¼¼È÷
¿¬±¸ÇØ º¸±â·Î Çϰí ÀÌ ¿¹Á¦¿¡¼ µå·¯³ª´Â ¸î °¡Áö ¿¹¸¸ È®ÀÎÇØ º¸ÀÚ.
¢º ű×ÀÇ class ¼Ó¼ºÀº classNameÀ¸·Î ¾´´Ù.
¢º ´Ü ÇϳªÀÇ ·çÆ®°¡ ÀÖ¾î¾ß ÇÑ´Ù.
<h2>°ú <p>À» °¨½Î´Â
<div>°¡ ÇÊ¿äÇÏ´Ù.
¢º ÀÚ¹Ù½ºÅ©¸³Æ® Äڵ带 »ç¿ëÇϰųª º¯¼ö¸¦ ÀÐÀ» ¶§´Â { } °ýÈ£·Î °¨½Ñ´Ù.
°íÀ¯ ¹®¹ýÀ» °¡Áö´Â JSX´Â ºê¶ó¿ìÀú°¡ Á÷Á¢ ÇØ¼®ÇÒ ¼ö ¾ø´Ù. µû¶ó¼ ÀÚ¹Ù½ºÅ©¸³Æ®·Î ¹ø¿ªÇØ ÁÖ´Â Æ®·£½ºÆÄÀÏ·¯(transfiler)°¡
ÇÊ¿äÇÏ´Ù. ÄÄÆÄÀÏ·¯´Â ¾ð¾î¸¦ ½ÇÇà °¡´ÉÇÑ ÀÌÁø ÆÄÀÏ·Î ¹ø¿ªÇϴµ¥ ºñÇØ Æ®·£½ºÆÄÀÏ·¯´Â ¼Ò½º¸¦ ´Ù¸¥ ¼Ò½º·Î
¹Ù²Û´Ù. ¾ð¾î »çÀ̸¦ ¹ø¿ªÇÏ´Â ÀÏÁ¾ÀÇ ÄÄÆÄÀÏ·¯¶ó°í »ý°¢ÇÏ¸é µÈ´Ù. ¿©·¯
Á¾·ù°¡ Àִµ¥ ¸®¾×Æ®´Â ¹Ùº§ ¶Ç´Â ESBuild¸¦ »ç¿ëÇÑ´Ù.
ºê¶ó¿ìÀú·Î º¸³»±â Àü¿¡ ÇÑ´Ü°è ´õ °ÅÄ¡´Ù º¸´Ï º¹ÀâÇÑ ±ÔÄ¢ÀÌ ÇÊ¿äÇÏ´Ù. ¿©±â¼´Â JSXÀÇ Çʿ伺°ú °³³ä¿¡ ´ëÇØ¼¸¸ ¼Ò°³ÇÑ´Ù. ´õ »ó¼¼ÇÑ ¹®¹ý°ú ±ÔÄ¢Àº
¿¹Á¦¸¦ ¸¸µé¾î º¸¸é¼ ½Ç½ÀÇØ º¸ÀÚ.
¸®¾×Æ®´Â À¥ÆäÀÌÁö¸¦ Åë°·Î ±¸ÇöÇÏ´Â°Ô ¾Æ´Ï¶ó °¢ ºÎºÐÀ» ÄÄÆ÷³ÍÆ®·Î ºÐ¸®ÇÏ¿© Á¶¸³½ÄÀ¸·Î ±¸ÇöÇÑ´Ù. ÄÄÆ÷³ÍÆ®´Â ȸéÀ» ±¸¼ºÇÏ´Â UIÀÇ ÇÑ ºÎºÐÀ̸ç À¥ÆäÀÌÁöÀÇ ºÎǰ¿¡
ÇØ´çÇÑ´Ù. ³×À̹ö¸¦ º¸ÀÚ.

°Ë»ö½ÄÀ» ÀԷ¹޴ ºÎºÐ, ±¤°í¸¦ Ãâ·ÂÇÏ´Â ºÎºÐ, ·Î±×ÀÎ Á¤º¸¸¦ º¸¿© ÁÖ´Â ºÎºÐ µîÀ¸·Î ³ª´©¾îÁ® ÀÖ´Ù. ÀÌ °¢°¢ÀÇ
³×¸ð ¿µ¿ªÀÌ ¹Ù·Î ÄÄÆ÷³ÍÆ®ÀÌ´Ù. Àüü¸¦ ÇÑ µ¢¾î¸®·Î °³¹ßÇÏ´Â °Íº¸´Ù´Â ±â´Éº°·Î Àß°Ô Âɰ³ °³¹ßÇÏ´Â ÆíÀÌ
´õ ½±´Ù.
ÄÄÆ÷³ÍÆ®¸¦ Àß ¸¸µé¾î ³õÀ¸¸é ¿©·¯ °³ ³ª¿ÇÏ¿© ¹Ýº¹ÇÒ ¼ö ÀÖ°í ÄÄÆ÷³ÍÆ®³¢¸® ÁßøÇÏ¿© ´õ º¹ÀâÇÑ °Íµµ ¸¸µé ¼ö
ÀÖ´Ù. ÄÄÆ÷³ÍÆ® ÀÚü°¡ µ¶¸³ÀûÀÎ ºÎǰ°ú ºñ½ÁÇØ ´Ù¸¥ ÆäÀÌÁö¿¡¼ ¼Õ½±°Ô ÀçȰ¿ëÇÒ ¼öµµ ÀÖ´Ù.
ÄÄÆ÷³ÍÆ®¸¦ ³Ê¹« °ÅâÇÏ°Ô »ý°¢ÇÒ ÇÊ¿ä¾øÀÌ HTMLÀÇ <table>, <img> ÅÂ±×¿Í °°Àº °³³äÀ̶ó°í º¸¸é µÈ´Ù. µµÇ¥¸¦ Ç¥½ÃÇÏ·Á¸é <table> ÄÄÆ÷³ÍÆ®¸¦ ¾²°í À̹ÌÁö¸¦
Ãâ·ÂÇÏ·Á¸é <img> ÄÄÆ÷³ÍÆ®¸¦ ¹èÄ¡ÇÏ¿© À¥ ÆäÀÌÁö¸¦ ¸¸µç´Ù. Áï, ÄÄÆ÷³ÍÆ®´Â ÅÂ±×¿Í ºñ½ÁÇÏ¸ç ¼Ó¼ºÀ» °¡Áö°í ½ºÅ¸ÀÏÀ» ÀÔÈú ¼öµµ
ÀÖ´Ù. ű״ ±â´ÉÀÌ °íÁ¤ÀûÀε¥ ºñÇØ ÄÄÆ÷³ÍÆ®´Â ´õ À¯¿¬ÇÏ´Ù.
¢º ½º½º·Î »óŸ¦ À¯ÁöÇÏ¿© »ç¿ëÀÚÀÇ ¼±ÅÃÀ» ±â¾ïÇÑ´Ù. °Ë»ö½ÄÀ» ÀԷ¹޴ ºÎºÐÀº ÃÖÈÄ·Î ÀÔ·ÂÇÑ °Ë»ö ¹®ÀÚ¿ÀÌ ¹«¾ùÀÎÁö ±â¾ïÇÏ°í ·Î±×ÀÎ ÄÄÆ÷³ÍÆ®´Â ÇöÀç ·Î±×ÀÎÇÑ »ç¿ëÀÚÀÇ
À̸§À» ±â¾ïÇÑ´Ù.
¢º ºÎ¸ð·ÎºÎÅÍ ¼Ó¼ºÀ» Àü´Þ¹Þ°í µ¿Àû ¹®¼¸¦ »ý¼ºÇÏ¿© ¸®ÅÏÇÏ´Â ½ÄÀ¸·Î Åë½ÅÇÏ¿©
°¡º¯ÀûÀÎ Á¤º¸¸¦ ½Ç½Ã°£À¸·Î º¸¿©ÁØ´Ù. ¸ÞÀÏ ÄÄÆ÷³ÍÆ®´Â ·Î±×ÀÎÇÑ »ç¿ëÀÚÀÇ Á¤º¸¸¦ Àü´Þ¹Þ¾Æ »õ ¸ÞÀϰú ÂÊÁöÀÇ
°³¼ö¸¦ Ç¥½ÃÇÏ°í °ü¸®ÇÑ´Ù.
¢º ÇÔ¼ö ¶Ç´Â Ŭ·¡½º·Î Á¤ÀÇÇϸç ÀÌ ¾È¿¡ Á¶°Ç, ¹Ýº¹, À̺¥Æ® ó¸® µîÀÇ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ¾î ¸ð¾ç°ú µ¿ÀÛÀ» ¸¶À½´ë·Î
Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ÃֽŠ´º½º ¸ñ·ÏÀÌ ³ªÅ¸³ª°í Ŭ¸¯Çϸé ÇØ´ç ´º½º¸¦ º¸¿©ÁØ´Ù.
HTML ¹®¼°¡
<div>, <a>, <img> ű׸¦ ±¸¼ºµÇ´Â °Í°ú ¶È°°Àº ¿ø¸®·Î ¸®¾×Æ® ÆäÀÌÁö´Â <Login>, <Mail>, <News> µîÀÇ ÄÄÆ÷³ÍÆ®·Î ±¸¼ºµÈ´Ù. ±âº» ÅÂ±×¿Í ±¸ºÐÇϱâ À§ÇØ Ç×»ó ´ë¹®ÀÚ·Î ½ÃÀÛÇÑ´Ù. ±â´ÉÀÌ °íÁ¤µÈ
ÅÂ±×¿Í ´Þ¸® ÇÁ·Î±×·¡¹Ö °¡´ÉÇÏ°í ±×·¯´Ù º¸´Ï °³¹ß ¹æ¹ýÀ» ¹è¿ö¾ß ÇÑ´Ù´Â Â÷À̰¡ ÀÖÀ» »ÓÀÌ´Ù.
¸®¾×Æ®·Î °³¹ßÇÑ´Ù´Â °ÍÀº ÀÌ·± ÄÄÆ÷³ÍÆ® Çϳª Çϳª¸¦ ¸¸µé°í Á¶ÇÕÇÏ´Â °úÁ¤ÀÌ´Ù.
Àß ¸¸µé¾î ³õÀº °ÍÀº Àç»ç¿ëÇÒ ¼ö ÀÖ°í ³²ÀÌ ¸¸µé¾î ³õÀº°É °¡Á®´Ù ¾µ ¼öµµ ÀÖ´Ù. ºÎǰÀ»
¸ÕÀú ¸¸µé°í Á¶¸³ÇÏ¿© Å« ¾ÛÀ» ¸¸µå´Â »óÇâ½Ä(bottom up) °³¹ß ¹æ½ÄÀÌ´Ù.