ÄÁÅÙÃ÷»ó¼¼º¸±â

Node.js ¹é¿£µå °³¹ßÀÚ µÇ±â : TypeScript + Node.js + Express + NestJS·Î ¹è¿ì´Â ÀÚ¹Ù½ºÅ©¸³Æ® ¹é¿£µå ÀÔ¹®ÀÚ¸¦ À§ÇÑ Ç® ÆÐÅ°Áö [ Çʼö ¸®´ª½º ¸í·É¾î ¼ö·Ï ]
Node.js ¹é¿£µå °³¹ßÀÚ µÇ±â : TypeScript + Node.js + Express + NestJS·Î ¹è¿ì´Â ÀÚ¹Ù½ºÅ©¸³Æ® ¹é¿£µå ÀÔ¹®ÀÚ¸¦ À§ÇÑ Ç® ÆÐÅ°Áö [ Çʼö ¸®´ª½º ¸í·É¾î ¼ö·Ï ]
  • ÀúÀÚ¹Ú½Â±Ô Àú
  • ÃâÆÇ»ç°ñµç·¡ºø
  • ÃâÆÇÀÏ2023-04-30
  • µî·ÏÀÏ2024-07-15
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 0, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

- ÀÚ¹Ù½ºÅ©¸³Æ® Node.js ¹é¿£µå °³¹ßÀÚ°¡ µÇ°í ½Í´Ù¸é
- HTML/CSS/ÀÚ¹Ù½ºÅ©¸³Æ® ±×´ÙÀ½¿¡ ²À º¸¼¼¿ä


½Ç·ÂÀ» °®Ãá °³¹ßÀÚ·Î ¼ºÀåÇÏ·Á¸é ½ÃÀÛÀÌ Áß¿äÇÕ´Ï´Ù. ±×·¡¼­ ÀÌ Ã¥Àº ¹«¾ùºÎÅÍ ÀÍÇô¾ß ÇÏ´ÂÁö ¸·¸·ÇÑ ÀÔ¹®ÀÚ¿¡°Ô ¹é¿£µå °³¹ßÀÇ Çʼö Áö½ÄÀ» ÇнÀ ·Îµå¸Ê Áß½ÉÀ¸·Î ¼³¸íÇÕ´Ï´Ù. À̾ ÀÚ¹Ù½ºÅ©¸³Æ® ±â¹Ý ¹é¿£µå °³¹ß¿¡ ²À ÇÊ¿äÇÑ 3´ëÀåÀΠŸÀÔ½ºÅ©¸³Æ® ¾ð¾î¿Í Node.js ·±Å¸ÀÓ, ÀͽºÇÁ·¹½º¿Í NestJS À¥ ÇÁ·¹ÀÓ¿öÅ©¸¦ È°¿ëÇÏ¿© ÃֽŠƮ·»µå¿¡ ¸Â°Ô ±×¸®°í ½Ç¹«¿¡ À¯¿ëÇϵµ·Ï ¹é¿£µå ±â¼úÀ» ¾Ë·ÁÁÝ´Ï´Ù. °Ë»ö, ´ñ±Û, ÆäÀÌÁö³×ÀÌ¼Ç ±â´ÉÀ» Á¦°øÇÏ´Â °Ô½ÃÆÇ, äÆÃ¹æ ±â´ÉÀÌ ÀÖ´Â ½Ç½Ã°£ Åë½Å äÆà ÇÁ·ÎÁ§Æ®±îÁö źźÇÏ°í À¯¿ëÇÏ°Ô ¾Ë·Áµå¸³´Ï´Ù. ¸ðµç Àå ³¡¿¡´Â ¿¬½À¹®Á¦°¡ ¼ö·ÏµÇ¾î ÀÖ¾î ¹è¿î ³»¿ëÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ã¥ÀÌ ¿©·¯ºÐÀÇ ¹é¿£µå °³¹ßÀÚ ¿©Á¤¿¡ µçµçÇÑ ³ªÄ§¹ÝÀÌ µÇ¾î ÁÙ °Ì´Ï´Ù.

ÀúÀÚ¼Ò°³

¾ÆÁ÷µµ °³¹ßÀÌ Àç¹Ì Àִ 15³âÂ÷ Ãµ»ó °³¹ßÀÚÀÔ´Ï´Ù. À¥ °³¹ß, °ÔÀÓ ¹é¿£µå °³¹ß, Ç÷§Æû ¹× ÀÎÇÁ¶ó °³¹ß µî ´Ù¾çÇÑ ¿µ¿ªÀ» °æÇèÇß½À´Ï´Ù. ÇöÀç´Â Ä«Ä«¿À¿£ÅÍÅ×ÀθÕÆ®¿¡¼­ ¹é¿£µå °³¹ßÀڷΠÀÏÇÕ´Ï´Ù. Çö) Ä«Ä«¿À¿£ÅÍÅ×ÀθÕÆ® ÆäÀÌÁö ¼­ºñ½º °³¹ßÆÀ Àü) Æ®¸®³ëµå (Æ÷ÄÚÆÎ, Æ÷ÄÚÆ÷ÄÚ) ¼­¹ö °³¹ßÀÚ Àü) NHN Japan Ç÷§Æû °³¹ßÆÀ

¸ñÂ÷

[·¹º§ 1 ¹é¿£µå °³¹ßÀÚ ÀÔ¹®Çϱâ]

00Àå °³¹ß È¯°æ ±¸ÃàÇϱâ 
_0.1 À©µµ¿ì °³¹ß È¯°æ ±¸Ãà 
__0.1.1 Node.js ¼³Ä¡ 
__0.1.2 ±ê ¼³Ä¡ 
__0.1.3 ºñÁ־󠽺Ʃµð¿À Äڵ堼³Ä¡ 
_0.2 ¸ÆOS °³¹ß È¯°æ ±¸Ãà 
__0.2.1 Node.js ¼³Ä¡ 
__0.2.2 ±ê ¼³Ä¡ 
__0.2.3 ºñÁ־󠽺Ʃµð¿À Äڵ堼³Ä¡ 
_0.3 ¸®´ª½º °³¹ß È¯°æ ±¸Ãà 
__0.3.1 Node.js ¼³Ä¡ 
__0.3.2 ±ê ¼³Ä¡ 
__0.3.3 ºñÁ־󠽺Ʃµð¿À Äڵ堼³Ä¡ 
_0.4 ¿¹Á¦ ¼Ò½º Äڵ堳»·Á¹Þ±â 
_0.5 VSCode·Î ³»·Á¹ÞÀº ¼Ò½º Äڵ堽ÇÇàÇϱâ 
_0.6 VSCode ÀÔ¹®ÀÚ¸¦ À§ÇÑ »ç¿ë¹ý ¾È³» 
__0.6.1 Äڵ堽ÇÇàÇϱâ 
__0.6.2 µð¹ö±ëÇϱâ 
__0.6.3 VSCode ´ÜÃàÅ° 

01À堾˾Ƶθé ÁÁÀº ¹é¿£µå °³¹ßÀÚ¸¦ À§ÇÑ Áö½Ä 
_1.1 ¹é¿£µå °³¹ßÀÚ°¡ ¾Ë¾Æ¾ß Çϴ °Í 
_1.2 ¹é¿£µå °³¹ßÀÚÀÇ ¾÷¹« 
_1.3 ¹é¿£µå ¾ÆÅ°ÅØó 
_1.4 ¹é¿£µå ÇÁ·Î±×·¡¹Ö ¾ð¾î 
_1.5 µ¥ÀÌÅͺ£À̽º 
__1.5.1 RDB 
__1.5.2 NoSQL(Not Only SQL) 
_1.6 Å¬¶ó¿ìµå ¼­ºñ½º 
_1.7 ÀÚ¹Ù½ºÅ©¸³Æ® »ýÅ°è 
__1.7.1 ÆÐÅ°Áö ¸Å´ÏÀú 
__1.7.2 ºôµå µµ±¸ 
__1.7.3 °³¹ß µµ±¸ 
__1.7.4 À¥ ÇÁ·¹ÀÓ¿öÅ© 
__1.7.5 ¹é¿£µå °³¹ß È¯°æ 
__1.7.6 ÀÎÇÁ¶ó 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

[·¹º§ 2 Node.js¿Í Express·Î ¹é¿£µå ÀÔ¹®Çϱâ]

02Àå Node.js·Î ¹é¿£µå ÀÔ¹®Çϱâ 
_2.1 Node.js ¼Ò°³ 
_2.2 Node.js´Â ¼­¹ö¿¡¼­ ¾î¶»°Ô ÀÚ¹Ù½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ±î? 
__2.2.1 Node.jsÀÇ ±¸¼º¿ä¼Ò 
__2.2.2 ÀÚ¹Ù½ºÅ©¸³Æ® ½ÇÇàÀ» À§ÇÑ V8 ¿£Áø 
__2.2.3 À̺¥Æ® ·çÇÁ¿Í ¿î¿µÃ¼Á¦ ´Ü ºñµ¿±â API ¹×
½º·¹µå Ç®À» Áö¿øÇϴ libuv 
__2.2.4 Node.js ¾ÆÅ°ÅØó 
_2.3 Node.jsÀÇ ±â¼úÀûÀΠƯ¡ 
__2.3.1 ½Ì±Û ½º·¹µå 
__2.3.2 À̺¥Æ® ±â¹Ý ¾ÆÅ°ÅØó 
__2.3.3 À̺¥Æ® ·çÇÁ 
_2.4 Node.js °ú¿¬ ¾µ ¸¸ÇÑ°¡? 
_2.5 ³ªÀǠù Node.js ¼­¹ö ÇÁ·Î±×·¥ 
__2.5.1 hello.js ÆÄÀÏ »ý¼º ¹× ½ÇÇà 
__2.5.2 curl ³»·Á¹Þ±â ¹× Å×½ºÆ®Çغ¸±â 
_2.6 Á¤¸»·Î µ¿½Ã¿¡ ¿äûÀ» Ã³¸®ÇÏ´ÂÁö ¼º´É Å×½ºÆ®Çϱâ 
__2.6.1 K6 ¼³Ä¡ 
__2.6.2 K6·Î ¼º´É Å×½ºÆ® ½ºÅ©¸³Æ® ÀÛ¼ºÇϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

03Àå Node.js¿Í ÀͽºÇÁ·¹½º·Î À¥ ¾ÖÇø®ÄÉÀ̼Ǡ¼­¹ö ±¸ÇöÇϱâ 
_3.1 OK¸¦ ¹ÝȯÇϴ ¼­¹ö ¸¸µé±â 
_3.2 ¶ó¿ìÅÍ ¸¸µé±â 
_3.3 createServer( ) ¸®ÆÑÅ͸µÇϱâ 
_3.4 µ¿ÀûÀ¸·Î ÀÀ´äÇϱâ 
_3.5 ¶ó¿ìÅÍ ¸®ÆÑÅ͸µÇϱâ 
_3.6 ÀͽºÇÁ·¹½º ÇÁ·¹ÀÓ¿öÅ© »ç¿ëÇϱâ 
__3.6.1 ÀͽºÇÁ·¹½º ¼³Ä¡Çϱâ 
__3.6.2 ³ªÀǠù ÀͽºÇÁ·¹½º ¼­¹ö ¸¸µé±â 
__3.6.3 Node.js ¶óÀ̺귯¸®·Î ¸¸µç ¼­¹ö¸¦ ÀͽºÇÁ·¹½º·Î ±¸ÇöÇϱâ 
_3.7 ÀͽºÇÁ·¹½º·Î °£´ÜÇÑ API ¼­¹ö ¸¸µé±â 
__3.7.1 °Ô½ÃÆÇ API ÄÚµå ÀÛ¼ºÇϱâ 
__3.7.2 API ±ÔÄ¢¿¡ ¸Â°Ô ¼­¹ö ±¸ÇöÇϱâ 
_3.8 °Ô½ÃÆÇ API Å×½ºÆ®Çϱâ 
__3.8.1 curl·Î GET È£ÃâÇϱâ 
__3.8.2 curl·Î POST¸¦ È£ÃâÇØ °Ô½Ã±Û µî·ÏÇϱâ 
__3.8.3 curl·Î DELETE¸¦ È£ÃâÇØ °Ô½Ã±Û »èÁ¦Çϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

04Àå npm°ú yarnÀ¸·Î ÆÐÅ°Áö °ü¸®Çϱâ 
_4.1 npm ¼Ò°³ 
_4.2 ÆÐÅ°Áö¿Í ¸ðµâ 
_4.3 package.json ÆÄÀÏÀ» ¸¸µé±â 
_4.4 ÆÐÅ°Áö ¼³Ä¡, ¾÷µ¥ÀÌÆ®, »èÁ¦ 
__4.4.1 ÆÐÅ°Áö ¼³Ä¡Çϱâ 
__4.4.2 ÆÐÅ°Áö ¾÷µ¥ÀÌÆ®Çϱâ 
__4.4.3 ¼³Ä¡ÇÑ ÆÐÅ°Áö È®ÀÎÇϱâ 
__4.4.4 ÆÐÅ°Áö »èÁ¦Çϱâ
_4.5 ½ºÅ©¸³Æ® ±â´É°ú NPX 
__4.5.1 npm ½ºÅ©¸³Æ® ÆÄÀÏÀ» Á¤ÀÇÇϱâ 
__4.5.2 NPX·Î ÄÚµå Æ÷¸ÅÆà¸í·É¾î prettier ½ÇÇàÇϱâ 
_4.6 ÆÐÅ°Áö Àá±Ý 
_4.7 npmÀÇ ´ë¾È yarn 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

05Àå ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼­ ºñµ¿±â Ã³¸®Çϱâ
_5.1 ÀÚ¹Ù½ºÅ©¸³Æ® ºñµ¿±â ¼Ò°³ 
_5.2 Äݹé ÇÔ¼ö ¼Ò°³ 
_5.3 Promise °´Ã¼ 
__5.3.1 µ¿½Ã¿¡ ¿©·¯ Promise °´Ã¼ È£ÃâÇϱâ 
__5.3.2 Promise ¿¹¿Ü Ã³¸®Çϱâ 
__5.3.3 ÇÁ·Î¹Ì½ºÀÇ ¹®Á¦Á¡ 
_5.4 async await ±¸¹® 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

06Àå NoSQL µ¥ÀÌÅͺ£À̽º ¸ù°íµðºñ »ç¿ëÇϱâ 
_6.1 ¸ù°íµðºñ ¼Ò°³ 
__6.1.1 µ¥ÀÌÅͺ£À̽º ±âº» ¿ë¾î 
__6.1.2 ¸ù°íµðºñ Æ¯Â¡ 
_6.2 ¸ù°íµðºñ ¾ÆƲ¶ó½º ¼³Á¤Çϱâ 
_6.3 ¸ù°íµðºñ CRUD API ¸¸µé±â 
_6.4 ¸ù°íµðºñ ÄÞÆĽº·Î µ¥ÀÌÅÍ È®ÀÎÇϱâ 
_6.5 ¸ù±¸½º¸¦ »ç¿ëÇØ CRUD ¸¸µé±â 
__6.5.1 ¸ù±¸½º ¼³Ä¡Çϱâ 
__6.5.2 ¸ù±¸½º·Î ½ºÅ°¸¶ ¸¸µé±â 
__6.5.3 ¸ù±¸½º¿Í ÀͽºÇÁ·¹½º·Î CRUD API ¸¸µé±â 
_6.6 REST Å¬¶óÀ̾ðÆ®·Î API Å×½ºÆ®Çϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

07Àå ÆäÀÌÁö³×À̼ǵǴ °Ô½ÃÆÇ ¸¸µé±â 
_7.1 ÇÁ·ÎÁ§Æ® ±¸Á¶ ¼Ò°³ 
_7.2 °Ô½ÃÆÇ ÇÁ·ÎÁ§Æ® ¼Â¾÷ 
__7.2.1 Node.js ÇÁ·ÎÁ§Æ® Ãʱ⠼³Á¤ 
__7.2.2 ÀͽºÇÁ·¹½º ¼³Ä¡ ¹× ÇÁ·ÎÁ§Æ® µð·ºÅ͸® ±¸Á¶ Àâ±â 
__7.2.3 ÇÚµé¹Ù ÅÛÇø´ ¿£Áø ¼³Ä¡ ¹× ¼³Á¤Çϱâ 
_7.3 È­¸é ±âȹÇϱâ 
__7.3.1 ¸®½ºÆ® È­¸é ±âȹ 
__7.3.2 ±Û¾²±â È­¸é ±âȹ 
__7.3.3 »ó¼¼ È­¸é ±âȹ 
_7.4 UI È­¸é ¸¸µé±â 
__7.4.1 ¸®½ºÆ® UI ¸¸µé±â 
__7.4.2 ±Û¾²±â UI ¸¸µé±â 
__7.4.3 »ó¼¼ÆäÀÌÁö UI ¸¸µé±â 
_7.5 API ¸¸µé±â 
__7.5.1 ¸ù°íµðºñ ¿¬°áÀ» À§ÇÑ À¯Æ¿¸®Æ¼ ¸¸µé±â 
__7.5.2 UI ÆäÀÌÁö¿¡¼­ »ç¿ëÇÒ ÇÚµé¹Ù Ä¿½ºÅÒ ÇïÆÛ ¸¸µé±â 
__7.5.3 nodemon ¼³Á¤Çϱâ 
__7.5.4 ±Û¾²±â API ¸¸µé±â 
__7.5.5 ¸®½ºÆ® API ¸¸µé±â 
__7.5.6 »ó¼¼ÆäÀÌÁö API ¸¸µé±â 
__7.5.7 ±Û ¼öÁ¤ API 
__7.5.8 ±Û »èÁ¦ API 
__7.5.9 ´ñ±Û Ãß°¡ API 
__7.5.10 ´ñ±Û »èÁ¦ API 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

[·¹º§ 3 NestJS ÇÁ·¹ÀÓ¿öÅ©·Î Á¡ÇÎÇϱâ]

08Àå NestJS ½ÃÀÛÇϱâ 
_8.1 ¿Ö NestJS°¡ ÇÊ¿äÇÒ±î? 
_8.2 NestJS ¼Ò°³ 
__8.2.1 ÀͽºÇÁ·¹½º¿Í NestJS ºñ±³Çϱâ 
__8.2.2 NestJS µÑ·¯º¸±â 
_8.3 NestJS ¼³Ä¡ÇÏ°í ½ÇÇàÇϱâ 
__8.3.1 ÀÇÁ¸¼º ÆÐÅ°Áö ¼³Ä¡Çϱâ 
__8.3.2 Å¸ÀÔ½ºÅ©¸³Æ® ¼³Á¤Çϱâ 
__8.3.3 NestJSÀÇ ¸ðµâ°ú ÄÁÆ®·Ñ·¯ ¸¸µé±â 
__8.3.4 hello-nest ¾Û ½ÇÇà½ÃÄѺ¸±â 
__8.3.5 NestJSÀÇ ³×À̹֠±ÔÄ¢ 
_8.4 NestJS·Î À¥ API ¸¸µé±â 
__8.4.1 ÇÁ·ÎÁ§Æ® »ý¼º°ú ¼³Á¤ 
__8.4.2 ÄÁÆ®·Ñ·¯ ¸¸µé±â 
__8.4.3 ºí·Î±× API ÀÛ¼ºÇϱâ 
__8.4.4 ¸Þ¸ð¸®¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇϴ API ¸¸µé±â 
__8.4.5 ÆÄÀÏ¿¡ Á¤º¸¸¦ ÀúÀåÇϵµ·Ï API ¾÷±×·¹À̵åÇϱâ 
_8.5 ÀÇÁ¸¼º ÁÖÀÔÇϱâ 
_8.6 ¸ù°íµðºñ ¿¬µ¿Çϱâ 
__8.6.1 ÀÇÁ¸¼º ¼³Ä¡ 
__8.6.2 ½ºÅ°¸¶ ¸¸µé±â 
__8.6.3 ¸ù°íµðºñ¸¦ »ç¿ëÇϴ ¸®Æ÷ÁöÅ丮 Ãß°¡Çϱâ 
__8.6.4 ¼­ºñ½º Äڵ堺¯°æ 
__8.6.5 ¸ðµâ¿¡ ¸ù°í µðºñ ¼³Á¤°ú ÇÁ·Î¹ÙÀÌ´õ ¼³Á¤ Ãß°¡Çϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

09Àå NestJS È¯°æ º¯¼ö ¼³Á¤Çϱâ 
_9.1 È¯°æ º¯¼ö ¼Ò°³ 
_9.2 ÇÁ·ÎÁ§Æ® »ý¼º ¹× ¼³Á¤Çϱâ 
_9.3 NestJS ¼³Á¤ ¹× Å×½ºÆ®Çϱâ 
__9.3.1 app.module.ts¿¡ ConfigModule ¼³Á¤Çϱâ 
__9.3.2 .env ÆÄÀÏ »ý¼ºÇϱâ 
__9.3.3 app.controller.ts¿¡ ÄÚµå Ãß°¡Çϱâ 
__9.3.4 Å×½ºÆ®Çϱâ 
_9.4 ConfigModuleÀ» Àü¿ª ¸ðµâ·Î ¼³Á¤ Çϱâ 
__9.4.1 .env¿¡ È¯°æ º¯¼ö ¼³Á¤Çϱâ 
__9.4.2 weather ¸ðµâ ¸¸µé±â 
__9.4.3 ³¯¾¾ API Å×½ºÆ®¿ë Çڵ鷯 ÇÔ¼ö·Î Å×½ºÆ®Çϱâ 
_9.5 ¿©·¯ È¯°æ º¯¼ö ÆÄÀÏ »ç¿ëÇϱâ 
__9.5.1 È¯°æº°·Î ¼­¹ö°¡ ±âµ¿µÇµµ·Ï ½ºÅ©¸³Æ® ¼öÁ¤Çϱâ 
__9.5.2 local, dev, prod È¯°æ º¯¼ö »ý¼º 
__9.5.3 È¯°æ º¯¼ö¿¡ µû¶ó¼­ ´Ù¸¥ È¯°æ º¯¼ö ÆÄÀÏÀ» »ç¿ëÇϵµ·Ï ¼³Á¤ ¼öÁ¤Çϱâ 
__9.5.4 Å×½ºÆ®¿ë Çڵ鷯 ÇÔ¼ö·Î Å×½ºÆ®Çϱâ 
_9.6 Ä¿½ºÅҠȯ°æ ¼³Á¤ ÆÄÀÏ »ç¿ëÇϱâ 
__9.6.1 È¯°æ º¯¼ö ÆÄÀÏ »ý¼ºÇϱâ 
__9.6.2 ConfigModule¿¡ load ¿É¼Ç Ãß°¡Çϱâ 
__9.6.3 Ä¿½ºÅҠȯ°æ º¯¼ö Àбâ Å×½ºÆ®Çϱâ 
_9.7 ¼­¹ö ±âµ¿°ú È¯°æ ¼³Á¤ ÆÄÀÏ ÃʱâÈ­ ¼ø¼­ ¾Ë¾Æº¸±â 
_9.8 YAML ÆÄÀÏÀ» »ç¿ëÇؠȯ°æ º¯¼ö ¼³Á¤Çϱâ 
__9.8.1 js-yaml ¼³Ä¡Çϱâ 
__9.8.2 config.yaml ÆÄÀÏ »ý¼ºÇϱâ 
__9.8.3 config.ts ¼öÁ¤Çϱâ 
__9.8.4 Å×½ºÆ®¿ë Çڵ鷯 ÇÔ¼ö·Î Å×½ºÆ®Çϱâ 
_9.9 Ä³½Ã ¿É¼Ç »ç¿ëÇϱâ 
_9.10 È®Àå º¯¼ö »ç¿ëÇϱâ 
__9.10.1 È®Àå º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ°Ô Ãß°¡ ¼³Á¤Çϱâ 
__9.10.2 Å×½ºÆ®¿ë Çڵ鷯 ÇÔ¼ö·Î Å×½ºÆ®Çϱâ 
_9.11 main.ts¿¡¼­ È¯°æ º¯¼ö »ç¿ëÇϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

10Àå È¸¿ø °¡ÀÔ°ú ÀÎÁõÇϱâ 
_10.1 ½Ç½À¿ë ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ 
__10.1.1 nest-cli·Î ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 
__10.1.2 User ¸ðµâ »ý¼ºÇϱâ 
__10.1.3 SQLite µ¥ÀÌÅͺ£À̽º ¼³Á¤Çϱâ 
_10.2 À¯Àú ¸ðµâÀÇ ¿£Æ¼Æ¼, ¼­ºñ½º, ÄÁÆ®·Ñ·¯ »ý¼ºÇϱâ 
__10.2.1 ¿£Æ¼Æ¼ ¸¸µé±â 
__10.2.2 ÄÁÆ®·Ñ·¯ ¸¸µé±â 
__10.2.3 ¼­ºñ½º ¸¸µé±â 
__10.2.4 Å×½ºÆ®Çϱâ 
_10.3 ÆÄÀÌÇÁ·Î À¯È¿¼º °ËÁõÇϱâ 
__10.3.1 Àü¿ª ValidationPipe ¼³Á¤Çϱâ 
__10.3.2 UserDto ¸¸µé±â 
__10.3.3 Å×½ºÆ®Çϱâ 
_10.4 ÀÎÁõ ¸ðµâ »ý¼º ¹× È¸¿ø °¡ÀÔÇϱâ 
__10.4.1 ÀÎÁõ ¸ðµâ ¸¸µé±â ¹× ¼³Á¤Çϱâ 
__10.4.2 È¸¿ø °¡ÀÔ ¸Þ¼­µå ¸¸µé±â 
__10.4.3 sqlite ÀͽºÅÙ¼ÇÀ¸·Î Å×À̺í È®ÀÎÇϱâ 
_10.5 ÄíÅ°¸¦ »ç¿ëÇÑ ÀÎÁõ ±¸ÇöÇϱâ 
__10.5.1 AuthService¿¡ À̸ÞÀÏ°ú Æнº¿öµå °ËÁõ ·ÎÁ÷ ¸¸µé±â 
__10.5.2 °¡µå¸¦ »ç¿ëÇØ ÀÎÁõµÆ´ÂÁö °Ë»çÇϱâ 
_10.6 ÆнºÆ÷Æ®¿Í ¼¼¼ÇÀ» »ç¿ëÇÑ ÀÎÁõ ±¸ÇöÇϱâ 
__10.6.1 ¶óÀ̺귯¸® ¼³Ä¡ ¹× ¼³Á¤ 
__10.6.2 ·Î±×Àΰú ÀÎÁõ¿¡ »ç¿ëÇÒ °¡µå ±¸ÇöÇϱâ 
__10.6.3 ¼¼¼Ç¿¡ Á¤º¸¸¦ ÀúÀåÇÏ°í Àд ¼¼¼Ç ½Ã¸®¾ó¶óÀÌÀú ±¸ÇöÇϱâ 
__10.6.4 email, password ÀÎÁõ ·ÎÁ÷ÀÌ Àִ LocalStrategy ÆÄÀÏ ÀÛ¼ºÇϱâ 
__10.6.5 auth.module.ts¿¡ ¼³Á¤ Ãß°¡Çϱâ 
__10.6.6 Å×½ºÆ®Çϱâ 
__10.6.7 ·Î±×Àΰú ¼¼¼Ç ÀúÀå±îÁö ¼ø¼­ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

11Àå OAuth¸¦ »ç¿ëÇÑ ±¸±Û ·Î±×ÀΠÀÎÁõÇϱâ 
_11.1 OAuth ¼Ò°³ 
__11.1.1 OAuth ÇÁ·ÎÅäÄÝ È帧 
__11.1.2 ¾×¼¼½º ÅäÅ«À» Àç¹ßÇàÇϴ È帧 
_11.2 ±¸±Û OAuth¸¦ »ç¿ëÇϱâ À§ÇÑ ÁغñÇϱâ 
__11.2.1 ±¸±Û Å¬¶ó¿ìµå¿¡¼­ ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 
__11.2.2 OAuth µ¿ÀÇ È­¸éÀ» ¸¸µé±â 
__11.2.3 OAuth Å¬¶óÀ̾ðÆ®ÀÇ ID¿Í ºñ¹Ð¹øÈ£ ¸¸µé±â 
_11.3 ±¸±Û OAuth ±¸Çö ¼ø¼­ 
_11.4 NestJS È¯°æ ¼³Á¤ ÆÄÀÏ Ãß°¡Çϱâ 
_11.5 ±¸±Û OAuth ½ºÆ®·¡Æ¼Áö ¸¸µé±â 
_11.6 GoogleAuthGuard ¸¸µé±â 
_11.7 ÄÁÆ®·Ñ·¯¿¡ Çڵ鷯 ¸Þ¼­µå Ãß°¡Çϱâ 
__11.7.1 Å×½ºÆ®Çϱâ 
_11.8 User ¿£Æ¼Æ¼ ÆÄÀÏ ¼öÁ¤Çϱâ 
_11.9 UserService¿¡ ±¸±Û À¯Àú °Ë»ö ¹× ÀúÀå ¸Þ¼­µå Ãß°¡Çϱâ 
_11.10 GoogleStrategy¿¡ ±¸±Û À¯Àú ÀúÀåÇϴ ¸Þ¼­µå Àû¿ëÇϱâ 
_11.11 GoogleAuthGuard¿¡ ¼¼¼ÇÀ» »ç¿ëÇϵµ·Ï º¯°æÇϱâ 
_11.12 Å×½ºÆ®Çϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

12Àå ÆÄÀÏ ¾÷·Îµå ±â´É ±¸ÇöÇϱâ 
_12.1 ÇÁ·ÎÁ§Æ® »ý¼º ¹× ÀÇÁ¸¼º ¼³Ä¡Çϱâ 
_12.2 ÆÄÀÏ ¾÷·Îµå API¸¦ ¸¸µé°í Å×½ºÆ®Çϱâ 
__12.2.1 Å×½ºÆ®Çϱâ 
_12.3 ¾÷·ÎµåÇÑ ÆÄÀÏÀ» Æ¯Á¤ÇÑ °æ·Î¿¡ ÀúÀåÇϱâ 
__12.3.1 Å×½ºÆ®Çϱâ 
_12.4 Á¤Àû ÆÄÀÏ ¼­ºñ½ºÇϱâ 
__12.4.1 Å×½ºÆ®Çϱâ 
_12.5 HTML ÆûÀ¸·Î ¾÷·ÎµåÇϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

13Àå À¥¼ÒÄÏÀ» »ç¿ëÇÑ ½Ç½Ã°£ Ã¤Æ౸ÇöÇϱâ 
_13.1 À¥¼ÒÄÏ ¼Ò°³ 
__13.1.1 À¥¼ÒÄÏÀÇ µ¿ÀÛ ¹æ¹ý 
_13.2 ¸Þ¾Æ¸® ¾ÖÇø®ÄÉÀ̼Ǡ¸¸µé±â : À¥¼ÒÄÏ 
__13.2.1 ws ÆÐÅ°Áö ¼³Ä¡Çϱâ 
__13.2.2 ¼­¹ö Ãø ±¸ÃàÇϱâ : server.js ÆÄÀÏ ÀÛ¼º ¹× ¼­¹ö ±¸µ¿ 
__13.2.3 Å¬¶óÀ̾ðÆ® Ãø ±¸ÇöÇϱâ : client.html ÆÄÀÏ ÀÛ¼º 
__13.2.4 Å×½ºÆ®Çϱâ 
__13.2.5 ÇâÈÄ °úÁ¦ È®ÀÎÇϱâ 
_13.3 °£´ÜÇѠäÆà¾ÖÇø®ÄÉÀ̼Ǡ¸¸µé±â : socket.io 
__13.3.1 socket.io ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ 
__13.3.2 ÆÐÅ°Áö ¼³Ä¡Çϱâ 
__13.3.3 html ÆÄÀÏÀ» ºÒ·¯¿Àµµ·Ï main.ts ¼³Á¤Çϱâ 
__13.3.4 ¼­¹ö Ãø ÀÛ¾÷À» À§ÇÑ °ÔÀÌÆ®¿þÀÌ ¸¸µé±â 
__13.3.5 °ÔÀÌÆ®¿þÀ̸¦ ¸ðµâ¿¡ µî·ÏÇϱâ 
__13.3.6 Å¬¶óÀ̾ðÆ®¸¦ À§ÇÑ index.html ¼öÁ¤Çϱâ 
__13.3.7 Å×½ºÆ®Çϱâ 
_13.4 Ã¤Æù栱â´ÉÀÌ Àִ äÆà¾ÖÇø®ÄÉÀ̼Ǡ¸¸µé±â 
__13.4.1 ³×ÀÓ½ºÆäÀ̽º »ç¿ëÇϱâ 
__13.4.2 ´Ð³×ÀÓ Ãß°¡Çϱâ 
__13.4.3 Ã¤Æù栻ý¼ºÇϱâ 
__13.4.4 °øÁö ¿µ¿ª°ú Ã¤Æùæ ÀÔÀå ±¸ÇöÇϱâ 
__13.4.5 Ã¤Æù濡¼­ ´ëÈ­ ³ª´©±â ±¸ÇöÇϱâ 
__13.4.6 Å×½ºÆ®Çϱâ 
_ÇнÀ ¸¶¹«¸® 
_¿¬½À¹®Á¦ 

appendix A Å¸ÀÔ½ºÅ©¸³Æ® ÀÔ¹®¿¡¼­ °í±Þ ±â´É±îÁö
appendix B ²À ¾Ë¾Æ¾ß Çϴ ¸®´ª½º ¸í·É¾î 21°³

ÇÑÁÙ ¼­Æò