|
¡Ø ¾Ë·Áµå¸³´Ï´Ù.¹ßÇàÀÏ : 2021-12-29
Ã¥¼Ò°³ÀÌ Ã¥ÀÌ ¼ÓÇÑ ºÐ¾ß
ÀÌ Ã¥ÀÇ ÁÖÁ¦¾îÀÌ°ÍÀÌ ÁøÂ¥ Node.js ½Ç¹« ½ºÅ³ÀÌ´Ù À¥ ¼¹ö °³¹ß ½ÇÀü ³ëÇϿ츦 ÇÑ ±ÇÀ¸·Î! ÀÌ Ã¥Àº öÀúÈ÷ ‘½Ç¹«’ À§ÁÖÀÇ ÇнÀ¼·Î, Node.js·Î ¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ ±â´É¸¸À» ´Ù·ì´Ï´Ù. ·Î±× °ü¸® · À̸ÞÀÏ ¹ß¼Û · ½ºÄÉÁÙ·¯ · ¿¢¼¿ ÆÄÀÏ »ý¼º · À¥¼ÒÄÏ · Å©·Ñ¸µ µî ÀúÀÚ°¡ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ °¡Àå ¸¹ÀÌ »ç¿ëÇß´ø À¥ ¼¹ö ¿î¿µ ±â´É°ú ½Ç¹« ³ëÇϿ츦 ´ã¾Ò½À´Ï´Ù. ¶ÇÇÑ, Node.jsÀÇ ´Ù¾çÇÑ ¸ðµâÀ» È°¿ëÇÑ ºü¸¥ ¼¹ö °³¹ß°ú SQL ±¸Ãà ¿µ¿ªÀ» µðÅ×ÀÏÇÏ°Ô ¼³¸íÇÏ°í MongoDB¿Í NoSQL±îÁö ¸Á¶óÇÕ´Ï´Ù. ÀÚ¹Ù½ºÅ©¸³Æ®¶ó´Â ÇϳªÀÇ ¾ð¾î·Î À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·±Æ®¿£µå¿Í ¹é¿£µå¸¦ ¸ðµÎ ±¸ÃàÇØ º¸¼¼¿ä! ¿©·¯ºÐµµ Ç®½ºÅà °³¹ßÀÚ°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ Ã¥À» ÅëÇØ ÀÍÈú ¼ö ÀÖ´Â ½Ç¹« ±â¼ú ¤ý À¥ ¼¹ö ±¸ÃàÇϱ⠤ý Node.jsÀÇ ´Ù¾çÇÑ ¹Ìµé¿þ¾î ¸ðµâ È¿°úÀûÀ¸·Î »ç¿ëÇϱ⠤ý Ŭ¶óÀ̾ðÆ® ¿äû ü°èÀûÀ¸·Î °ü¸®Çϱ⠤ý À¥ ÇÁ·±Æ®¿£µå °³¹ßÀÚ¿Í ºü¸£°í È¿À²ÀûÀ¸·Î ¼ÒÅëÇϱ⠤ý ¾à¼ÓµÈ ƯÁ¤ ½Ã°£¿¡ ÀÛ¾÷À» ½ÇÇàÇÏ´Â ½ºÄÉÁÙ·¯ ¸¸µé±â ¤ý ÀüÀÚ ¸ÞÀÏ·Î ÀÛ¾÷ ¿äû, ÀÏÁ¤, ÇÒ ÀÏ°ú °°Àº À̺¥Æ® Àü¼ÛÇϱ⠤ý ±â¾÷ ³» À¯ÀǹÌÇÑ µ¥ÀÌÅ͸¦ Áý°èÇÏ°í ¿¢¼¿ ÆÄÀÏ·Î »ý¼ºÇϱ⠤ý »ç¿ëÀÚ ÀÎÁõ, ½Ã½ºÅÛ µ¥ÀÌÅÍ ¸®Æ÷Æ® µîÀ» Æ÷ÇÔÇÑ À̸ÞÀÏ ¹ß¼ÛÇϱ⠤ý MySQL°ú °°Àº RDB, MongoDB¿Í °°Àº NoSQLÀ» ¿¬°áÇÏ°í Á¶È¸/»ý¼º/¼öÁ¤/»èÁ¦ µîÀÇ µ¥ÀÌÅÍ Á¶ÀÛÇϱ⠸ñÂ÷Chapter 01. Node.js 1.1 Node.js¶õ? 1.2 Node.jsÀÇ Æ¯Â¡ ___ 1.2.1 ³íºí·ÎÅ·(Non-blocking) I/O ___ 1.2.2 ½Ì±Û ½º·¹µå(Single Thread) ___ 1.2.3 À̺¥Æ® ·çÇÁ(Event Loop) 1.3 npm(Node Package Manager) Chapter 02. °³¹ßȯ°æ ±¸¼º 2.1 Visual Studio Code ¼³Ä¡Çϱâ ___ 2.1.1 ¸Æ¿¡¼ Visual Studio Code ¼³Ä¡ ___ 2.1.2 À©µµ¿ì¿¡¼ Visual Studio Code ¼³Ä¡ 2.2 Node.js ¼³Ä¡Çϱâ ___ 2.2.1 ¸Æ¿¡¼ Node.js ¼³Ä¡ ___ 2.2.2 À©µµ¿ì¿¡¼ Node.js ¼³Ä¡ ___ 2.2.3 Å͹̳Π¸ðµå º¯°æ 2.3 ÀÚ¹Ù½ºÅ©¸³Æ® °³¹ß¿¡ À¯¿ëÇÑ Visual Studio Code Extension ¼³Ä¡Çϱâ ___ 2.3.1 JavaScript(ES6) code snippets ___ 2.3.2 ESLint ___ 2.3.3 Prettier - Code formatter ___ 2.3.4 Live Server Chapter 03. ¼¹ö ÇÁ·Î±×·¥À» À§ÇÑ ÀÚ¹Ù½ºÅ©¸³Æ® 3.1 º¯¼ö ¼±¾ðÀÚ ÀÌÇØÇϱâ ___ 3.1.1 var ¼±¾ðÀÚ ___ 3.1.2 let ¼±¾ðÀÚ ___ 3.1.3 const ¼±¾ðÀÚ 3.2 È»ìÇ¥ ÇÔ¼ö(Arrow Function) 3.3 Array ³»Àå ÇÔ¼ö ___ 3.3.1 sort() ___ 3.3.2 filter() ___ 3.3.3 map() ___ 3.3.4 reduce() 3.4 Template Literals 3.5 Spread Operator 3.6 Object Destructuring 3.7 Array Destructuring 3.8 Default Function Parameter 3.9 Rest Parameter 3.10 Promise 3.11 Async/Await 3.12 Ŭ·¡½º(Class) ___ 3.12.1 Class Á¤ÀÇ ___ 3.12.2 Class »ç¿ë ___ 3.12.3 Class ³»ºÎ ÇÔ¼ö Á¤ÀÇ ___ 3.12.4 Class »ó¼Ó 3.13 Á¤±Ô Ç¥Çö½Ä(Regular Expression) ___ 3.13.1 Á¤±Ô½Ä ¸¸µé±â ___ 3.13.2 Á¤±Ô½Ä ÇÔ¼ö ___ 3.13.3 Á¤±Ô½Ä Ư¼ö ¹®ÀÚ ___ 3.13.4 Á¤±Ô½Ä Ç÷¡±× Chapter 04. Node.js ½ÃÀÛÇϱâ 4.1 Node.js¿¡¼ ÀÚ¹Ù½ºÅ©¸³Æ® ÆÄÀÏ ½ÇÇàÇϱâ 4.2 ¸ðµâ(Module) Chapter 05. Node.js ³»Àå ¸ðµâ/°´Ã¼ 5.1 Console ___ 5.1.1 Console Ŭ·¡½º ___ 5.1.2 Àü¿ª °´Ã¼ console 5.2 Timers 5.3 Process ___ 5.3.1 Process events ___ 5.3.2 process.env ___ 5.3.3 process.nextTick ___ 5.3.4 process.exit() 5.4 OS 5.5 Path ___ 5.5.1 path.basename(path[,ext]) ___ 5.5.2 path.delimiter ___ 5.5.3 path.dirname(path) ___ 5.5.4 path.extname(path) ___ 5.5.5 path.format(pathObject) ___ 5.5.6 path.isAbsolute(path) ___ 5.5.7 path.join([...paths]) ___ 5.5.8 path.parse(path) ___ 5.5.9 path.sep 5.6 URL ___ 5.6.1 WHATWG API ___ 5.6.2 ·¹°Å½Ã API 5.7 Crypto 5.8 File system ___ 5.8.1 fs.readFile(path, [options], callback) ___ 5.8.2 fs.readFileSync(path, [options]) ___ 5.8.3 fs.writeFile(path, data, [options], callback) ___ 5.8.4 writeFileSync(path, data, [options]) ___ 5.8.5 fs.watchFile(filename[, options], listener) Chapter 06. json-server ÀÌ¿ëÇϱâ 6.1 REST API 6.2 json-server ¼³Ä¡ 6.3 json ÆÄÀÏ »ý¼º 6.4 json-server ½ÇÇà 6.5 GET ¿äû 6.6 POST ¿äû 6.7 PUT ¿äû 6.8 DELETE ¿äû Chapter 07. Express·Î À¥ ¼¹ö ±¸ÃàÇϱâ 7.1 Express.js·Î À¥ ¼¹ö ¸¸µé±â ___ 7.1.1 package.json ÆÄÀÏ »ý¼º ___ 7.1.2 Express ¼³Ä¡ ___ 7.1.3 app.js »ý¼º 7.2 ¶ó¿ìÆà ó¸®Çϱâ ___ 7.2.1 ¶ó¿ìÆÃ(Routing) ___ 7.2.2 ¶ó¿ìÆ®(Route) ¸Þ¼Òµå ___ 7.2.3 ¶ó¿ìÆ®(Route) °æ·Î ___ 7.2.4 ¶ó¿ìÆ®(Route) Çڵ鷯 ___ 7.2.5 ÀÀ´ä ¸Þ¼Òµå ___ 7.2.6 app.route() ___ 7.2.7 express.Router 7.3 Express¿¡¼ ¿¡·¯ ó¸®Çϱâ 7.4 Express¿¡¼ Á¤Àû ÆÄÀÏ Á¦°øÇϱâ 7.5 ¹Ìµé¿þ¾î ¸ðµâ ___ 7.5.1 body-parser ___ 7.5.2 compression ___ 7.5.3 cookie-session ___ 7.5.4 express-session ___ 7.5.5 cors ___ 7.5.6 morgan ___ 7.5.7 multer ___ 7.5.8 response-time ___ 7.5.9 connect-timeout 7.6 Postman ¼³Ä¡ ¹× ÀͽºÇÁ·¹½º ¶ó¿ìÆ® Å×½ºÆ® ___ 7.6.1 Postman ¼³Ä¡Çϱâ ___ 7.6.2 ÀͽºÇÁ·¹½º ¶ó¿ìÆ® Å×½ºÆ®Çϱâ Chapter 08. µ¥ÀÌÅͺ£À̽º »ç¿ëÇϱâ 8.1 MySQL ___ 8.1.1 ¸Æ¿¡¼ MySQL ¼³Ä¡Çϱâ ___ 8.1.2 À©µµ¿ì¿¡¼ MySQL ¼³Ä¡Çϱâ ___ 8.1.3 Workbench ¼³Ä¡Çϱâ ___ 8.1.4 µ¥ÀÌÅͺ£À̽º ¹× Å×ÀÌºí »ý¼ºÇϱâ ___ 8.1.5 MySQL ¸ðµâ »ç¿ëÇϱâ ___ 8.1.6 Sequelize 8.2 MongoDB ___ 8.2.1 ¸Æ¿¡¼ MongoDB ¼³Ä¡Çϱâ ___ 8.2.2 À©µµ¿ì¿¡¼ MongoDB ¼³Ä¡Çϱâ ___ 8.2.3 DB Åø ¼³Ä¡Çϱâ ___ 8.2.4 µ¥ÀÌÅͺ£À̽º ¹× Ä÷º¼Ç »ý¼ºÇϱâ ___ 8.2.5 mongoose ¸ðµâ »ç¿ëÇϱâ Chapter 09. ¾ÖÇø®ÄÉÀÌ¼Ç ¿î¿µ°ú °í¼º´É À¥À» À§ÇÑ Node.js 9.1 ·Î±× °ü¸® 9.2 ¸ÞÀϸµ ¼ºñ½º ___ 9.2.1 Nodemailer ___ 9.2.2 SMTP transport ___ 9.2.3 À̸ÞÀÏ º¸³»±â ___ 9.2.4 GmailÀ» »ç¿ëÇؼ À̸ÞÀÏ º¸³»±â ___ 9.2.5 mailtrap ¼ºñ½º ÀÌ¿ëÇؼ À̸ÞÀÏ º¸³»±â 9.3 ÀÛ¾÷ ½ºÄÉÁÙ·¯(Job Scheduler) ___ 9.3.1 node-cron ___ 9.3.2 ÀÛ¾÷ ½ºÄÉÁÙ ¼³Á¤Çϱâ ___ 9.3.3 ŸÀÓÁ¸ ¼³Á¤Çϱâ ___ 9.3.4 ScheduledTask ÇÔ¼ö ___ 9.3.5 Á¤ÇØÁø ½Ã°£¿¡ À̸ÞÀÏ ¹ß¼ÛÇϱâ 9.4 ¿¢¼¿ ÆÄÀÏ Ã³¸® ___ 9.4.1 xlsx ___ 9.4.2 ¿¢¼¿ ÆÄÀÏ Àбâ ___ 9.4.3 ¿¢¼¿ ÆÄÀÏ ³»¿ë ¼öÁ¤Çϱâ ___ 9.4.4 Ŭ¶óÀ̾ðÆ®¿¡¼ ¾÷·ÎµåÇÑ ¿¢¼¿ ÆÄÀÏ Àбâ ___ 9.4.5 ¿¢¼¿ ÆÄÀÏ »ý¼ºÇϱâ ___ 9.4.6 ¼¿ ½ºÅ¸ÀÏ ___ 9.4.7 µ¥ÀÌÅͺ£À̽º µ¥ÀÌÅ͸¦ Á¶È¸Çؼ ¿¢¼¿ ÆÄÀÏ·Î »ý¼ºÇϱâ ___ 9.4.8 À̸ÞÀÏ¿¡ ¿¢¼¿ ÆÄÀÏ Ã·ºÎÇϱâ ___ 9.4.9 ¿¢¼¿ ÆÄÀÏ Å¬¶óÀ̾ðÆ®·Î ´Ù¿î·Îµå 9.5 iCalendar À̺¥Æ® »ý¼º ___ 9.5.1 iCalendar À̺¥Æ® »ý¼ºÇϱâ ___ 9.5.2 iCalendar À̺¥Æ® À̸ÞÀÏ ¹ß¼ÛÇϱâ 9.6 À¥¼ÒÄÏ ___ 9.6.1 À¥¼ÒÄÏÀ̶õ ___ 9.6.2 À¥¼ÒÄÏ ¼¹ö ±¸ÇöÇϱâ ___ 9.6.3 À¥¼ÒÄÏ Å¬¶óÀ̾ðÆ® ±¸ÇöÇϱâ 9.7 Å©·Ñ¸µ ___ 9.7.1 Å©·Ñ¸µÀ̶õ ___ 9.7.2 axios, cheerio ¸ðµâ ___ 9.7.3 ÀÎÇÁ·± °ÀÇ ¸ñ·Ï Å©·Ñ¸µÇϱâ 9.8 forever 9.9 Ŭ·¯½ºÅÍ ¸ðµå 9.10 PM2 ___ 9.10.1 PM2 »ç¿ëÇϱâ ___ 9.10.2 Ŭ·¯½ºÅÍ ¸ðµå·Î ½ÇÇàÇϱâ ___ 9.10.3 Ecosystem File Chapter 10. Node.js ¹Ì´Ï ÇÁ·ÎÁ§Æ®: Á¦Ç° ÆǸŠÀ¥¾Û ±¸Çö 10.1 ¾ÖÇø®ÄÉÀÌ¼Ç Overview 10.2 ÇÁ·ÎÁ§Æ® ¼ÒÇÁÆ®¿þ¾î ±¸¼º 10.3 Node.js + Express ¼¹ö ±¸¼º ___ 10.3.1 app.js ___ 10.3.2 sql.js 10.4 µ¥ÀÌÅͺ£À̽º ±¸¼º
(°³)
1. ¹è¼Û
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 4½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ12½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù. ¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù. 2. ¹è¼Û·á ¹è¼Û·á´Â 25,000¿ø ÀÌ»óÀÌ °æ¿ì À̱×ÀëÇ÷¯½º¿¡¼ ºÎ´ãÇÏ°í, ¹Ì¸¸ÀÏ °æ¿ì °í°´ÀÌ 2,500¿øÀ» ºÎ´ãÇÕ´Ï´Ù. ´Ù¸¸ ±¸¸Å±Ý¾×ÀÌ 25,000¿ø ÀÌ»óÀε¥ Àû¸³±Ý µîÀ» »ç¿ëÇÏ¿© ½ÇÁ¦ °áÀç±Ý¾×ÀÌ 25,000¿ø ¹Ì¸¸ÀÌ µÇ´õ¶óµµ À̱×ÀëÇ÷¯½º¿¡¼ ¹è¼Û·á¸¦ ºÎ´ãÇÏ°í, Á¦ÁÖ¸¦ Á¦¿ÜÇÑ µµ¼Áö¿ªÀÇ °æ¿ì´Â 5,000¿øÀÌ Ãß°¡µË´Ï´Ù. Çؿܹè¼ÛÀº Àü¾× °í°´ºÎ´ãÀÌ µË´Ï´Ù. 5. ¹ÝÇ°/±³È¯
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù. 4. ȯºÒ ¹ÞÀ¸½Å ³¯ºÎÅÍ 2ÀÏ À̳»·Î Àüȳª 1:1 °Ô½Ã±Û·Î Àû¾îÁÖ¼Å¾ß °¡´ÉÇϽʴϴÙ. 5. ÁÖÀÇ °í°´´Ô º¯½ÉÀ¸·Î ÀÎÇÑ ±³È¯/¹ÝÇ°/ȯºÒ °í°´´Ô²²¼ Åùèºñ(¿Õº¹Åùèºñ)¸¦ ºÎ´ãÀÌ µÇ´Ï ÀÌÁ¡ À¯ÀÇÇØ ÁֽʽÿÀ. ¶ÇÇÑ °ÀÇÅ×ÀÙ/¾ãÀº¹®Á¦Áý/ºñ´ÒÆ÷ÀåµÈÁ¦Ç°µîÀº Çѹø ±¸¸ÅÇÏ½Ã¸é ±³È¯/¹ÝÇ°/ȯºÒÀÌ ÀüÇô ¾ÈµË´Ï´Ù. ½ÅÁßÈ÷ »ý°¢Çϼż ±¸¸Å ºÎŹµå¸³´Ï´Ù. ´Ù¸¸ ºÒ·®Å×ÀÙÀÇ °æ¿ì ±× ºÒ·®ÀÌ µÈ °³º°Å×ÀÙÀ» À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î A/S¸¦ Çص帳´Ï´Ù. 6. ÁÖ¹®Ãë¼Ò, ±³È¯, ¹ÝÇ° ¹× ȯºÒÀº ´çÀÏ 3½Ã ÀÌÀü¿¡ ÇØÁÖ¼Å¾ß °¡´ÉÇÕ´Ï´Ù. ±× ÀÌÈÄ´Â ¹è¼Û µî¿¡ µû¸¥ Á¦ºñ¿ëÀ» ºÎ´ãÇÏ¼Å¾ß ÇÕ´Ï´Ù.
|
|
||||||||
|
||||||||
|
||||||||
* »óÇ°»çÀÌÁî Ä¡¼ö´Â Àç´Â ¹æ¹ý°ú À§Ä¡¿¡ µû¶ó 1~3cm ¿ÀÂ÷°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.