±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.
¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º
Á¤°¡ |
33,000¿ø |
---|
29,700¿ø (10%ÇÒÀÎ)
1,650P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
¾î´À»õ ÀÚ¹Ù »ýÅ°èÀÇ ÁÖ·ù ¾ð¾î·Î ÀÚ¸®¸Å±èÇÑ ÄÚƲ¸° ¾ð¾î¸¦ ¹ÙÅÁÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×Ƽºê¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ±âº» °³³ä, ÀÛµ¿ ¿ø¸®¿Í ÀåÁ¡À» »ìÆ캸´Â °ÍÀ» ½ÃÀÛÀ¸·Î ½ºÇÁ¸µ ºÎÆ® ±â¹ÝÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ½±°Ô ¸¸µé¾îº¸°í, ½ºÇÁ¸µ À¥Ç÷°½º(WebFlux)¸¦ »ç¿ëÇØ ³Íºí·ÎÅ· ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. À̸¦ ÄÁÅ×ÀÌ³Ê ±â¹ÝÀ¸·Î ¿î¿ëÇϱâ À§ÇÑ °³¹ß, Å×½ºÆ® ¸ð´ÏÅ͸µ°ú ¹èÆ÷±îÁö Àü ¿µ¿ªÀ» ´Ù·é´Ù. ±âº» °³³ä ÀÌÇظ¦ ¹ÙÅÁÀ¸·Î Á÷Á¢ ¸¸µé¾î º¸¸é¼ »õ·Î¿î °³³ä°ú ±â¼úÀ» üÇèÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºµÅ ÀÖ´Ù.
ÃâÆÇ»ç ¼Æò
¾î´À»õ ÀÚ¹Ù »ýÅ°èÀÇ ÁÖ·ù ¾ð¾î·Î ÀÚ¸®¸Å±èÇÑ ÄÚƲ¸° ¾ð¾î¸¦ ¹ÙÅÁÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×Ƽºê¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ±âº» °³³ä, ÀÛµ¿ ¿ø¸®¿Í ÀåÁ¡À» »ìÆ캸´Â °ÍÀ» ½ÃÀÛÀ¸·Î ½ºÇÁ¸µ ºÎÆ® ±â¹ÝÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ½±°Ô ¸¸µé¾îº¸°í, ½ºÇÁ¸µ À¥Ç÷°½º(WebFlux)¸¦ »ç¿ëÇØ ³Íºí·ÎÅ· ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù. À̸¦ ÄÁÅ×ÀÌ³Ê ±â¹ÝÀ¸·Î ¿î¿ëÇϱâ À§ÇÑ °³¹ß, Å×½ºÆ® ¸ð´ÏÅ͸µ°ú ¹èÆ÷±îÁö Àü ¿µ¿ªÀ» ´Ù·é´Ù. ±âº» °³³ä ÀÌÇظ¦ ¹ÙÅÁÀ¸·Î Á÷Á¢ ¸¸µé¾î º¸¸é¼ »õ·Î¿î °³³ä°ú ±â¼úÀ» üÇèÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºµÅ ÀÖ´Ù.
ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë
¡á¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó ¹× ¿ø¸® ÀÌÇØ
¡á½ºÇÁ¸µ ºÎÆ® 2.0 °ú ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© 5.0À» »ç¿ëÇØ ÄÚƲ¸°À¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º ±¸Ãà
¡á½ºÇÁ¸µ À¥Ç÷°½º·Î ³Íºí·ÎÅ·(non-blocking) ÀÛ¾÷À» ¼öÇàÇÏ´Â ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º »ý¼º
¡á½ºÇÁ¸µ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ¸ù°íDB(MongoDB)¿¡¼ ¸®¾×ƼºêÇÏ°Ô µ¥ÀÌÅÍ °¡Á®¿À±â
¡áJUnit°ú ÄÚƲ¸°À¸·Î ÇÏ´Â È¿°úÀûÀÎ Å×½ºÆ®
¡á½ºÇÁ¸µ Ŭ¶ó¿ìµå·Î Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º »ý¼º
¡á¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ µµÄ¿ À̹ÌÁö ºôµå ¹× °Ô½Ã
¡áµµÄ¿ ½º¿ú(Docker Swarm)À» È°¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º È®Àå
¡áJMX¸¦ È°¿ëÇÑ ¸¶ÀÌÅ©·Î¼ºñ½º ¸ð´ÏÅ͸µ
¡á¿ÀǽÃÇÁÆ® ¿Â¶óÀÎ(OpenShift Online)¿¡¼ ¸¶ÀÌÅ©·Î ¼ºñ½º ¹èÆ÷
ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó¿¡ ´ëÇÑ ±âº» Áö½ÄÀÌ ÀÖ°í ÇöÀç ¿£ÅÍÇÁ¶óÀÌÁî±Þ À¥ ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¼ºñ½º¸¦ È¿°úÀûÀ¸·Î ±¸ÇöÇÏ°íÀÚ ÇÏ´Â ÄÚƲ¸° °³¹ßÀÚ¶ó¸é, ÀÌ Ã¥Àº ´ç½ÅÀ» À§ÇÑ °ÍÀÌ´Ù.
ÀÌ Ã¥ÀÇ ±¸¼º
1Àå, '¸¶ÀÌÅ©·Î¼ºñ½º ÀÌÇØ'¿¡¼´Â ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ±× ¿ø¸®¸¦ ¼Ò°³ÇÑ´Ù. µµ¸ÞÀÎ ÁÖµµ ¼³°è(Domain-Driven Design), Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×Ƽºê ¾ÆÅ°ÅØó¸¦ ¾Ë¾Æº»´Ù.
2Àå, '½ºÇÁ¸µ ºÎÆ® 2.0 ½ÃÀÛÇϱâ'¿¡¼´Â ÄÚƲ¸°¿¡¼ óÀ½ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ °³¹ßÇÏ´Â µ¥ ½ºÇÁ¸µ ºÎÆ® 2.0À» »ç¿ëÇØ µµ¿òÀ» ÁØ´Ù. ½ºÇÁ¸µ ºÎÆ®¸¦ ½Éµµ ±í°Ô ¾Ë¾Æº¼ °ÍÀÌ°í ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ) IDEA¸¦ »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
3Àå, 'RESTful ¼ºñ½º ¸¸µé±â'¿¡¼´Â Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ RESTful API·Î È®ÀåÇØ ´Ù¾çÇÑ ½ºÇÁ¸µ ±¸¼º ¿ä¼Ò¸¦ ¼Ò°³ÇÑ´Ù.
4Àå, '¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º ¸¸µé±â'¿¡¼´Â ³Íºí·ÎÅ· ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ »ý¼ºÇÑ´Ù. ½ºÇÁ¸µ À¥Ç÷°½º(WebFlux)¿Í ¸®¾×ÅÍ(Reactor)¸¦ »ç¿ëÇØ ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¾Ë¾Æº»´Ù.
5Àå, '¸®¾×Ƽºê ½ºÇÁ¸µ µ¥ÀÌÅÍ'¿¡¼´Â ¸®¾×Ƽºê ½ºÇÁ¸µ µ¥ÀÌÅ͸¦ »ç¿ëÇØ ¸ù°íDB °°Àº NoSQL µ¥ÀÌÅͺ£À̽º¸¦ ÀÛ¾÷ÇÏ´Â ¹æ¹ý¿¡ ÁßÁ¡À» µÐ´Ù. ±×·± ´ÙÀ½ REST APIÀÇ CRUD ÀÛ¾÷À» ¸®¾×ƼºêÇÏ°Ô »ý¼ºÇÏ´Â ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Çâ»ó½ÃÅ°´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
6Àå, 'Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º ¸¸µé±â'¿¡¼´Â Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º°¡ ¹«¾ùÀÌ°í, ½ºÇÁ¸µ Ŭ¶ó¿ìµå·Î ½±°Ô ±¸ÃàÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
7Àå, 'µµÄ¿ ¸¸µé±â'¿¡¼´Â µµÄ¿¸¦ ¼³Ä¡ ¹× ±¸¼ºÇؼ ÄÁÅ×À̳ʸ¦ ÀÛ¼º, °Ô½Ã, ½ÇÇàÇÏ´Â ¹æ¹ý°ú ¸ÞÀ̺ì(Maven)À» »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ºôµåÇÒ ¶§ À̸¦ ÅëÇÕÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
8Àå, '¸¶ÀÌÅ©·Î¼ºñ½º È®ÀåÇϱâ'¿¡¼´Â µµÄ¿¿¡¼ °³Àοë Ŭ¶ó¿ìµå¸¦ ¸¸µå´Â ¹æ¹ý°ú ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ È®ÀåÇÏ°í Á¦¾îÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
9Àå, '½ºÇÁ¸µ ¸¶ÀÌÅ©·Î¼ºñ½º Å×½ºÆ®'¿¡¼´Â SpringBootTest¿Í JUnitÀ» »ç¿ëÇØ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Å×½ºÆ®ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. Kluent¸¦ »ç¿ëÇØ ´õ¿í dzºÎÇÑ Ç¥Çö ¹æ½ÄÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Å×½ºÆ®ÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù.
10Àå, '¸¶ÀÌÅ©·Î¼ºñ½º ¸ð´ÏÅ͸µ'¿¡¼´Â ½ÇÁ¦ ¿î¿µ ½Ã½ºÅÛ¿¡¼ ¸ð´ÏÅ͸µÀÌ Áß¿äÇÑ ÀÌÀ¯¿Í ½ºÇÁ¸µ ºÎÆ® ¾×Ãß¿¡ÀÌÅÍ(Actuator)¿Í JMX¸¦ ÀÌ¿ëÇØ ¸ð´ÏÅÍÇÏ°í Á¦¾îÇÏ´Â ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ Á¦°øÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
11Àå, '¸¶ÀÌÅ©·Î¼ºñ½º ¹èÆ÷'¿¡¼´Â ¸¶ÀÌÅ©·Î¼ºñ½º µµÄ¿¸¦ ¿ÀǽÃÇÁÆ® ¿Â¶óÀÎ(OpenShift Online)¿¡ ¹èÆ÷ÇÏ´Â ¹æ¹ý°ú ¸¶ÀÌÅ©·Î¼ºñ½º Äڵ尡 º¯°æµÉ ¶§ ±êÇãºê¸¦ ÅëÇÕÇØ ÀÚµ¿ ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
12Àå, '¸ð¹ü »ç·Ê'¿¡¼´Â ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¸¸µå´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾÷°è ¸ð¹ü »ç·Ê¸¦ ¼³¸íÇÑ´Ù.
ÁöÀºÀÌÀÇ ¸»
±¸±ÛÀÌ ¾Èµå·ÎÀÌµå »ýÅ°迡¼ ÄÚƲ¸°(Kotlin)ÀÇ Áö¿øÀ» ¹ßÇ¥ÇÏ¸é¼ ÄÚƲ¸°Àº ÁÖ·ù ¾ð¾î·Î ÀνĵDZ⠽ÃÀÛÇß´Ù. ¸¶ÀÌÅ©·Î¼ºñ½º(Microservices)´Â È®À强 ÀÖ°í °ü¸®Çϱ⠽¬¿î À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¼³°èÇÏ´Â µ¥ µµ¿òÀÌ µÇ¸ç, ÄÚƲ¸°Àº Çö´ëÀû °ü¿ë±¸(Idio)¸¦ È°¿ëÇØ °³¹ßÀ» ´Ü¼øÈÇÏ°í °íÇ°Áú ¼ºñ½º¸¦ ¸¸µé ¼ö ÀÖ°Ô ÇÑ´Ù. ÄÚƲ¸°Àº JVM°ú 100% »óÈ£ ¿î¿ë¼ºÀÌ ÀÖ¾î ±âÁ¸ ÀÚ¹Ù Äڵ带 °¡Áö°í ÀÛ¾÷Çϱ⠽±´Ù. ½ºÇÁ¸µ(Spring), Àè½¼(Jackson), ¸®¾×ÅÍ(Reactor) °°Àº Àαâ ÀÖ´Â ÀÚ¹Ù ÇÁ·¹ÀÓ¿öÅ©¿¡´Â ³Î ¾ÈÀü¼º(Null-safty)À̳ª ŸÀÔ ¾ÈÀü(type-safe) ¼±¾ð ºô´õ¿Í °°Àº ¾ð¾î ±â´ÉÀ» È°¿ëÇÏ´Â ÄÚƲ¸° ¸ðµâÀÌ µé¾îÀÖ´Ù.
ÀÌ Ã¥Àº ¿î¿µ ȯ°æ¿¡¼ Å×½ºÆ® °¡´ÉÇÑ ÄÚµå·Î ¼ºñ½º¸¦ ¼³°è ¹× ±¸ÇöÇØ µ¶ÀÚ°¡ ±âÁ¸ ÀÚ¹Ù ±¸Çöº¸´Ù ´õ ª°í À¯Áöº¸¼ö°¡ ¿ëÀÌÇÏ°í ÆíÇÑ Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù.
³Íºí·ÎÅ·(Non-blocking) ±â¼úÀ» È°¿ëÇÏ°í ¼ºñ½º¸¦ Â÷±â ¼öÁØÀÇ ¾÷°è Ç¥ÁØÀ¸·Î ²ø¾î¿Ã¸®±â À§ÇØ ¸®¾×Ƽºê(Reactive) Æз¯´ÙÀÓÀ» »ç¿ëÇϸé ÁÁÀº Á¡À» ¾Ë°Ô µÉ °ÍÀÌ´Ù.
Ã¥À» Àд µµÁß¿¡ ´ë¿ë·® ó¸® ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¸¸µé±â À§ÇØ ¸®¾×ƼºêÀûÀ¸·Î NoSQL µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ´Ù.
ÀÌ Ã¥¿¡¼´Â ´Ù¾çÇÑ Å¬¶ó¿ìµå ȯ°æ¿¡¼ ½ÇÇàÇÒ ¼ö Àִ Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º(Cloud Native Microservice)¸¦ ¸¸µå´Â ¹æ¹ý°ú À̸¦ ¸ð´ÏÅ͸µÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.
¸¶ÀÌÅ©·Î¼ºñ½º¿ë µµÄ¿(Docker) ÄÁÅ×À̳Ê(Container)¸¦ ¸¸µé°í À̸¦ È®ÀåÇÏ´Â ¹æ¹ýÀ» ¾Ë ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î, ¿ÀǽÃÇÁÆ® ¿Â¶óÀÎ(Openshift Online)¿¡ ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ¹èÆ÷ÇÑ´Ù.
¿Å±äÀÌÀÇ ¸»
¾î´Àµ¡ ¸¶ÀÌÅ©·Î¼ºñ½º´Â »õ·Î¿î ¼ºñ½º¸¦ ¸¸µé ¶§ ½ÇÁúÀûÀΠǥÁØ(de facto)ÀÌ µÇ¾î °¡°í ÀÖ´Ù. ÀÌ´Â ºñ´Ü ½ºÅ¸Æ®¾÷À̳ª ¼ºñ½º ±â¾÷»Ó¸¸ ¾Æ´Ï¶ó ÀüÅëÀûÀÎ ±â¾÷¿¡¼µµ ±âÁ¸ÀÇ ÀÏüÇü ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¶ÀÌÅ©·Î¼ºñ½ºÈÇϱâ À§ÇØ ½ÃµµÇÏ°í ÀÖ´Ù´Â À̾߱Ⱑ ½É½ÉÄ¡ ¾Ê°Ô µé·Á¿À°í ÀÖ´Ù.
ÄÚƲ¸°ÀÇ µîÀå ÀÌÈÄ ¾Èµå·ÎÀÌµå »ýÅ°èÀÇ ¿µÇâÀ̱â´Â ÇÏÁö¸¸ ¾î´À»õ ÀÚ¹Ù »ýÅ°èÀÇ ÁÖ·ù ¾ð¾î·Î ÀÚ¸®¸Å±èÇÏ°Ô µÇ¾ú°í ¼¹öÃø °³¹ß ¾ð¾î·Îµµ ¸¹Àº ºÎºÐÀÌ ÄÚƲ¸°À» äÅÃÇÏ°í ÀÖ´Ù.
¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ 1¼¼´ë°¡ VM ±â¹ÝÀÇ Æú¸®±×¶ùÀ¸·Î ´ëº¯µÇ´Â ÀÚÄ¡¼º¿¡ ±â¹ÝÇÑ ¼ºñ½ºÀÇ ºÐ¸®¿¡ ÀÖ¾ú´Ù¸é, 2¼¼´ë´Â ÄÁÅ×ÀÌ³Ê ±â¹ÝÀÇ ¸®¾×Ƽºê Æз¯´ÙÀÓÀÌ¶ó ¸»ÇÒ ¼ö ÀÖÀ» °Í °°´Ù.
ÀÌ Ã¥Àº ÄÚƲ¸° ¾ð¾î¸¦ ÀÌ¿ëÇØ Â÷¼¼´ë ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇϱâ À§ÇÑ ´Ù¾çÇÑ ³»¿ëÀ» ´ã°í ÀÖ´Ù.
¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸®¾×ƼºêÀÇ °³³äÀûÀÎ ¿ø¸®¿Í ÀåÁ¡À¸·Î ½ÃÀÛÇؼ ½ºÇÁ¸µ ºÎÆ® ±â¹ÝÀ¸·Î ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ½±°Ô ¸¸µé¾îº¸°í, ½ºÇÁ¸µ À¥Ç÷°½º(WebFlux)¸¦ »ç¿ëÇØ ³Íºí·ÎÅ· ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º¸¦ ±¸ÃàÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ »ìÆ캻´Ù.
±×¸®°í À̸¦ ÄÁÅ×ÀÌ³Ê ±â¹ÝÀ¸·Î ¿î¿ëÇϱâ À§ÇÑ °³¹ß, Å×½ºÆ® ¸ð´ÏÅ͸µ°ú ¹èÆ÷¿¡ À̸£´Â ¿µ¿ªÀ» ´Ù·é´Ù. ¹«¾ùº¸´Ùµµ ÀÌ Ã¥ÀÇ ÀåÁ¡Àº Á¦¸ñ¿¡¼µµ ¾Ë ¼ö ÀÖµíÀÌ ±âº»ÀûÀÎ °³³ä¿¡ ´ëÇÑ ÀÌÇظ¦ ¹ÙÅÁÀ¸·Î Á÷Á¢ ¸¸µé¾î º¸¸é¼ »õ·Î¿î °³³ä°ú ±â¼úÀ» üÇèÇÒ ¼ö ÀÖµµ·Ï ±¸¼ºµÅ ÀÖ¾î¼ Â÷¼¼´ë±Þ ¸¶ÀÌÅ©·Î¼ºñ½º ±¸Ãà¿¡ ¼Ò¿äµÇ´Â ±â¼ú ±â¹ÝÀ» Á¶¸ÁÇغ¸´Â µ¥ ÁÁÀº ¾È³»¼°¡ µÉ °ÍÀ¸·Î ±â´ëÇÑ´Ù.
¿ø¼°¡ Ãâ°£µÈ ½ÃÁ¡¿¡ ½ºÇÁ¸µ ºÎÆ® ¹öÀüÀº 2.0.0 M7À̾úÀ¸³ª ¹ø¿ª¼°¡ Ãâ°£µÇ´Â ½ÃÁ¡¿¡´Â 2.1¹öÀüÀÌ Ãâ½ÃµÆ´Ù. ±×¸®°í ÀÎÅÚ¸®Á¦ÀÌ IDEA CE ¹öÀüµµ 2017.2À̾úÀ¸³ª ¹ø¿ª¼ Ãâ°£ ½ÃÁ¡¿¡´Â 2018.3À¸·Î ¾÷±×·¹À̵åµÆ´Ù. ¹ø¿ª¼¿¡´Â ÀÌ·± º¯°æ »çÇ×À» ¹Ý¿µÇØ ¿¹Á¦¿Í Ã¥ ³»¿ëÀ» ¹«¸®¾øÀÌ µû¶ó ÇÒ
¸ñÂ÷
1Àå. ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ ÀÌÇØ
¸¶ÀÌÅ©·Î¼ºñ½º¶õ ¹«¾ùÀΰ¡
SoA ÀÌÇØ
SoA¿Í ¸¶ÀÌÅ©·Î¼ºñ½ºÀÇ Â÷ÀÌÁ¡
ÀÏüÇü¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º·Î
¸¶ÀÌÅ©·Î¼ºñ½º ¿øÄ¢
¼³°è ¿øÄ¢ Á¤ÀÇ
ºñÁî´Ï½º ¿ª·® Á᫐ ¸ðµ¨
´À½¼ÇÑ °áÇÕ
´ÜÀÏ Ã¥ÀÓ
±¸Çö Àº´Ð
°Ý¸®
µ¶¸³ÀûÀÎ ¹èÆ÷ °¡´É
Àå¾Ö¸¦ °í·ÁÇÑ ºôµå
È®À强
ÀÚµ¿È
µµ¸ÞÀÎ ÁÖµµ ¼³°è
µµ¸ÞÀÎ ÁÖµµ ¼³°è¶õ
¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º
¸®¾×Ƽºê ÇÁ·Î±×·¡¹Ö
¸®¾×Ƽºê ¼±¾ð¹®
¸®¾×Ƽºê ÇÁ·¹ÀÓ¿öÅ©
¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º
Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º
Ŭ¶ó¿ìµå ÄÄÇ»ÆÃ
ÄÁÅ×À̳Ê
¹èÆ÷ ¸ðµ¨
Á¤¸®
2Àå. ½ºÇÁ¸µ ºÎÆ® 2.0 ½ÃÀÛÇϱâ
½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
±¸¼º
½ºÇÁ¸µ À̴ϼȶóÀÌÀú »ç¿ë
ÀÎÅÚ¸®Á¦ÀÌ IDEA »ç¿ë
½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶
¾ÖÇø®ÄÉÀÌ¼Ç ¿ÀºêÁ§Æ® »ý¼º
½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ® Á¤ÀÇ
ÄÄÆ÷³ÍÆ® ½ºÄµ ÀÌÇØ
ÄÄÆ÷³ÍÆ® »ç¿ë
ÀÇÁ¸ °ü°è ÀÚµ¿ ¼³Á¤
½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ÆÐŰ¡ ¹× ½ÇÇà
ÆÐŰ¡
WAR°¡ ¾Æ´Ñ JAR·Î ÆÐŰ¡Çϱâ
½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà
½ÇÇà °¡´ÉÇÑ JAR ¸¸µé±â
¾ÖÇø®ÄÉÀÌ¼Ç ¼³Á¤
¼³Á¤ °ª ¼³Á¤Çϱâ
½ºÇÁ¸µ Ç¥Çö ¾ð¾îÀÇ ÀÌÇØ
ÇÁ·ÎÆÄÀÏ »ç¿ë
Á¶°ÇºÎ ºó ¸¸µé±â
Á¤¸®
3Àå. RESTful ¼ºñ½º ¸¸µé±â
RestControllerÀÇ ÀÌÇØ
ÄÁÆ®·Ñ·¯¶õ
RestController ¸¸µé±â
ÄÁÆ®·Ñ·¯ ÀÌÇØ
°æ·Î¿Í ¿äû ¸Å°³ º¯¼ö
customers ¸Ê »ý¼º
°æ·Î º¯¼ö ¾ò±â
°æ·Î º¯¼ö ÀÌÇØ
¿äû ¸Å°³ º¯¼ö Á¤ÀÇ
¿äû ¸Å°³ º¯¼ö ÀÌÇØ
HTTP µ¿»ç¿Í »óÅÂ
Ç¥ÁØ HTTP µ¿»ç¿Í »óÅÂ
HTTP µ¿»ç ó¸®
¼ºñ½º ·¹ÀÌ¾î ±¸Çö
HTTP »óÅ ó¸®Çϱâ
JSONÀ¸·Î ÀÛ¾÷Çϱâ
°í°´ Ŭ·¡½º¿¡ ÀüȹøÈ£ Ãß°¡
¿ªÁ÷·ÄÈ ÀÌÇØ
¿À·ù ó¸®
ÄÁÆ®·Ñ·¯ ¾îµå¹ÙÀ̽º »ç¿ë
ºñÁî´Ï½º ¿¹¿Ü »ý¼º
ÄÁÆ®·Ñ·¯ ¾îµå¹ÙÀ̽º ÇÇÇϱâ
Á¤¸®
4Àå. ¸®¾×Ƽºê ¸¶ÀÌÅ©·Î¼ºñ½º ¸¸µé±â
½ºÇÁ¸µ À¥Ç÷°½ºÀÇ ÀÌÇØ
½ºÇÁ¸µ À¥Ç÷°½º ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â
³×Ƽ »ç¿ëÇϱâ
RestController Ãß°¡
Customer ¼ºñ½º ¸¸µé±â
ºí·ÎÅ·Àº ¸®¾×Ƽºê°¡ ¾Æ´Ï´Ù
¸®¾×Ƽºê ¼ºñ½º ¸¸µé±â
±¸µ¶ÀÚ¿Í °Ô½ÃÀÚ
´ÜÀÏ °´Ã¼ °Ô½ÃÇϱâ
¼ºñ½º¿¡¼ ¸ð³ë »ç¿ëÇϱâ
¿©·¯ °´Ã¼ °Ô½ÃÇϱâ
¼ºñ½º¿¡¼ Ç÷°½º »ç¿ëÇϱâ
¸®¾×ƼºêÇÏ°Ô °´Ã¼ ¼ö½Å
ÇÔ¼öÇü À¥ ÇÁ·Î±×·¡¹Ö »ç¿ëÇϱâ
RouterFunction »ç¿ëÇϱâ
Çڵ鷯 ¸¸µé±â
¸®¾×Ƽºê ¼ºñ½º »ç¿ëÇϱâ
´ÙÁß °æ·Î ó¸®Çϱâ
Äõ¸® ¸Å°³ º¯¼ö »ç¿ëÇϱâ
JSON º»¹® ó¸®Çϱâ
¸®¾×Ƽºê ¿À·ù ó¸®Çϱâ
Çڵ鷯¿¡¼ ¿À·ù ĸóÇϱâ
¿À·ù °Ô½Ã
Á¤¸®
5Àå. ¸®¾×Ƽºê ½ºÇÁ¸µ µ¥ÀÌÅÍ
NoSQL µ¥ÀÌÅͺ£À̽º
SQL µ¥ÀÌÅͺ£À̽º¶õ
NoSQL µ¥ÀÌÅͺ£À̽º¶õ
¸ù°íDB ¼³Ä¡
Mongo Ŭ¶óÀ̾ðÆ®¿Í ¿¬°á
µ¥ÀÌÅͺ£À̽º »ý¼º
¸í·É »ç¿ë
½ºÇÁ¸µ µ¥ÀÌÅÍ »ç¿ë
ÇÁ·ÎÁ§Æ® ¼³Á¤
¿¬°á ±¸¼º
¸ù°íDB¿¡ ¸í·É¾î º¸³»±â
¸®¾×Ƽºê ¸®Æ÷ÁöÅ丮
¸®Æ÷ÁöÅ丮 »ý¼ºÇϱâ
¸®Æ÷ÁöÅ丮 »ç¿ëÇϱâ
ÃʱâÈ ¿Ï·á
ReactiveMongoTemplate »ç¿ë
CRUD ¿¬»êÀ» À§ÇÑ RESTful API
¼ºñ½º Àç»ç¿ë
GETÀ» READ·Î ¸ÅÇÎ
POST¸¦ CREATE·Î ¸ÅÇÎ
DELETE ¸ÅÇÎ
°í°´ °Ë»ö
Á¤¸®
6Àå. Ŭ¶ó¿ìµå ³×ÀÌƼºê ¸¶ÀÌÅ©·Î¼ºñ½º ¸¸µé±â
½ºÇÁ¸µ Ŭ¶ó¿ìµåÀÇ ÀÌÇØ
Ŭ¶ó¿ìµå ³×ÀÌƼºê ÇÁ·Î±×·¥À̶õ ¹«¾ùÀΰ¡
½ºÇÁ¸µ Ŭ¶ó¿ìµå ¾ÆÅ°ÅØó
½ºÇÁ¸µ Ŭ¶ó¿ìµå ³ÝÇø¯½º
½ºÇÁ¸µ Ŭ¶ó¿ìµå ¸¶ÀÌÅ©·Î¼ºñ½º ¸¸µé±â
ÄÁÇÇ±× ¼¹ö
ÄÁÇÇ
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
»ý³â¿ùÀÏ | - |
---|
ÇØ´çÀÛ°¡¿¡ ´ëÇÑ ¼Ò°³°¡ ¾ø½À´Ï´Ù.
ÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
(ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ ¸ðµç °Å·¡¿¡ ´ëÇÏ¿©
(ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.