½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÏ¿© È®Àå °¡´ÉÇÑ ÃֽŠÀ¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÏ´Â °úÁ¤À» ¾È³»ÇÏ´Â Á¾ÇÕ °¡À̵åÀÎ '½ÇÀü ½ºÇÁ¸µ ºÎÆ® À¥ °³¹ß (feat. Java, Mustache, JDBC, MySQL, Maven)'¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù. ÀÌ Ã¥Àº Ãʺ¸ÀÚÀÌµç ½ºÇÁ¸µ ºÎÆ®¿¡ ´ëÇÑ Áö½ÄÀ» Çâ»ó½ÃÅ°·Á´Â ¼÷·ÃµÈ °³¹ßÀÚÀÌµç »ó°ü¾øÀÌ ½ºÇÁ¸µ ºÎÆ®ÀÇ ±â´ÉÀ» »ç¿ëÇÏ¿© °·ÂÇÑ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µå´Â µ¥ ÇÊ¿äÇÑ µµ±¸, ¸ð¹ü »ç·Ê ¹× ½ÉÃþÀûÀÎ Áö½ÄÀ» Á¦°øÇÕ´Ï´Ù. °¢ Àå¿¡¼´Â ±âº» ¼³Á¤ ¹× ±¸¼ººÎÅÍ ½ÃÀÛÇÏ¿© AOP, Æ®·£Àè¼Ç °ü¸®, º¸¾È°ú °°Àº °í±Þ ÁÖÁ¦¿¡ À̸£±â±îÁö ±¸Ã¼ÀûÀÎ °³³äÀ» »ìÆ캾´Ï´Ù.
1Àå, '½ºÇÁ¸µ ºÎÆ® °³¹ßȯ°æ'¿¡¼´Â Java ¹× Spring Tools 4ÀÇ ¼³Ä¡ °úÁ¤À» ¾È³»ÇÏ¿© ±âÃʸ¦ ´ÙÁö°í, °³¹ß ȯ°æÀ» ÁغñÇÏ¿© ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå¸¦ ½ÃÀÛÇÒ ¼ö ÀÖµµ·Ï µµ¿ÍÁÝ´Ï´Ù.
2Àå, '½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ® »ý¼º'¿¡¼´Â ù ¹ø° ½ºÇÁ¸µ ºÎÆ® ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏ´Â µ¥ ÇÊ¿äÇÑ Çʼö »çÇ×À» ´Ù·ì´Ï´Ù. ÇÁ·ÎÁ§Æ® ±¸¼º, Spring MVC, ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ÇÀÇ ±¸Á¶´Â ¹°·Ð ½ÃÀÛÀ» À§ÇØ Çʼö ÀÇÁ¸¼ºÀ» Ãß°¡ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¹è¿ó´Ï´Ù.
3Àå, '·Òº¹'¿¡¼´Â @Getter, @Setter, @ToString µî°ú °°Àº ¾î³ëÅ×À̼ÇÀ» Á¦°øÇÏ¿© JavaBeans ¸ðµ¨À» ´Ü¼øÈÇÏ´Â Lombok ¶óÀ̺귯¸®¸¦ ¼Ò°³ÇÕ´Ï´Ù. ÀÌ Àå¿¡¼´Â ·Òº¹ÀÇ ¼³Ä¡ ¹× ½ÇÁ¦ »ç¿ë »ç·Ê¸¦ ´Ù·ì´Ï´Ù.
4Àå, 'ÄÁÆ®·Ñ·¯ ¿äû ¸ÅÇÎ'¿¡¼´Â ´Ù¾çÇÑ HTTP ¸Þ¼µå¿Í ¸ÅÇÎ Àü·«À» »ç¿ëÇÏ¿© µé¾î¿À´Â ¿äûÀ» ÀûÀýÇÑ ÄÁÆ®·Ñ·¯ ¸Þ¼µå¿¡ ¸ÅÇÎÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. ¸Å°³º¯¼ö, Çì´õ, ÄÜÅÙÃ÷ À¯Çü ¹× À̸¦ ó¸®ÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¾´Ï´Ù.
5Àå, 'ÄÁÆ®·Ñ·¯ ÀÀ´ä'¿¡¼´Â ÄÁÆ®·Ñ·¯°¡ ´Ù¾çÇÑ Å¬¶óÀ̾ðÆ®¿¡ ÀûÇÕÇÑ Çü½ÄÀ¸·Î ¿Ã¹Ù¸¥ µ¥ÀÌÅ͸¦ ¹ÝȯÇÒ ¼ö ÀÖµµ·Ï ¹®ÀÚ¿, JavaBean, ResponseEntity¿Í °°Àº ´Ù¾çÇÑ À¯ÇüÀÇ ÀÀ´äÀ» ó¸®ÇÏ´Â ¹æ¹ýÀ» »ìÆ캾´Ï´Ù.
6Àå, 'ÄÁÆ®·Ñ·¯ ¿äû ó¸®'¿¡¼´Â µé¾î¿À´Â ¿äûÀ» ó¸®ÇÏ´Â µ¥ ÁßÁ¡À» µÓ´Ï´Ù. Æû Á¦Ãâ, ÆÄÀÏ ¾÷·Îµå, Ajax ¿äûÀ» ó¸®ÇÏ´Â ¹æ¹ý°ú ¿äû ó¸®ÀÇ ÀϺηΠµ¥ÀÌÅÍ À¯ÇüÀ» º¯È¯ÇÏ°í JavaBeans¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°Ô µË´Ï´Ù.
7Àå, 'µ¥ÀÌÅÍ Àü´ÞÀÚ ¸ðµ¨'¿¡¼´Â ¸ðµ¨°ú @ModelAttribute¿Í °°Àº ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇØ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ¿©·¯ °èÃþ °£¿¡ µ¥ÀÌÅ͸¦ Àü´ÞÇÏ´Â ¹æ¹ýÀ» »ìÆ캸°í, À¥ »óÈ£ÀÛ¿ë Áß¿¡ Spring MVC°¡ µ¥ÀÌÅ͸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ÀÌÇØÇÏ´Â µ¥ µµ¿òÀ» ÁÝ´Ï´Ù.
8Àå, '¸Ó½ºÅ×Ä¡'¿¡¼´Â ÃÖ¼ÒÇÑÀÇ ÅÛÇø´ ¿£ÁøÀÎ ¸Ó½ºÅ×Ä¡¸¦ ¼Ò°³ÇÏ°í µ¿Àû º¸±â¸¦ »ý¼ºÇϱâ À§ÇÑ ½ºÇÁ¸µ ºÎÆ®¿ÍÀÇ ÅëÇÕ¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. À¥ ÆäÀÌÁö¿¡¼ º¯¼ö, ¼½¼Ç ¹× ·¹À̾ƿôÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.
9Àå, '½ºÇÁ¸µ Æû'¿¡¼´Â Æû ¿ä¼Ò¿Í ½ºÇÁ¸µ ºÎÆ®¿¡¼ È¿°úÀûÀ¸·Î ÀÛ¾÷ÇÏ´Â ¹æ¹ýÀ» ´Ù·ì´Ï´Ù. ÀÌ Àå¿¡¼´Â ÅؽºÆ® Çʵå, üũ¹Ú½º, ¶óµð¿À ¹öÆ°, ¼±Åà »óÀÚ¸¦ ó¸®ÇÏ°í ÀÔ·Â À¯È¿¼º °Ë»ç ¿À·ù¸¦ °ü¸®ÇÏ´Â ¹æ¹ýÀ» ¾È³»ÇÕ´Ï´Ù.
10Àå, 'ÀÔ·Â À¯È¿¼º °ËÁõ'¿¡¼´Â Æû°ú ¾ÖÇø®ÄÉÀ̼ǿ¡¼ µ¥ÀÌÅÍ ¹«°á¼º°ú ÀÏ°ü¼ºÀ» º¸ÀåÇϱâ À§ÇÑ ½ºÇÁ¸µÀÇ À¯È¿¼º °Ë»ç±â ÀÎÅÍÆäÀ̽º¿Í ±ÔÄ¢¿¡ ÃÊÁ¡À» ¸ÂÃç »ç¿ëÀÚ ÀÔ·ÂÀÇ À¯È¿¼º °Ë»ç¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캾´Ï´Ù.
11Àå, '¸Þ½ÃÁö ó¸®'¿¡¼´Â ½ºÇÁ¸µ ºÎÆ®¿¡¼ ´Ù±¹¾î ¾ÖÇø®ÄÉÀ̼ÇÀ» ½±°Ô ¸¸µé ¼ö ÀÖµµ·Ï ±¹Á¦È ¹× ¸Þ½ÃÁö ¼Ò½º¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÝ´Ï´Ù.
12Àå, 'ÀÇÁ¸¼º ÁÖÀÔ'¿¡¼´Â ÇÊµå ±â¹Ý, »ý¼ºÀÚ ±â¹Ý, ¼³Á¤ÀÚ ±â¹Ý ÁÖÀÔÀ» ºñ·ÔÇÑ ½ºÇÁ¸µ ºÎÆ®ÀÇ ´Ù¾çÇÑ ÀÇÁ¸¼º ÁÖÀÔ ¸ÞÄ¿´ÏÁò°ú ÀÚµ¿ ¹è¼±¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù.
13Àå, '¼¼¼Ç°ú ÄíÅ°'¿¡¼´Â »ç¿ëÀÚ ¼¼¼Ç°ú ÄíÅ°¸¦ °ü¸®ÇÏ´Â ¹æ¹ý°ú @SessionAttributes¿Í °°Àº ¾î³ëÅ×À̼ÇÀ» »ç¿ëÇÏ¿© ·Î±×ÀÎ, ·Î±×¾Æ¿ô, Àå¹Ù±¸´Ï¿Í °°Àº ±â´ÉÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù.
14Àå, '¿¹¿Ü ó¸®'¿¡¼´Â ¿À·ù ÀÀ´äÀ» »ç¿ëÀÚ Á¤ÀÇÇÏ°í ÀÔ·Â À¯È¿¼º °Ë»ç ¹®Á¦¸¦ È¿°úÀûÀ¸·Î ó¸®ÇÏ´Â ¹æ¹ýÀ» Æ÷ÇÔÇÏ¿© ½ºÇÁ¸µ ºÎÆ® ¾ÖÇø®ÄÉÀ̼ǿ¡¼ ¿¹¿Ü¸¦ ó¸®Çϱâ À§ÇÑ Àü·«À» Á¦°øÇÕ´Ï´Ù.
15Àå, 'ÀÎÅͼÁÅÍ'¿¡¼´Â ¿äûÀÌ ÄÁÆ®·Ñ·¯¿¡ µµ´ÞÇϱâ Àü ¶Ç´Â ÀÀ´äÀÌ »ý¼ºµÈ ÈÄ¿¡ ó¸®Çϱâ À§ÇÑ °·ÂÇÑ µµ±¸ÀÎ ÀÎÅͼÁÅ͸¦ ¼Ò°³ÇÕ´Ï´Ù. ÀÎÅͼÁÅ͸¦ ±¸¼ºÇÏ°í ·Î±ëÀ̳ª ¼¼¼Ç °ü¸®¿Í °°Àº ÀÛ¾÷¿¡ »ç¿ëÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.
16Àå, 'µ¥ÀÌÅͺ£À̽º ¿¬°á'¿¡¼´Â µ¥ÀÌÅͺ£À̽º¸¦ ¼³Á¤ÇÏ°í, µ¥ÀÌÅÍ ¼Ò½º¸¦ ±¸¼ºÇÏ°í, Spring JDBC, JPA ¹× MyBatis·Î CRUD ÀÛ¾÷À» ¼Ò°³ÇÏ´Â °úÁ¤À» ¾È³»ÇÕ´Ï´Ù.
17Àå, '½ºÇÁ¸µ JDBC'¿¡¼´Â ½ºÇÁ¸µ JDBC¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캸°í °ü°èÇü µ¥ÀÌÅͺ£À̽º¿Í »óÈ£ ÀÛ¿ëÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÕ´Ï´Ù. ÀÌ Àå¿¡¼´Â µ¥ÀÌÅÍ °Ë»ö, µ¥ÀÌÅÍ ¼öÁ¤, RowMapper ¹× ResultSetExtractor¿Í °°Àº ÀÎÅÍÆäÀ̽º·Î ÀÛ¾÷ÇÏ´Â ¹æ¹ýÀ» ´Ù·ì´Ï´Ù.
18Àå, '°Ô½ÃÆÇ ÇÁ·ÎÁ§Æ®'¿¡¼´Â °Ô½Ã¹° ÀÛ¼º, À¯È¿¼º °Ë»ç, ÆíÁý ¹× »èÁ¦¿Í °°Àº ±â´ÉÀ» Æ÷ÇÔÇÏ¿© °Ô½ÃÆÇ ½Ã½ºÅÛÀ» óÀ½ºÎÅÍ ±¸ÃàÇÏ´Â ½ÇÁ¦ ÇÁ·ÎÁ§Æ® »ç·Ê ¿¬±¸¸¦ ´Ù·ì´Ï´Ù.
19Àå, 'ÆÄÀÏ ¾÷·Îµå'¿¡¼´Â À̹ÌÁö ó¸®, ´ÙÁß ÆÄÀÏ ¾÷·Îµå ¹× ºñµ¿±â ¾÷·Îµå¸¦ Æ÷ÇÔÇÏ¿© ½ºÇÁ¸µ ºÎÆ®¿¡¼ ÆÄÀÏ ¾÷·Îµå¸¦ ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ´Ù·ì´Ï´Ù.
20Àå, 'AOP'¿¡¼´Â ·Î±ë, º¸¾È ¹× Æ®·£Àè¼Ç °ü¸®¿Í °°Àº ±³Â÷ÀûÀÎ ¹®Á¦¸¦ Æ÷ÀÎÆ®ÄÆ°ú Á¶¾ðÀ» »ç¿ëÇÏ¿© ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ´Â ½ºÇÁ¸µ ºÎÆ®ÀÇ Ãø¸é ÁöÇâ ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÕ´Ï´Ù.
21Àå, 'Æ®·£Àè¼Ç'¿¡¼´Â ¾ÖÇø®ÄÉÀ̼ǿ¡¼ Æ®·£Àè¼ÇÀ» °ü¸®ÇÏ´Â µ¥ ÁßÁ¡À» µÓ´Ï´Ù. Æ®·£Àè¼ÇÀ» ±¸¼ºÇÏ°í ´Ù¾çÇÑ ÀÛ¾÷¿¡¼ µ¥ÀÌÅÍ ¹«°á¼ºÀ» º¸ÀåÇÏ´Â ¹æ¹ýÀ» ¹è¿ì°Ô µË´Ï´Ù.
22Àå, '½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼'¿¡¼´Â À¥ ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È¿¡ ´ëÇØ ÀÚ¼¼È÷ »ìÆ캾´Ï´Ù. ÀÎÁõ ¹× ±ÇÇÑ ºÎ¿©¸¦ ±¸¼ºÇÏ°í, »ç¿ëÀÚ Á¤ÀÇ ·Î±×ÀÎ ÆäÀÌÁö¸¦ ¸¸µé°í, ¾×¼¼½º Á¦ÇÑÀ» °ü¸®ÇÏ°í, º¸¾È °ü·Ã ¿¹¿Ü¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ¹è¿ó´Ï´Ù.
23Àå, '½ÇÀü ÇÁ·ÎÁ§Æ®'¿¡¼´Â »õ·Î ½ÀµæÇÑ ½ºÇÁ¸µ ºÎÆ® Áö½ÄÀ» Àû¿ëÇÏ¿© ÇÁ·Î´ö¼Ç Áö¿ø ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÒ ¼ö ÀÖ´Â ÀÏ·ÃÀÇ ÇÁ·ÎÁ§Æ® ±â¹Ý ¿¹Á¦¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ Àå¿¡¼´Â ȸ¿ø °ü¸® ½Ã½ºÅÛ »ý¼ººÎÅÍ °Ë»ö ±â´É ¹× °Ô½ÃÆÇ ±¸Çö¿¡ À̸£±â±îÁö ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÑ À¥ °³¹ß¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ Á¢±Ù ¹æ½ÄÀ» Á¦°øÇÕ´Ï´Ù.
ÀÌ Ã¥À» ¸¶Ä¡¸é ½ºÇÁ¸µ ºÎÆ®¸¦ »ç¿ëÇÏ¿© À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ºôµå, º¸È£ ¹× ¹èÆ÷ÇÏ´Â ¹æ¹ýÀ» ±íÀÌ ÀÌÇØÇÏ°í, È®Àå °¡´ÉÇÏ°í À¯Áö °ü¸®°¡ ½¬¿î ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé±â À§ÇØ ±¤¹üÀ§ÇÑ µµ±¸¿Í ±â´ÉÀ» È°¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. °£´ÜÇÑ À¥»çÀÌÆ®¸¦ °³¹ßÇÏµç º¹ÀâÇÑ ¿£ÅÍÇÁ¶óÀÌÁî ¼Ö·ç¼ÇÀ» °³¹ßÇϵç ÀÌ °¡À̵å´Â ½ºÇÁ¸µ ºÎÆ®·Î ¼º°øÇÏ´Â µ¥ ÇÊ¿äÇÑ Áö½Ä°ú Àü¹® Áö½ÄÀ» Á¦°øÇÕ´Ï´Ù.
ÀÌ Ã¥Àº Á¾ÀÌÃ¥ ÇüÅ°¡ ¾Æ´Ñ EPUB ÀüÀÚÃ¥À¸·Î Á¦À۵Ǿî, ÀüÅëÀûÀÎ ÆäÀÌÁö ·¹À̾ƿô°ú´Â ´Ù¸¥, À¥ ±â¹ÝÀÇ È帧À» ÃëÇÏ°í ÀÖ½À´Ï´Ù. µû¶ó¼ Á¾ÀÌÃ¥°ú °°Àº ±¸¼º¿¡ Àͼ÷ÇÑ µ¶ÀÚ¶ó¸é ´Ù¼Ò ÀÌÁú°¨À» ´À³¥ ¼ö ÀÖ½À´Ï´Ù.