- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > À¥ÇÁ·Î±×·¡¹Ö > Node.js ÇÁ·ÎÁ§Æ® ÅõÀÔ ÀÏÁÖÀÏ Àü[ºñÁ¦ÀÌÆÛºí¸¯]
ÀÌ Ã¥Àº öÀúÈ÷ ¡®½Ç¹«¡¯ À§ÁÖÀÇ ÇнÀ¼·Î, Node.js·Î ¼¹ö ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇϱâ À§ÇÑ ±â´É¸¸À» ´Ù·ì´Ï´Ù. ·Î±× °ü¸® ¡¤ À̸ÞÀÏ ¹ß¼Û ¡¤ ½ºÄÉÁÙ·¯ ¡¤ ¿¢¼¿ ÆÄÀÏ »ý¼º ¡¤ À¥¼ÒÄÏ ¡¤ Å©·Ñ¸µ µî ÀúÀÚ°¡ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ °¡Àå ¸¹ÀÌ »ç¿ëÇß´ø À¥ ¼¹ö ¿î¿µ ±â´É°ú ½Ç¹« ³ëÇϿ츦 ´ã¾Ò½À´Ï´Ù. ¶ÇÇÑ, Node.jsÀÇ ´Ù¾çÇÑ ¸ðµâÀ» È°¿ëÇÑ ºü¸¥ ¼¹ö °³¹ß°ú SQL ±¸Ãà ¿µ¿ªÀ» µðÅ×ÀÏÇÏ°Ô ¼³¸íÇÏ°í MongoDB¿Í NoSQL±îÁö ¸Á¶óÇÕ´Ï´Ù.
ÀÚ¹Ù½ºÅ©¸³Æ®¶ó´Â ÇϳªÀÇ ¾ð¾î·Î À¥ ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·±Æ®¿£µå¿Í ¹é¿£µå¸¦ ¸ðµÎ ±¸ÃàÇØ º¸¼¼¿ä! ¿©·¯ºÐµµ Ç®½ºÅà °³¹ßÀÚ°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ Ã¥À» ÅëÇØ ÀÍÈú ¼ö ÀÖ´Â ½Ç¹« ±â¼ú
¤ý À¥ ¼¹ö ±¸ÃàÇϱâ
¤ý Node.jsÀÇ ´Ù¾çÇÑ ¹Ìµé¿þ¾î ¸ðµâ È¿°úÀûÀ¸·Î »ç¿ëÇϱâ
¤ý Ŭ¶óÀ̾ðÆ® ¿äû ü°èÀûÀ¸·Î °ü¸®Çϱâ
¤ý À¥ ÇÁ·±Æ®¿£µå °³¹ßÀÚ¿Í ºü¸£°í È¿À²ÀûÀ¸·Î ¼ÒÅëÇϱâ
¤ý ¾à¼ÓµÈ ƯÁ¤ ½Ã°£¿¡ ÀÛ¾÷À» ½ÇÇàÇÏ´Â ½ºÄÉÁÙ·¯ ¸¸µé±â
¤ý ÀüÀÚ ¸ÞÀÏ·Î ÀÛ¾÷ ¿äû, ÀÏÁ¤, ÇÒ ÀÏ°ú °°Àº À̺¥Æ® Àü¼ÛÇϱâ
¤ý ±â¾÷ ³» À¯ÀǹÌÇÑ µ¥ÀÌÅ͸¦ Áý°èÇÏ°í ¿¢¼¿ ÆÄÀÏ·Î »ý¼ºÇϱâ
¤ý »ç¿ëÀÚ ÀÎÁõ, ½Ã½ºÅÛ µ¥ÀÌÅÍ ¸®Æ÷Æ® µîÀ» Æ÷ÇÔÇÑ À̸ÞÀÏ ¹ß¼ÛÇϱâ
¤ý MySQL°ú °°Àº RDB, 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.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 µ¥ÀÌÅͺ£À̽º ±¸¼º
ÁøÂ¥ ½ÇÀü¿¡ °¡±î¿î Ã¥À» ¿øÇÑ´Ù¸é ÀÌ Ã¥ÀÔ´Ï´Ù
ÀÌ Ã¥Àº Node.js·Î ¼¹ö¸¦ °³¹ßÇÒ ¶§ Àý´ë ³õÃļ´Â ¾È µÇ´Â ³»¿ë¸¸À» ´ãÀº ¹®¹ý Áß½ÉÀÌ ¾Æ´Ñ ±â´É Áß½ÉÀÇ Ã¥ÀÔ´Ï´Ù. ½Ç¹«¿¡¼ ¹Ýµå½Ã ±¸ÇöÇØ¾ß ÇÏ´Â À¥ ¼¹ö ¹× °í±Þ ¾ÖÇø®ÄÉÀÌ¼Ç ±â´ÉÀ» ¾î¶² npm ¸ðµâÀ» »ç¿ëÇؼ ±¸ÃàÇÏ´ÂÁö ±×¸®°í ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾È³»ÇÕ´Ï´Ù.
Ã¥¿¡¼ ¼Ò°³ÇÏ´Â °¢°¢ÀÇ ±â´ÉÀ» ¸¶½ºÅÍÇÒ ¶§¸¶´Ù ¿©·¯ºÐÀº À̸¦ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ ±¸ÇöÇÒ ¼ö ÀÖ´Â ¿ª·®ÀÌ ´Ã¾î³¯ °ÍÀÔ´Ï´Ù. ±×¸®°í ¸Å¹ø ¹Ù²î´Â °³¹ß ȯ°æÀ̳ª °©ÀÛ½º·¯¿î ÇÁ·ÎÁ§Æ® ÅõÀÔ¿¡µµ ´çȲÇÏÁö ¾Ê°í Ç®½ºÅà °³¹ßÀڷμÀÇ ¿ª·®À» ¹Ù·Î ¹ßÈÖÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ Ã¥À» ÅëÇØ ¹«½ÉÄÚ »ç¿ëÇß´ø ±â¼ú, ³õÄ¡Áö ¸»¾Æ¾ß ÇÒ »õ·Î¿î ±â¼ú¿¡ ´ëÇØ ´Ù½Ã Çѹø Á¡°ËÇÏ´Â ½Ã°£À» °¡Áö½Ã±â ¹Ù¶ø´Ï´Ù.
ÀÌ Ã¥Àº ÀúÀÚÀÇ ´Ù¸¥ Ã¥ ¡ºVue.js ÇÁ·ÎÁ§Æ® ÅõÀÔ ÀÏÁÖÀÏ Àü¡»ÀÇ ½Ã¸®Áî¼ÀÔ´Ï´Ù. éÅÍ 10 ¹Ì´Ï ÇÁ·ÎÁ§Æ®: Á¦Ç° ÆǸŠÀ¥¾Û¡¯ÀÇ ÇÁ·±Æ®¿£µå ºÎºÐÀ» ¡ºVue.js ÇÁ·ÎÁ§Æ® ÅõÀÔ ÀÏÁÖÀÏ Àü¡»¿¡¼ °³¹ßÇÏ°í, ÀÌ Ã¥¿¡¼´Â ¹é¿£µå ºÎºÐÀ» ´Ù·ì´Ï´Ù.
ÀÌ Ã¥ÀÇ µ¶ÀÚ
¤ý ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ´Â µ¶ÀÚ
¤ý ½Ç¹«¿¡ Node.js¸¦ ¹Ù·Î Àû¿ëÇϱ⸦ ¿øÇÏ´Â µ¶ÀÚ
¤ý ÇÁ·±Æ®¿£µå¿Í ¹é¿£µå¸¦ ¸ðµÎ ±¸ÇöÇÏ´Â Ç®½ºÅà °³¹ßÀÚ°¡ µÇ±æ ¿øÇÏ´Â µ¶ÀÚ
¤ý ¼¹ö °³¹ßÀÚ·Î Ä¿¸®¾î¸¦ ½ÃÀÛÇÏ°í ½ÍÀº ½ÅÀÔ °³¹ßÀÚ
¼Ò½ºÄÚµå ´Ù¿î·Îµå
https://github.com/seungwongo/node-project
ÀÌ Ã¥Àº Node.js·Î ¼¹ö¸¦ °³¹ßÇÒ ¶§ Àý´ë ³õÃļ´Â ¾È µÇ´Â ³»¿ë¸¸À» ´ãÀº ¹®¹ý Áß½ÉÀÌ ¾Æ´Ñ ±â´É Áß½ÉÀÇ Ã¥ÀÔ´Ï´Ù. ½Ç¹«¿¡¼ ¹Ýµå½Ã ±¸ÇöÇØ¾ß ÇÏ´Â À¥ ¼¹ö ¹× °í±Þ ¾ÖÇø®ÄÉÀÌ¼Ç ±â´ÉÀ» ¾î¶² npm ¸ðµâÀ» »ç¿ëÇؼ ±¸ÃàÇÏ´ÂÁö ±×¸®°í ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¾È³»ÇÕ´Ï´Ù.
Ã¥¿¡¼ ¼Ò°³ÇÏ´Â °¢°¢ÀÇ ±â´ÉÀ» ¸¶½ºÅÍÇÒ ¶§¸¶´Ù ¿©·¯ºÐÀº À̸¦ ½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡¼ ±¸ÇöÇÒ ¼ö ÀÖ´Â ¿ª·®ÀÌ ´Ã¾î³¯ °ÍÀÔ´Ï´Ù. ±×¸®°í ¸Å¹ø ¹Ù²î´Â °³¹ß ȯ°æÀ̳ª °©ÀÛ½º·¯¿î ÇÁ·ÎÁ§Æ® ÅõÀÔ¿¡µµ ´çȲÇÏÁö ¾Ê°í Ç®½ºÅà °³¹ßÀڷμÀÇ ¿ª·®À» ¹Ù·Î ¹ßÈÖÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ Ã¥À» ÅëÇØ ¹«½ÉÄÚ »ç¿ëÇß´ø ±â¼ú, ³õÄ¡Áö ¸»¾Æ¾ß ÇÒ »õ·Î¿î ±â¼ú¿¡ ´ëÇØ ´Ù½Ã Çѹø Á¡°ËÇÏ´Â ½Ã°£À» °¡Áö½Ã±â ¹Ù¶ø´Ï´Ù.
ÀÌ Ã¥Àº ÀúÀÚÀÇ ´Ù¸¥ Ã¥ ¡ºVue.js ÇÁ·ÎÁ§Æ® ÅõÀÔ ÀÏÁÖÀÏ Àü¡»ÀÇ ½Ã¸®Áî¼ÀÔ´Ï´Ù. éÅÍ 10 ¹Ì´Ï ÇÁ·ÎÁ§Æ®: Á¦Ç° ÆǸŠÀ¥¾Û¡¯ÀÇ ÇÁ·±Æ®¿£µå ºÎºÐÀ» ¡ºVue.js ÇÁ·ÎÁ§Æ® ÅõÀÔ ÀÏÁÖÀÏ Àü¡»¿¡¼ °³¹ßÇÏ°í, ÀÌ Ã¥¿¡¼´Â ¹é¿£µå ºÎºÐÀ» ´Ù·ì´Ï´Ù.
ÀÌ Ã¥ÀÇ µ¶ÀÚ
¤ý ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ´Â µ¶ÀÚ
¤ý ½Ç¹«¿¡ Node.js¸¦ ¹Ù·Î Àû¿ëÇϱ⸦ ¿øÇÏ´Â µ¶ÀÚ
¤ý ÇÁ·±Æ®¿£µå¿Í ¹é¿£µå¸¦ ¸ðµÎ ±¸ÇöÇÏ´Â Ç®½ºÅà °³¹ßÀÚ°¡ µÇ±æ ¿øÇÏ´Â µ¶ÀÚ
¤ý ¼¹ö °³¹ßÀÚ·Î Ä¿¸®¾î¸¦ ½ÃÀÛÇÏ°í ½ÍÀº ½ÅÀÔ °³¹ßÀÚ
¼Ò½ºÄÚµå ´Ù¿î·Îµå
https://github.com/seungwongo/node-project