±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.
Á¤°¡ |
40,000¿ø |
---|
36,000¿ø (10%ÇÒÀÎ)
2,000P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
¹ÌƼ¾î´Â ³ëµåÁ¦ÀÌ¿¡½º¸¦ ¹è°æ¿¡ µÎ¸é¼ ÇÁ·±Æ®¿¡¼ ¹é¿£µå±îÁö ¸ðµç °ÍÀ» ÀÚ¹Ù½ºÅ©¸³Æ® Çϳª·Î ÄÚµùÇÒ ¼ö Àִ ȯ°æÀ» Á¦°øÇÑ´Ù. ¶ÇÇÑ ¹ÝÀÀ¼º ÇÁ·Î±×·¡¹Ö(reactive programming)À̶ó´Â °³³äÀ» »ç¿ëÇϱ⠶§¹®¿¡ µ¥ÀÌÅÍ°¡ ¹Ù²î¸é ¹Ù·Î ÀÚµ¿À¸·Î ±× °ªÀÌ ¹Ý¿µµÇµµ·Ï ¼³°èµÅ ÀÖ¾î ±â¼úÀû ÇÁ·Î±×·¡¹Ö(declarative programming)ÀÌ °¡´ÉÇÏ¿© ÀûÀº ÄÚµå·Îµµ ¸¹Àº ±â´ÉÀ» ±¸ÇöÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥Àº ¹ÌƼ¾î ½ºÅÃÀÇ ÇÙ½É ºÎºÐ, Áï Ŭ¶ó¿ìµå¿¡¼ °¢ ¾×Ƽºê À¯Àú·Î »õ·Î¿î Á¤º¸¸¦ ¹ßÇàÇÏ´Â µ¥ÀÌÅÍ µ¿±âÈ ±â¼ú, ¹ÝÀÀ¼º ÅÛÇø´À» »ç¿ëÇÏ¿© µ¥ÀÌÅÍÀÇ º¯È¿¡ µû¶ó ½ºÅ©¸°ÀÌ ´Ù½Ã µð½ºÇ÷¹ÀÌµÇ°Ô Çϱâ, À̺¥Æ®¿Í Æû, ¹ÌƼ¾îÀÇ ¾ÆÀ̼ҸðÇÈ À¯Àú °èÁ¤, ¶ó¿ìÆÃ, ÆÐÅ°Áö, º¸¾È µîÀ» ¸ðµÎ ´Ù·ç°í ÀÖ´Ù.
ÃâÆÇ»ç ¼Æò
¡Ú ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¡Ú
¡á ½Ç½Ã°£ ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß
¡á MongoDB¿Í ±âŸ ¹ÝÀÀ¼º µ¥ÀÌÅÍ ¼Ò½º »ç¿ë
¡á ¾ÆÀ̾ð ¶ó¿ìÅÍ(Iron Router)¸¦ °¡Áø ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß
¡á ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÄ¡ ¹× ½ºÄÉÀϸµ
¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú
ÀÌ Ã¥Àº µ¶ÀÚµéÀÌ Àû¾îµµ ±âÃÊÀûÀÎ HTML, CSS, ÀÚ¹Ù½ºÅ©¸³Æ®¿¡ ´ëÇÑ Áö½ÄÀ» °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. °´Ã¼¸¦ ´Ù·ç´Â ¹æ¹ý°ú ÀÌÀü¿¡ ÄݹéÀ» »ç¿ëÇÑ °æÇèÀ» °¡Áö°í ÀÖ¾î¾ß Çϸç (¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸) µ¥ÀÌÅͺ£À̽º°¡ ÀÛµ¿ÇÏ´Â ±âÃÊ Áö½ÄÀ» °®Ãß°í ÀÖ´Â °ÍÀÌ ÁÁ´Ù. ÇÏÁö¸¸ ¼¹ö »çÀ̵å ÀÚ¹Ù½ºÅ©¸³Æ®³ª Node.js¿¡ ´ëÇÑ °æÇèÀº ÇÊ¿äÇÏÁö ¾Ê´Ù.
¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú
ÀÌ Ã¥Àº ¼¼ °¡Áö ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.
1ºÎ¿¡¼´Â Ç÷§Æû¿¡ ´ëÇÑ °íÂ÷¿øÀûÀÎ °³¿ä¸¦ Á¦°øÇÑ´Ù. ¿©±â¼´Â ¹ÌƼ¾î ½ºÅÃÀÇ ±¸¼º ¿ä¼Ò¿Í ÁÖ¿ä °³³äÀ» ¼Ò°³ÇÑ´Ù. 1Àå¿¡¼ Node.js, MongoDB, ¾Æ¼Ò¸ðÇÇÁò, ¹ÝÀÀ¼ºÀ» ¼Ò°³ÇÑ ÈÄ, 2Àå¿¡¼ ù ¹ÌƼ¾î ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé¾îº¼ °ÍÀÌ´Ù.
2ºÎ¿¡¼´Â ¹ÝÀÀ¼º ¾ÖÇø®ÄÉÀ̼ÇÀ» À§ÇÑ ±âÃÊ ¿ä¼Ò¸¦ ¾Ë·ÁÁØ´Ù. °¢ ÀåÀº ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé ¶§ Á¢ÇÏ´Â ¿©·¯ °¡Áö ¿ä¼Ò¸¦ °³º°ÀûÀ¸·Î ¼³¸íÇÑ´Ù. 3ÀåÀº ÅÛÇø´À¸·Î ½ÃÀÛÇÏ°í, 4ÀåÀº µ¥ÀÌÅ͸¦ ´Ù·ç´Â ¹æ¹ý°ú CRUD ¿¬»ê¿¡ ´ëÇØ ´Ù·ç¸ç, 5ÀåÀº ÀÌ µÑÀ» °áÇÕÇØ ¹ÝÀÀ¼º ÀÎÅÍÆäÀ̽º¸¦ ±¸¼ºÇÒ ¶§ °í·ÁÇØ¾ß ÇÒ Á¡À» ¼³¸íÇÑ´Ù. 6Àå¿¡¼´Â »ç¿ëÀÚ¿Í °ü·ÃµÈ ±â´ÉÀ» ¼³¸íÇÏ¸é¼ º¸¾ÈÀÌ Àû¿ëµÈ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. 7Àå¿¡¼´Â ¹ÌƼ¾î°¡ µðÆúÆ®·Î »ç¿ëÇÏ´Â ÀÚµ¿ÈµÈ µ¥ÀÌÅÍ ¹ßÇà ±âÀüÀ» ¼³¸íÇÑ´Ù. ÀÌ Àå¿¡¼´Â ¹ÌƼ¾î ¹ßÇà/±¸µµ °³³ä°ú ¶Ç´Ù¸¥ º¸¾È ·¹À̾ ±¸ÃàÇϱâ À§ÇØ ¸Þ¼µå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ¼Ò°³ÇÑ´Ù. 8Àå¿¡¼´Â Àαâ ÀÖ´Â Iron Router ¶óÀ̺귯¸®¸¦ »ç¿ëÇØ Å¬¶óÀ̾ðÆ®¿Í ¼¹ö¿¡¼ ¸ðµÎ »ç¿ëµÇ´Â ¶ó¿ìÆà ±â´ÉÀ» ¼³¸íÇÑ´Ù. 9Àå¿¡¼´Â ¾ÆÀ̼ÒÆÑ, npm ÆÐÅ°Áö, »ç¿ëÀÚ ÀÛ¼º ÆÐÅ°Áö µîÀ» »ç¿ëÇÏ¿© ¹ÌƼ¾îÀÇ ÇÙ½É ±â´ÉÀ» È®ÀåÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 10ÀåÀº ºñµ¿±â½Ä ¿¬»êÀ» À§ÇÑ ¼¹ö ÂÊ ¸Þ¼µå¿Í ¿ÜºÎ API¿¡ Á¢±ÙÇÏ´Â ¹æ¹ý, ÆÄÀÏÀ» ¾÷·ÎµùÇÏ´Â ¹æ¹ýÀ» »ìÆ캸¸é¼ µÎ ¹ø° ÆÄÆ®¸¦ ¸¶¹«¸®ÇÑ´Ù.
3ºÎ¿¡¼´Â ÇÑ ´Ü°è ´õ ³ª¾Æ°¡ ¾ÖÇø®ÄÉÀ̼ÇÀ» Á¤È®ÇÏ°Ô ºôµåÇÏ°í ¹èÄ¡ÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. 11Àå¿¡¼´Â ¹ÌƼ¾îÀÇ ºôµå ½Ã½ºÅÛ, ÄÚµå µð¹ö±ë, À¥°ú ¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀ̼ÇÀ¸·Î Àüȯ½ÃÅ°´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¸¶Áö¸· 12Àå¿¡¼´Â ¹ÌƼ¾î ¾ÖÇø®ÄÉÀ̼ÇÀ» Ãâ½ÃÇϱâ À§ÇÑ ¿©·¯ °¡Áö Ãø¸éµéÀ» »ìÆ캻´Ù.
ÀÌ Ã¥ÀÇ ¸¶Áö¸·¿¡´Â 3°³ÀÇ ºÎ·ÏÀÌ ÀÖ´Ù. ºÎ·Ï A¿¡¼´Â Áö¿øµÇ´Â ¸ðµç Ç÷§Æû¿¡ ¹ÌƼ¾î¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í, ºÎ·Ï B¿¡¼´Â MongoDBÀÇ ±¸¼º°ú °í°¡¿ë¼ºÀ» ȹµæÇϱâ À§ÇÑ ¿ä¼Ò¸¦ ¼³¸íÇÑ´Ù. ÀÌ ¹Û¿¡ È®ÀåÀ» À§ÇÏ¿© ¹ÌƼ¾î°¡ »ç¿ëÇÏ´Â ¹æ¹ýÀÇ Áß¿äÇÑ ±â¼ú Áß ÇϳªÀÎ ¿ÀÇÇ·Î±× Å×Àϸµ(oplog tailing)À» ¼³Á¤ÇÏ´Â ¹æ¹ýµµ ¼³¸íÇÑ´Ù. ºÎ·Ï C¿¡¼´Â ¿©·¯ ¹ÌƼ¾î ¼¹öµéÀÇ ºÎÇϸ¦ ºÐ»êÇÏ´Â ¹æ¹ý, Á¤ÀûÀÎ ÄÜÅÙÃ÷¸¦ ¼ºùÇÏ´Â ¹æ¹ý, SSLÀ» °¡´ÉÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ±â´É µîÀ» ±¸ÇöÇϱâ À§ÇÑ ¿£Áø¿¢½º(nginx)ÀÇ ¿ªÇÁ·Ï½Ã(reverse proxy) ¼³Á¤ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
¸ñÂ÷
1ºÎ. ¿Í, º°¶Ëº°ÀÌ´Ù!
1Àå. À¥ ¾ÛÀ» ¸¸µå´Â ´õ ³ªÀº ¹æ¹ý
__1.1 ¹ÌƼ¾î ¼Ò°³
____1.1.1 ¹ÌƼ¾îÀÇ ºñÇÏÀÎµå ½ºÅ丮
____1.1.2 ¹ÌƼ¾î ½ºÅÃ
____1.1.3 ¾ÆÀ̼ҸðÇÈ ÇÁ·¹ÀÓ¿öÅ©: Ç®-½ºÅà ÀÚ¹Ù½ºÅ©¸³Æ®
____1.1.4 ºê¶ó¿ìÀú¿¡¼ÀÇ ÇÁ·Î¼¼½Ì: ºÐ»êµÈ Ç÷§Æû¿¡¼ÀÇ ½ÇÇà
____1.1.5 ¹ÝÀÀ¼º ÇÁ·Î±×·¡¹Ö
__1.2 ¹ÌƼ¾î´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡?
____1.2.1 ÄÚ¾î ÇÁ·ÎÁ§Æ®
____1.2.2 ¾ÆÀ̼Һôµå¿Í Ä¿¸Çµå¶óÀÎ Åø
____1.2.3 Ŭ¶óÀ̾ðÆ® ÄÚµå ´ë ¼¹ö ÄÚµå
__1.3 ÀåÁ¡°ú ´ÜÁ¡
____1.3.1 ¹ÌƼ¾î°¡ ºûÀ» ¹ßÇÏ´Â °æ¿ì
____1.3.2 ¹ÌƼ¾îÀÇ °úÁ¦
__1.4 ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
____1.4.1 »õ·Î¿î ÇÁ·ÎÁ§Æ® ¼³Á¤Çϱâ
____1.4.2 ¾ÖÇø®ÄÉÀÌ¼Ç ½ÃÀÛÇϱâ
__1.5 µðÆúÆ® ÇÁ·ÎÁ§Æ® ºÐÇØÇϱâ
____1.5.1 helloWorld.css
____1.5.2 helloWorld.html
____1.5.3 helloWorld.js
__1.6 Á¤¸®
2Àå. ³ÃÀå°í: ¹ÝÀÀ¼º °ÔÀÓ
__2.1 ¾ÖÇø®ÄÉÀÌ¼Ç °³¿ä
__2.2 Ãʱ⠼³Á¤
____2.2.1 »õ ÇÁ·ÎÁ§Æ® ¼³Á¤
__2.3 ·¹À̾ƿô ÀÛ¼ºÇϱâ
____2.3.1 ½ºÅ¸ÀÏ ¼³Á¤Çϱâ
____2.3.2 ÅÛÇø´ Ãß°¡Çϱâ
__2.4 ½Ç½Ã°£À¸·Î µ¥ÀÌÅͺ£À̽º¿¡ ³»¿ë Ãß°¡Çϱâ
____2.4.1 µ¥ÀÌÅͺ£À̽º¿¡ ¾ÆÀÌÅÛ ÀúÀåÇϱâ
____2.4.2 µ¥ÀÌÅ͸¦ ÅÛÇø´¿¡ ¿¬°áÇϱâ
____2.4.3 Ãʱâ Á¦Ç°±º Ãß°¡Çϱâ
__2.5 ³ÃÀå°í ¾È¿¡ ¾ÆÀÌÅÛ ³Ö±â
____2.5.1 Á¦ÀÌÄõ¸®-UI¸¦ ÇÁ·ÎÁ§Æ®¿¡ Ãß°¡Çϱâ
____2.5.2 ¾ÆÀÌÅÛÀÇ µå·Ó Ÿ±ê Á¤Çϱâ
____2.5.3 ¾ÆÀÌÅÛµéÀ» µå·¡±×ÇÒ ¼ö ÀÖµµ·Ï Çϱâ
__2.6 meteor.com¿¡ ¹èÄ¡ÇÑ ÈÄ ³ÃÀå°í ¾Û »ç¿ëÇϱâ
__2.7 Á¤¸®
2ºÎ. 3, 2, 1 ¡ª Ãæµ¹!
3Àå. ÅÛÇø´ ´Ù·ç±â
__3.1 ÅÛÇø´¿¡ ´ëÇÑ ¼Ò°³
__3.2 ÅÛÇø´ ´Ù·ç±â
____3.2.1 ºí·¹ÀÌÁî(Blaze) ¿£Áø
____3.2.2 ÅÛÇø´ ÆÄÀÏ ±¸¼ºÇϱâ
__3.3 µ¿ÀûÀÎ HTML ÅÛÇø´ ¸¸µé±â
____3.3.1 ÀÌÁß, »ïÁß Áß°ýÈ£ ű×(Ç¥Çö½Ä)
____3.3.2 ÀÎŬ·çÀü ű×(ÆļÈ)
____3.3.3 ºí·Ï ű×
____3.3.4 ÇïÆÛ
__3.4 À̺¥Æ® Çڵ鸵
____3.4.1 ÅÛÇø´ À̺¥Æ® ¸Ê
____3.4.2 À̺¥Æ® ÀüÆÄ
____3.4.3 ºê¶ó¿ìÀú µðÆúÆ® Çൿ Â÷´ÜÇϱâ
__3.5 ÅÛÇø´ »ý¾Ö ÁÖ±â
__3.6 Á¤¸®
4Àå. µ¥ÀÌÅÍ ´Ù·ç±â
__4.1 ¹ÌƼ¾îÀÇ µðÆúÆ® µ¥ÀÌÅÍ ¼Ò½º
____4.1.1 ¹«¾ùÀÌ µ¥ÀÌÅÍ ¼Ò½º¸¦ ¹ÝÀÀ¼ºÀ¸·Î ¸¸µå´Â°¡?
____4.1.2 ¹ÝÀÀ¼º µ¥ÀÌÅÍ´Â ¾î¶»°Ô ÇÔ¼ö¿Í ¿¬°áµÇ´Â°¡?
__4.2 °¡»çµ¹º½ÀÌ ¾Û ¸¸µé±â
____4.2.1 ÅÛÇø´ ¼³Á¤Çϱâ
____4.2.2 µ¥ÀÌÅͺ£À̽º ¿¬°á°ú Ä÷º¼Ç Á¤ÀÇ
__4.3 Session °´Ã¼ ´Ù·ç±â
____4.3.1 Session °´Ã¼
____4.3.2 ¼±ÅÃµÈ µå·Ó´Ù¿î °ªÀ» ÀúÀåÇϱâ À§ÇØ Session »ç¿ëÇϱâ
____4.3.3 Tracker.autorunÀ» »ç¿ëÇÏ¿© ¹ÝÀÀ¼º ¸Æ¶ô ¸¸µé±â
__4.4 MongoDB Ä÷º¼Ç ´Ù·ç±â
____4.4.1 MongoDB¿¡¼ µµÅ¥¸ÕÆ® Á¶È¸Çϱâ
____4.4.2 ¹ÌƼ¾î Ä÷º¼Ç ´Ù·ç±â
____4.4.3 Ä÷º¼Ç ÃʱâÈÇϱâ
____4.4.4 Ä÷º¼Ç Á¶È¸Çϱâ
____4.4.5 ÅÛÇø´¿¡ Ä÷º¼Ç µ¥ÀÌÅÍ Ç¥½ÃÇϱâ
____4.4.6 Ä÷º¼Ç µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ®
____4.4.7 Ä÷º¼Ç¿¡ »õ·Î¿î µ¥ÀÌÅÍ »ðÀÔ
____4.4.8 Ä÷º¼Ç¿¡¼ µ¥ÀÌÅÍ »èÁ¦
__4.5 Á¤¸®
5Àå. ¿ÏÀüÇÑ ¹ÝÀÀ¼º ÆíÁý
__5.1 ¹ÝÀÀ¼º ÆíÁý ÀÛ¾÷ °úÁ¤
__5.2 ¹ÝÀÀ¼º ÇÁ·ÐÆ®-¿£µå ´ë DOM Á¶ÀÛ
__5.3 ·ÎÄà Ä÷º¼Ç¿¡ º¯È¸¦ ½ºÅ×ÀÌ¡Çϱâ
__5.4 Æû¿¡ Ä÷º¼Ç µ¥ÀÌÅÍ Ç¥½ÃÇϱâ
____5.4.1 #each ·çÇÁ¿¡ ¹è¿ À妽º Á¤º¸ Ãß°¡Çϱâ
__5.5 ·ÎÄà ÄÌ·º¼ÇÀ» »ç¿ëÇÑ ¹ÝÀÀ¼º ¾÷µ¥ÀÌÆ®
____5.5.1 houseForm ÅÛÇø´À» À§ÇÑ À̺¥Æ® ¸Ê
____5.5.2 plantFieldset ÅÛÇø´À» À§ÇÑ À̺¥Æ® ¸Ê
__5.6 °£´ÜÇÑ ¾Ë¸² ½Ã½ºÅÛ ±¸ÇöÇϱâ
____5.6.1 ¾Ë¸²À» À§ÇÑ ÅÛÇø´ Ãß°¡Çϱâ
____5.6.2 status ÇÁ·ÎÆÛƼ Ãß°¡Çϱâ
____5.6.3 Session º¯¼ö¸¦ »ç¿ëÇÏ¿© ¾Ë¸²À» Æ®¸®°ÅÇϱâ
__5.7 Á¤¸®
6Àå. »ç¿ëÀÚ °ü¸®, ÀÎÁõ°ú ±ÇÇÑ
__6.1 »ç¿ëÀÚ¸¦ ¾ÖÇø®ÄÉÀ̼ǿ¡ Ãß°¡Çϱâ
____6.1.1 Æнº¿öµå ÀÎÁõ ±â´É Ãß°¡Çϱâ
____6.1.2 µî·Ï°ú Æнº¿öµå ¸®¼Â
____6.1.3 À̸ÞÀÏ ¼³Á¤
__6.2 OAuth¸¦ »ç¿ëÇÑ »ç¿ëÀÚ ÀÎÁõ
____6.2.1 OAuth¿¡ ´ëÇÑ ¼Ò°³
____6.2.2 ÆäÀ̽ººÏ ÀÎÁõÀ» ÅëÇÕÇϱâ
____6.2.3 ´Ù¸¥ OAutho ¼ºñ½º Á¦°øÀÚ ÅëÇÕÇϱâ
__6.3 »ç¿ëÀÚ Çã°¡ »çÇ×, ¿ªÇÒ, ±×·ì µîÀÇ °ü¸®
____6.3.1 allow/deny¸¦ »ç¿ëÇÏ¿© ±ÇÇÑ °ü¸®Çϱâ
__6.4 Á¤¸®
7Àå. µ¥ÀÌÅÍ ±³È¯
__7.1?¹ßÇà°ú ±¸µ¶
____7.1.1 publish()¿Í subscribe()
____7.1.2 ±Û·Î¹ú ±¸µ¶
____7.1.3 ÅÛÇø´-·¹º§ ±¸µ¶
____7.1.4 ±¸µ¶¿¡ ÆĶó¹ÌÅÍ Àü´ÞÇϱâ
____7.1.5 Áý°è µ¥ÀÌÅÍ(aggregated data)¸¦ Ŭ¶óÀ̾ðÆ®¿¡¸¸ Á¸ÀçÇÏ´Â Ä÷º¼ÇÀ¸·Î ¹ßÇà
____7.1.6 Áý°èµÈ ¹ßÇàÀ» ¹ÝÀÀ¼º µ¥ÀÌÅÍ ¼Ò½º·Î ¸¸µé±â
____7.1.7 »ç¿ëÀÚ ¾ÆÀ̵𿡠µû¶ó¼ º¸ÀÌ´Â µ¥ÀÌÅÍ ÇÑÁ¤Çϱâ
__7.2 ¹ÌƼ¾î ¸Þ¼µå
____7.1.2 insecure ÆÐÅ°Áö »èÁ¦Çϱâ
____7.2.2 ¸Þ¼µå¸¦ »ç¿ëÇÏ¿© Ä÷º¼Ç¿¡ µ¥ÀÌÅÍ ¾²±â
__7.3 Á¤¸®
8Àå. Iron.Router¸¦ »ç¿ëÇÑ ¶ó¿ìÆÃ
__8.1 À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ÀÇ ¶ó¿ìÆÃ
__8.2 Ŭ¶óÀ̾ðÆ®-»çÀÌµå ¶ó¿ìÆÃ
____8.2.1 Iron.Router Ãß°¡Çϱâ
____8.2.2 ù ¹ø° ¶ó¿ìÆ® ¸¸µé±â
____8.2.3 ¶ó¿ìÆ®¿¡ ÀÇÁ¸ÇÏ´Â ·¹À̾ƿô Á¤ÀÇÇϱâ
____8.2.4 ¶ó¿ìÆ®¿¡ ÀÇÁ¸ÇÏ´Â µ¥ÀÌÅÍ ¸Æ¶ô ¼³Á¤
____8.2.5 Iron.Router¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ±¸µ¶
__8.3 °í±Þ ¶ó¿ìÆà ¸Þ¼µå
____8.3.1 À̸§ ºÙ¿©Áø ¶ó¿ìÅÍ¿Í ¸µÅ© ÇïÆÛ »ç¿ë
____8.3.2 ´õ ³ªÀº ³»ºñ°ÔÀÌ¼Ç ¸µÅ©¸¦ À§ÇØ ¾×Ƽºê ¶ó¿ìÆ® ´Ù·ç±â
____8.3.3 ¿ÜºÎ ¶óÀ̺귯¸® ·Îµù ´ë±â
____8.3.4 ¶ó¿ìÅ͸¦ ÄÁÆ®·Ñ·¯·Î ü°èÈÇϱâ
____8.3.5 ÈÅÀ» »ç¿ëÇÏ¿© ¶ó¿ìÆ® ÇÁ·Î¼¼½Ì ±â´É È®Àå.
____8.3.6 Iron.Router Ç÷¯±×ÀÎ ¸¸µé±â
__8.4 REST API¸¦ °¡Áø ¼¹ö »çÀÌµå ¶ó¿ìÆÃ
__8.5 Á¤¸®
9Àå. ÆÐÅ°Áö ½Ã½ºÅÛ
__9.1 ¸ðµç ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±âÃÊ
__9.2 ¾ÆÀ̼ÒÆÑ »ç¿ëÇϱâ
____9.2.1 ¹öÀü ¼Ö¹ö¿Í ½Ã¸Çƽ ¹öÀü
____9.2.2 ÆÐÅ°Áö ã±â
____9.2.3 ¾ÆÀ̼ÒÆÑ Ãß°¡¿Í »èÁ¦
____9.2.4 ÆÐÅ°Áö ¾÷µ¥ÀÌÆ®Çϱâ
__9.3 npm ÆÐÅ°Áö »ç¿ë
__9.4 ¾ÆÀ̼ÒÆÑ ¸¸µé±â
____9.4.1 ÆÐÅ°Áö ¸¸µé±â
____9.4.2 ÆÐÅ°Áö ¸ÞŸµ¥ÀÌÅÍ ¼±¾ðÇϱâ
____9.4.3 ÆÐÅ°Áö ±â´É Ãß°¡Çϱâ
____9.4.4 tinytest¸¦ »ç¿ëÇÏ¿© ¾ÆÀ̼ÒÆÑ Å×½ºÆÃÇϱâ
____9.4.5 °ø°³Çϱâ
__9.5 Á¤¸®
10Àå. °í±Þ ¼¹ö ¸Þ¼µå
__10.1 Node.js ´Ù½Ã º¸±â
____10.1.1 µ¿±â½Ä ÄÚµå
____10.1.2 ºñµ¿±â½Ä ÄÚµå
__10.2 ÆÄÀ̹ö¸¦ »ç¿ëÇÑ ºñµ¿±â½Ä ÇÔ¼ö
____10.2.1 À̺¥Æ® ·çÇÁ¿¡ ¸ÖƼŽºÅ· ±â´É ºÎ¿©Çϱâ
____10.2.2 wrapAsync¸¦ »ç¿ëÇÏ¿© ÆÄÀ̹ö¿¡ ÄÝ¹é ¹ÙÀεù
____10.2.3 ÇϳªÀÇ Å¬¶óÀ̾ðÆ®¿¡¼ ¸Þ¼µå ¾ðºí·ÏÅ·Çϱâ
____10.2.4 bindEnvironment¸¦ »ç¿ëÇÏ¿© ÆÄÀ̹ö »ý¼ºÇϱâ
__10.3 ¿ÜºÎ APIÅëÇÕÇϱâ
____10.3.1 http ÆÐÅ°Áö¸¦ »ç¿ëÇÏ¿© RESTful È£Ãâ ½ÇÇàÇϱâ
____10.3.2 API Äõ¸®¸¦ À§ÇØ µ¿±â½Ä ¸Þ¼µå »ç¿ëÇϱâ
____10.3.3 API Äõ¸®¸¦ À§ÇØ ºñµ¿±â½Ä ¸Þ¼µå »ç¿ëÇϱâ
__10.4 Ä÷º¼ÇÀ¸·Î ÆÄÀÏ ¾÷·ÎµùÇϱâ
____10.4.1 µ¥ÀÌÅͺ£À̽º¿¡ ÆÄÀÏ ¾÷·ÎµùÇϱâ
__10.5 Á¤¸®
3ºÎ. Å©·¹ÀÌÅÍ ³²±â±â!
11Àå. ºôµù°ú µð¹ö±ë
__11.1 ¹ÌƼ¾î ºôµå ÇÁ·Î¼¼½º
____11.1.1 ºôµå ´Ü°è
____11.1.2 --production ¿É¼ÇÀ» »ç¿ëÇÏ¿© ½ÇÇà
____11.1.3 ·Îµå ¼ø¼
____11.1.4 ÆÐÅ°Áö¸¦ ÅëÇØ ºôµå ´Ü°è Ãß°¡
____11.1.5 Ä¿½ºÅÒ ºôµå ´Ü°è Ãß°¡
__11.2 ½ÇÇàµÇ´Â ¾ÖÇø®ÄÉÀ̼ǿ¡ Á¢±ÙÇϱâ
____11.2.1 ÀÎÅÍ·¢Æ¼ºê ¼¹ö ¼Ð »ç¿ë
____11.2.2 node-inspector¸¦ »ç¿ëÇÏ¿© µð¹ö±ë
__11.3 ºê¶ó¿ìÀú ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
____11.3.1 1meteor.settings¸¦ »ç¿ëÇÏ¿© ¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤
____11.3.2 ¹ÌƼ¾î ÇÁ·ÎÁ§Æ® ºôµå
__11.4 ¸ð¹ÙÀÏ ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
____11.4.1 ÄÚ¸£µµ¹Ù¸¦ »ç¿ëÇÑ ÇÏÀ̺긮µå ¾Û
____11.4.2 ¸ð¹ÙÀÏ Ç÷§Æû Ãß°¡
____11.4.3 ¸ð¹ÙÀÏ Ç÷§Æû ¼³Á¤
____11.4.4 ¸ð¹ÙÀÏ ±â´É Ãß°¡
__11.5 Á¤¸®
12Àå. Ãâ½Ã
__12.1 Ãâ½Ã Áغñ
____12.1.1 ¹öÀü °ü¸®ÀÚ »ç¿ë
____12.1.2 º§·Î½ÃƼ(Velocity) ÇÁ·¹ÀÓ¿öÅ©¸¦ °¡Áö°í Å×½ºÆÃÇϱâ
____12.1.3 ·Îµå¸¦ ¿¹ÃøÇÏ°í Å×½ºÆÃÇϱâ
____12.1.4 ¼¹ö °ü¸®
____12.1.5 üũ¸®½ºÆ®
__12.2 ¼³Á¤°ú ¹èÄ¡
____12.2.1 metero.comÀ» ÀÌ¿ëÇÑ °£´ÜÇÑ ¹èÄ¡
____12.2.2 ¸ðµç °ÍÀÌ ÁغñµÈ È£½ºÆÃ: Ŭ¶ó¿ìµå ¼ºñ½º
____12.2.3 ¿ÏÀüÇÑ À¯¿¬¼º: ¸Å´º¾ó ¼³Á¤
__12.3 Á¶°¢µéÀ» ¿¬°áÇϱâ
____12.3.1 ȯ°æ º¯¼ö
____12.3.2 ¹ÌƼ¾î¸¦ MonogoDB¿¡ ¿¬°áÇϱâ
__12.4 ½ºÄÉÀϸµ Àü·«
____12.4.1 ¿©À¯°¡ ÀÖ´Â ´Éµ¿-¼öµ¿ °í°¡¿ë¼º
____12.4.2 ´ÜÀÏ ¿ä¼Ò·Î ±¸¼ºµÈ ¹èÄ¡
____12.4.3 ¿©À¯ºÐ°ú ºÎÇÏ ºÐ»ê
____12.4.4 ¹æźº¹°ú °°Àº °¡¿ë¼º
__12.5 Á¤¸®
ºÎ·Ï A. ¹ÌƼ¾î ¼³Ä¡
__A.1 ¿ä±¸»çÇ×
__A.2 ¸®´ª½º¿Í ¸Æ OS X¿¡ ¹ÌƼ¾î ¼³Ä¡Çϱâ
__A.3 À©µµ¿ì¿¡ ¹ÌƼ¾î ¼³Ä¡Çϱâ
__A.4 Vagrant¸¦ »ç¿ëÇÏ¿© ¹ÌƼ¾î ½ÇÇàÇϱâ
ºÎ·Ï B. MonogoDBÀÇ ±¸Á¶
__B.1 MongoDBÀÇ ±¸¼º ¿ä¼Òµé
____B.1.1 mongod: µ¥ÀÌÅͺ£À̽º¿Í »þµå
____B.1.2 mongos: Äõ¸® ¶ó¿ìÆÃ
____B.1.3 mongoc: ¼¹öµé¿¡ ´ëÇÑ ¼³Á¤
____B.1.4 ·¹Çø®Ä« ¼Â
__B.2 MongoDB ¼³Á¤
ºÎ·Ï C. nginx ¼³Á¤
__C.1 ¿£Áø ¿¢½º¸¦ »ç¿ëÇÑ ºÎÇÏ ºÐ»ê(load balancing)
____C.1.1 ¿ìºÐÅõ¿¡ nginx ¼³Ä¡Çϱâ
____C.1.2 µ¥ºñ¾È 7(Wheezy)¿¡ ¼³Ä¡Çϱâ
__C.2 ºÎÇÏ ºÐ»ê±â ¼³Á¤Çϱâ
____C.2.1 ÇϳªÀÇ »çÀÌÆ® ¼³Á¤ ÆÄÀÏ ¸¸µé±â
____C.2.2 ¹ÌƼ¾î ¼¹ö Á¤ÀÇÇϱâ
____C.2.3 ¿äûÀ» ¹é¿£µå ¼¹öµé·Î Æ÷¿öµùÇϱâ
____C.2.4 nginx »çÀÌÆ® È°¼ºÈÇϱâ
__C.3 ¿£Áø ¿¢½º¸¦ »ç¿ëÇÏ¿© Á¤ÀûÀÎ ÄÜÅÙÃ÷ ¼ºùÇϱâ
____C.3.1 CSS¿Í ÀÚ¹Ù½ºÅ©¸³Æ® ÆÄÀÏ ¼ºù
____C.3.2 ¹ÌƼ¾î ÆÄÀϵé°ú À̹ÌÁöµéÀ» ¼ºùÇϱâ
____C.3.3 gzip ¾ÐÃà ±â´É Ãß°¡Çϱâ
__C.4 ¿£Áø ¿¢½º¿¡ SSL ¼³Ä¡Çϱâ
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
ÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
ÀÌ »óÇ°ÀÇ ½Ã¸®Áî
(ÃÑ 52±Ç / ÇöÀ籸¸Å °¡´Éµµ¼ 0±Ç)
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.