- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > ÀÚ¹Ù À¥ °³¹ß ¿öÅ©ºÏ[ÇÁ¸®·º]
ÀÌ Ã¥Àº Á¦¸ñ ±×´ë·Î ¿öÅ©ºÏÀÔ´Ï´Ù. Á÷Á¢ ¼ÕÀ¸·Î Ä£ Äڵ带 ¸öÀ¸·Î ÀÍÈ÷¸ç ½º½º·Î ÇнÀÇÒ ¼ö ÀÖµµ·Ï µ½½À´Ï´Ù. °ú°Å¿¡¼ ÇöÀç, ÃÖ±Ù °³¹ßÀ» ÁÖµµÇÏ´Â ½ºÇÁ¸µ ±â¹Ý À¥ °³¹ß¿¡ ÇÊ¿äÇÑ ±â¼úµéÀ» ¼øÂ÷ÀûÀ¸·Î ÇнÀÇÕ´Ï´Ù. ¼ºí¸´/JSPºÎÅÍ º¯ÈÇÑ ÇöÀçÀÇ µ¿ÀûÀÎ À¥ °³¹ß ȯ°æ¿¡ ¸Âµµ·Ï ½ºÇÁ¸µ À¥ MVC·Î, ¸¶À̹ÙƼ½º·Î, JPA¸¦ ÀÌ¿ëÇÑ DBÀÇ ¿µ¼Ó¼º 󸮸¦ ÇнÀÇÏ°í ½ÃÅ¥¸®Æ¼·Î ´Ù¾çÇÑ ·Î±×ÀÎ ¹æ¹ý°ú API ¼ºñ½º¸¦ À§ÇÑ JWT ÀÎÁõ µîÀ¸·Î Á¡Á¡ °³¼±µÈ ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®¸¦ AWS¿¡¼ ºôµå ½Ç½ÀÇÏ°í ¹èÆ÷±îÁö °æÇèÇÕ´Ï´Ù. ±×¸®°í ÃÖ±Ù ½Ç¹«¿¡¼ ÁÖµµÇÏ´Â ±â¼ú, ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ±â¹ÝÀÇ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¹Ö ·Îµå¸ÊÀ» Á¦¾ÈÇÕ´Ï´Ù. ÀÚ¹Ù À¥ °³¹ßÀÚ·Î Ãë¾÷À» ÁغñÇÏ°í ÀÖ´Ù¸é ÀÌ Ã¥Àº ¼ºÀåÇÏ´Â °³¹ßÀÚ°¡ µÇ±â À§ÇÑ ¾ÆÁÖ À¯¿ëÇÑ ¾È³»¼°¡ µÉ °ÍÀÔ´Ï´Ù.
ÀúÀÚ: ±¸¸Û°¡°Ô ÄÚµù´Ü (ÁöÀºÀÌ)
ÀúÀÚ¼¹®
µé¾î°¡¸ç
1Àå À¥ ÇÁ·Î±×·¡¹ÖÀÇ ½ÃÀÛ
_1.1 ÀÚ¹Ù À¥ °³¹ß ȯ°æ ¸¸µé±â
__À¥ ÇÁ·ÎÁ§Æ®ÀÇ ±âº»±¸Á¶
__ÀÎÅÚ¸®Á¦À̸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® »ý¼º
__ÅèĹ(Tomcat) ¼³Á¤°ú À¥ ÇÁ·ÎÁ§Æ® »ý¼º
_1.2 À¥ ±âº» µ¿ÀÛ ¹æ½Ä ÀÌÇØÇϱâ
__Request(¿äû) / Response (ÀÀ´ä)
__JSP¸¦ ÀÌ¿ëÇؼ GET/POST ó¸®Çϱâ
_1.3 Web MVC ¹æ½Ä
__MVC ±¸Á¶¿Í ¼ºí¸´/JSP
__½Ç½À_1 ÄÁÆ®·Ñ·¯¿¡¼ ºä(View)È£Ãâ
__½Ç½À_1 POST ¹æ½ÄÀ» ÅëÇÑ Ã³¸® ¿äû
__½Ç½À_03 sendRedirect( )
__PRG ÆÐÅÏ(Post-Redirect-GET)
_1.4 HttpServlet 60
__HttpServletRequestÀÇ ÁÖ¿ä ±â´É
__HttpServletResponseÀÇ ÁÖ¿ä ±â´É
__½Ç½À_01 ¿ÍÀ̾î ÇÁ·¹ÀÓÀÇ ±¸Çö
__½Ç½À_02 TodoListController±¸Çö
__½Ç½À_03 TodoReigsterControllerÀÇ ±¸Çö
_1.5 ¸ðµ¨(Model) 74
__¸ðµ¨°ú 3Ƽ¾î
__½Ç½À_04 TodoService Ŭ·¡½º
__ÄÁÆ®·Ñ·¯¿¡¼ ¸ðµ¨ ó¸®Çϱâ
__½Ç½À_05 TodoListControllerÀÇ Ã³¸®
__JSP - EL(Expression Language)
__JSTL
__½Ç½À_06 Todo Á¶È¸
2Àå À¥°ú µ¥ÀÌÅͺ£À̽º
_2.1 JDBC ÇÁ·Î±×·¡¹Ö Áغñ
__MariaDBÀÇ ¼³Ä¡¿Í »ý¼º
__ÇÁ·ÎÁ§Æ® »ý¼º°ú MariaDB Áغñ
__½Ç½À_01 Å×½ºÆ® ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ
__½Ç½À_02 µ¥ÀÌÅͺ£À̽º Å×ÀÌºí »ý¼º
__½Ç½À_03 µ¥ÀÌÅÍ insert
__½Ç½À_04 µ¥ÀÌÅÍ select
__½Ç½À_05 µ¥ÀÌÅÍ update
__½Ç½À_06 µ¥ÀÌÅÍ delete
_2.2 ÇÁ·ÎÁ§Æ® ³» JDBC ±¸Çö
__Lombok ¶óÀ̺귯¸®
__½Ç½À_01 TodoVO Ŭ·¡½ºÀÇ ÀÛ¼º
__HikariCPÀÇ ¼³Á¤
__½Ç½À_02 Connection Pool ÀÌ¿ëÇϱâ
__½Ç½À_03 TodoDAOÀÇ µî·Ï ±â´É ±¸ÇöÇϱâ
__½Ç½À_04 TodoDAOÀÇ ¸ñ·Ï ±â´É ±¸ÇöÇϱâ
__½Ç½À_05 TodoDAOÀÇ Á¶È¸ ±â´É ±¸ÇöÇϱâ
__½Ç½À_06 TodoDAOÀÇ »èÁ¦/¼öÁ¤ ±â´É ±¸ÇöÇϱâ
_2.3 À¥ MVC¿Í JDBCÀÇ °áÇÕ
__ModelMapper ¶óÀ̺귯¸®
__½Ç½À_07 TodoService¿Í ModelMapper Å×½ºÆ®
__Log4j2¿Í @Log4j2
__ÄÁÆ®·Ñ·¯¿Í ¼ºñ½º °´Ã¼ÀÇ ¿¬µ¿
__½Ç½À_08 µî·Ï ±â´É ±¸Çö
__½Ç½À_09 Á¶È¸ ±â´É ±¸Çö
__½Ç½À_10 ¼öÁ¤/»èÁ¦ ±â´É ±¸Çö
3Àå ¼¼¼Ç/ÄíÅ°/ÇÊÅÍ/¸®½º³Ê
_3.1 ¼¼¼Ç°ú ÇÊÅÍ
__¹«»óÅ¿¡¼ °ú°Å¸¦ ±â¾ïÇÏ´Â ¹ý
__¼ºí¸´ ÄÁÅؽºÆ®¿Í ¼¼¼Ç ÀúÀå¼Ò
__¼¼¼ÇÀ» ÀÌ¿ëÇÏ´Â ·Î±×ÀΠüũ
__½Ç½À_01 µî·ÏÇÒ ¶§, ·Î±×ÀΠüũ Çϱâ
__½Ç½À_02 ·Î±×ÀΠó¸® ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ
__ÇÊÅ͸¦ ÀÌ¿ëÇÑ ·Î±×ÀΠüũ
__½Ç½À_03 ·Î±×ÀΠüũ ±¸Çö
__½Ç½À_04 UTF-8 ó¸® ÇÊÅÍ
__¼¼¼ÇÀ» ÀÌ¿ëÇÏ´Â ·Î±×¾Æ¿ô ó¸®
__µ¥ÀÌÅͺ£À̽º¿¡¼ ȸ¿ø Á¤º¸ ÀÌ¿ëÇϱâ
__½Ç½À_05 ÀÚ¹Ù¿¡¼ ȸ¿ø µ¥ÀÌÅÍ Ã³¸®Çϱâ
__½Ç½À_06 ÄÁÆ®·Ñ·¯¿¡¼ ·Î±×ÀÎ ¿¬µ¿
_3.2 »ç¿ëÀÚ Á¤ÀÇ ÄíÅ°(Cookie)
__ÄíÅ°ÀÇ »ý¼º/Àü¼Û
__½Ç½À_07 Á¶È¸ÇÑ Todo È®ÀÎÇϱâ
__ÄíÅ°¿Í ¼¼¼ÇÀ» °°ÀÌ È°¿ëÇϱâ
__½Ç½À_08 ÀÚµ¿ ·Î±×ÀΠó¸®
_3.3 ¸®½º³Ê(Listener)
__¸®½º³ÊÀÇ °³³ä°ú ¿ëµµ
__½Ç½À_09 ServletContextListener
__½Ç½À_10 ¼¼¼Ç °ü·Ã ¸®½º³Ê
4Àå ½ºÇÁ¸µ°ú ½ºÇÁ¸µ Web MVC
_4.1 ÀÇÁ¸¼º ÁÖÀÔ°ú ½ºÇÁ¸µ
__½ºÇÁ¸µÀÇ ½ÃÀÛ
__½Ç½À_01 ÀÇÁ¸¼º ÁÖÀÔÇϱâ
__ApplicationContext¿Í ºó(Bean)
__½Ç½À_02 SampleDAO ÁÖÀÔÇϱâ
__½Ç½À_03 @Service,@Repository
__ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÑ ´À½¼ÇÑ °áÇÕ
__½Ç½À_04 SampleDAO¸¦ ÀÎÅÍÆäÀ̽º·Î º¯°æÇϱâ
__À¥ ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ½ºÇÁ¸µ Áغñ
__½Ç½À_05 DataSource ±¸¼ºÇϱâ
_4.2 MyBatis¿Í ½ºÇÁ¸µ ¿¬µ¿
__MyBatis ¼Ò°³
__½Ç½À_01 Mapper ÀÎÅÍÆäÀ̽º È°¿ëÇϱâ
__½Ç½À_02 XML·Î SQLºÐ¸®Çϱâ
_4.3 ½ºÇÁ¸µ Web MVC ±âÃÊ
__½ºÇÁ¸µ Web MVCÀÇ Æ¯Â¡
__½Ç½À_01 ½ºÇÁ¸µ MVC »ç¿ëÇϱâ
__½Ç½À_02 ½ºÇÁ¸µ MVC ÄÁÆ®·Ñ·¯
__ÆĶó¹ÌÅÍ ÀÚµ¿ ¼öÁý°ú º¯È¯
__½Ç½À_03 ´Ü¼ø ÆĶó¹ÌÅÍÀÇ ÀÚµ¿ ¼öÁý
__½ºÇÁ¸µ MVCÀÇ ¿¹¿Ü ó¸®
_4.4 ½ºÇÁ¸µ Web MVC ±¸ÇöÇϱâ
__ÇÁ·ÎÁ§Æ®ÀÇ ±¸Çö ¸ñÇ¥¿Í Áغñ
__È¸é µðÀÚÀÎ - ºÎÆ®½ºÆ®·¦ Àû¿ë
__MyBatis¿Í ½ºÇÁ¸µÀ» ÀÌ¿ëÇÑ ¿µ¼Ó ó¸®
__Todo ±â´É °³¹ß
__ÆäÀÌ¡ 󸮸¦ À§ÇÑ TodoMapper
__¸ñ·Ï µ¥ÀÌÅ͸¦ À§ÇÑ DTO¿Í ¼ºñ½º °èÃþ
__°Ë»ö/ÇÊÅ͸µ Á¶°ÇÀÇ Á¤ÀÇ
__°Ë»ö Á¶°ÇÀ» À§ÇÑ È¸é ó¸®
5Àå ½ºÇÁ¸µ¿¡¼ ½ºÇÁ¸µ ºÎÆ®·Î
_5.1 ½ºÇÁ¸µ ºÎÆ® ¼Ò°³
__±âÁ¸ °³¹ß¿¡¼ ´Þ¶óÁö´Â Á¡µé
__Spring Initializr¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® »ý¼º
__½ºÇÁ¸µ ºÎÆ®¿¡¼ À¥ °³¹ß
_5.2 Thymeleaf
__Thymeleaf ±âÃÊ ¹®¹ý
__ThymeleafÀÇ Æ¯º°ÇÑ ±â´Éµé
_5.3 Spring Data JPA
__ÇÁ·Î±×·¥ °³¹ß ¸ñÇ¥
__Board ¿£Æ¼Æ¼¿Í JpaRepository
__QuerydslÀ» ÀÌ¿ëÇÑ µ¿Àû Äõ¸® ó¸®
_5.4 °Ô½Ã¹° °ü¸® ¿Ï¼ºÇϱâ
__¼ºñ½º °èÃþ°ú DTOÀÇ ±¸Çö
__ÄÁÆ®·Ñ·¯¿Í ȸé ó¸®
6Àå AJAX¿Í JSON
_6.1 REST ¹æ½ÄÀÇ ¼ºñ½º
__Ajax¿Í REST ¹æ½ÄÀÇ ÀÌÇØ
__REST ¹æ½ÄÀÇ ´ñ±Û ó¸® Áغñ
_6.2 ´Ù´ëÀÏMany ToOne ¿¬°ü°ü°è ½Ç½À
__¿¬°ü°ü°è¸¦ °áÁ¤ÇÏ´Â ¹æ¹ý
__´Ù´ëÀÏ ¿¬°ü °ü°èÀÇ ±¸Çö
__´ñ±Û ¼ºñ½º °èÃþÀÇ ±¸Çö
__ÄÁÆ®·Ñ·¯ °èÃþ ±¸Çö
_6.3 ´ñ±ÛÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ó¸®
__ºñµ¿±â ó¸®¿Í Axios
__Axios¸¦ À§ÇÑ Áغñ
__´ñ±Û ó¸®¿Í ÀÚ¹Ù½ºÅ©¸³Æ®
7Àå ÆÄÀÏ ¾÷·Îµå ó¸®
_7.1 ÷ºÎÆÄÀÏ°ú @OneToMany
__ÆÄÀÏ ¾÷·Îµå¸¦ À§ÇÑ ¼³Á¤
_7.2 @OneToMany
__@OneToMany Àû¿ë
__¿µ¼Ó¼ºÀÇ ÀüÀÌ(cascade)
__Lazy·Îµù°ú @EntityGraph
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ ¼öÁ¤
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ »èÁ¦
__¡®N 1¡¯ ¹®Á¦¿Í @BatchSize
__¼ºñ½º °èÃþ°ú DTO
_7.3 ÄÁÆ®·Ñ·¯¿Í ȸé ó¸®
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ µî·Ï ó¸®
__°Ô½Ã¹° ¸ñ·Ï°ú ÷ºÎÆÄÀÏ Ã³¸®
__°Ô½Ã¹° Á¶È¸¿Í ÷ºÎÆÄÀÏ
__°Ô½Ã¹° ¼öÁ¤°ú »èÁ¦
8Àå ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼
_8.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ Àû¿ëÇϱâ
__½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ±âº» ¼³Á¤
__ȸ鿡¼ ÀÎÁõ ó¸®Çϱâ¿Í ÄÁÆ®·Ñ·¯
_8.2 ȸ¿ø µ¥ÀÌÅÍ Ã³¸®
__ȸ¿ø µµ¸ÞÀΰú Repository
__ȸ¿ø ¼ºñ½º¿Í DTOó¸®
__ȸ¿ø °¡ÀÔ Ã³¸®
_8.3 ¼Ò¼È ·Î±×ÀΠó¸®
__ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ¼³Á¤
9Àå API ¼¹ö¿Í JWT
_9.1 JWT ÀÎÁõ
__API ¼¹ö
__ÀÎÁõÀ» À§ÇÑ ÇÁ·ÎÁ§Æ® ±¸¼º
__ÅäÅ« ÀÎÁõÀ» À§ÇÑ ½ÃÅ¥¸®Æ¼ ÇÊÅÍ
__Access Token ¹ßÇà
__Access Token °ËÁõ ÇÊÅÍ
__Refresh Token ó¸®
__ºê¶ó¿ìÀú¿¡¼ JWT È®ÀÎ
__Ajax¿Í CORS ¼³Á¤
__Todo API ¼ºñ½º
__JWT¿Í @PreAuthorize
10Àå ½ºÇÁ¸µ ºÎÆ®¸¦ AWS¿¡¼
_10.1 ÀÚ¹Ù À¥ °³¹ß ȯ°æ ¸¸µé±â
__EC2 »ý¼º°ú Á¢¼Ó
__Putty¸¦ ÀÌ¿ëÇÑ Å͹̳Π¿¬°á
__ÇÁ·ÎÁ§Æ® ½ÇÇà È®ÀÎ
_10.2 AWSÀÇ RDS ¼ºñ½º
__RDS ¼ºñ½º ±¸¼º
__RDS¿¡ »õ °èÁ¤ Ãß°¡
__EC2¿Í RDS ¿¬µ¿ È®ÀÎ
_10.3 AWSÀÇ S3 ¼ºñ½º
__S3 ¼ºñ½º ±¸¼º
__ÇÁ·Î±×·¥À» ÅëÇÑ S3 ¾÷·Îµå È®ÀÎ
µé¾î°¡¸ç
1Àå À¥ ÇÁ·Î±×·¡¹ÖÀÇ ½ÃÀÛ
_1.1 ÀÚ¹Ù À¥ °³¹ß ȯ°æ ¸¸µé±â
__À¥ ÇÁ·ÎÁ§Æ®ÀÇ ±âº»±¸Á¶
__ÀÎÅÚ¸®Á¦À̸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® »ý¼º
__ÅèĹ(Tomcat) ¼³Á¤°ú À¥ ÇÁ·ÎÁ§Æ® »ý¼º
_1.2 À¥ ±âº» µ¿ÀÛ ¹æ½Ä ÀÌÇØÇϱâ
__Request(¿äû) / Response (ÀÀ´ä)
__JSP¸¦ ÀÌ¿ëÇؼ GET/POST ó¸®Çϱâ
_1.3 Web MVC ¹æ½Ä
__MVC ±¸Á¶¿Í ¼ºí¸´/JSP
__½Ç½À_1 ÄÁÆ®·Ñ·¯¿¡¼ ºä(View)È£Ãâ
__½Ç½À_1 POST ¹æ½ÄÀ» ÅëÇÑ Ã³¸® ¿äû
__½Ç½À_03 sendRedirect( )
__PRG ÆÐÅÏ(Post-Redirect-GET)
_1.4 HttpServlet 60
__HttpServletRequestÀÇ ÁÖ¿ä ±â´É
__HttpServletResponseÀÇ ÁÖ¿ä ±â´É
__½Ç½À_01 ¿ÍÀ̾î ÇÁ·¹ÀÓÀÇ ±¸Çö
__½Ç½À_02 TodoListController±¸Çö
__½Ç½À_03 TodoReigsterControllerÀÇ ±¸Çö
_1.5 ¸ðµ¨(Model) 74
__¸ðµ¨°ú 3Ƽ¾î
__½Ç½À_04 TodoService Ŭ·¡½º
__ÄÁÆ®·Ñ·¯¿¡¼ ¸ðµ¨ ó¸®Çϱâ
__½Ç½À_05 TodoListControllerÀÇ Ã³¸®
__JSP - EL(Expression Language)
__JSTL
__½Ç½À_06 Todo Á¶È¸
2Àå À¥°ú µ¥ÀÌÅͺ£À̽º
_2.1 JDBC ÇÁ·Î±×·¡¹Ö Áغñ
__MariaDBÀÇ ¼³Ä¡¿Í »ý¼º
__ÇÁ·ÎÁ§Æ® »ý¼º°ú MariaDB Áغñ
__½Ç½À_01 Å×½ºÆ® ÇÁ·Î±×·¥ ÀÛ¼ºÇϱâ
__½Ç½À_02 µ¥ÀÌÅͺ£À̽º Å×ÀÌºí »ý¼º
__½Ç½À_03 µ¥ÀÌÅÍ insert
__½Ç½À_04 µ¥ÀÌÅÍ select
__½Ç½À_05 µ¥ÀÌÅÍ update
__½Ç½À_06 µ¥ÀÌÅÍ delete
_2.2 ÇÁ·ÎÁ§Æ® ³» JDBC ±¸Çö
__Lombok ¶óÀ̺귯¸®
__½Ç½À_01 TodoVO Ŭ·¡½ºÀÇ ÀÛ¼º
__HikariCPÀÇ ¼³Á¤
__½Ç½À_02 Connection Pool ÀÌ¿ëÇϱâ
__½Ç½À_03 TodoDAOÀÇ µî·Ï ±â´É ±¸ÇöÇϱâ
__½Ç½À_04 TodoDAOÀÇ ¸ñ·Ï ±â´É ±¸ÇöÇϱâ
__½Ç½À_05 TodoDAOÀÇ Á¶È¸ ±â´É ±¸ÇöÇϱâ
__½Ç½À_06 TodoDAOÀÇ »èÁ¦/¼öÁ¤ ±â´É ±¸ÇöÇϱâ
_2.3 À¥ MVC¿Í JDBCÀÇ °áÇÕ
__ModelMapper ¶óÀ̺귯¸®
__½Ç½À_07 TodoService¿Í ModelMapper Å×½ºÆ®
__Log4j2¿Í @Log4j2
__ÄÁÆ®·Ñ·¯¿Í ¼ºñ½º °´Ã¼ÀÇ ¿¬µ¿
__½Ç½À_08 µî·Ï ±â´É ±¸Çö
__½Ç½À_09 Á¶È¸ ±â´É ±¸Çö
__½Ç½À_10 ¼öÁ¤/»èÁ¦ ±â´É ±¸Çö
3Àå ¼¼¼Ç/ÄíÅ°/ÇÊÅÍ/¸®½º³Ê
_3.1 ¼¼¼Ç°ú ÇÊÅÍ
__¹«»óÅ¿¡¼ °ú°Å¸¦ ±â¾ïÇÏ´Â ¹ý
__¼ºí¸´ ÄÁÅؽºÆ®¿Í ¼¼¼Ç ÀúÀå¼Ò
__¼¼¼ÇÀ» ÀÌ¿ëÇÏ´Â ·Î±×ÀΠüũ
__½Ç½À_01 µî·ÏÇÒ ¶§, ·Î±×ÀΠüũ Çϱâ
__½Ç½À_02 ·Î±×ÀΠó¸® ÄÁÆ®·Ñ·¯ ÀÛ¼ºÇϱâ
__ÇÊÅ͸¦ ÀÌ¿ëÇÑ ·Î±×ÀΠüũ
__½Ç½À_03 ·Î±×ÀΠüũ ±¸Çö
__½Ç½À_04 UTF-8 ó¸® ÇÊÅÍ
__¼¼¼ÇÀ» ÀÌ¿ëÇÏ´Â ·Î±×¾Æ¿ô ó¸®
__µ¥ÀÌÅͺ£À̽º¿¡¼ ȸ¿ø Á¤º¸ ÀÌ¿ëÇϱâ
__½Ç½À_05 ÀÚ¹Ù¿¡¼ ȸ¿ø µ¥ÀÌÅÍ Ã³¸®Çϱâ
__½Ç½À_06 ÄÁÆ®·Ñ·¯¿¡¼ ·Î±×ÀÎ ¿¬µ¿
_3.2 »ç¿ëÀÚ Á¤ÀÇ ÄíÅ°(Cookie)
__ÄíÅ°ÀÇ »ý¼º/Àü¼Û
__½Ç½À_07 Á¶È¸ÇÑ Todo È®ÀÎÇϱâ
__ÄíÅ°¿Í ¼¼¼ÇÀ» °°ÀÌ È°¿ëÇϱâ
__½Ç½À_08 ÀÚµ¿ ·Î±×ÀΠó¸®
_3.3 ¸®½º³Ê(Listener)
__¸®½º³ÊÀÇ °³³ä°ú ¿ëµµ
__½Ç½À_09 ServletContextListener
__½Ç½À_10 ¼¼¼Ç °ü·Ã ¸®½º³Ê
4Àå ½ºÇÁ¸µ°ú ½ºÇÁ¸µ Web MVC
_4.1 ÀÇÁ¸¼º ÁÖÀÔ°ú ½ºÇÁ¸µ
__½ºÇÁ¸µÀÇ ½ÃÀÛ
__½Ç½À_01 ÀÇÁ¸¼º ÁÖÀÔÇϱâ
__ApplicationContext¿Í ºó(Bean)
__½Ç½À_02 SampleDAO ÁÖÀÔÇϱâ
__½Ç½À_03 @Service,@Repository
__ÀÎÅÍÆäÀ̽º¸¦ ÀÌ¿ëÇÑ ´À½¼ÇÑ °áÇÕ
__½Ç½À_04 SampleDAO¸¦ ÀÎÅÍÆäÀ̽º·Î º¯°æÇϱâ
__À¥ ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ½ºÇÁ¸µ Áغñ
__½Ç½À_05 DataSource ±¸¼ºÇϱâ
_4.2 MyBatis¿Í ½ºÇÁ¸µ ¿¬µ¿
__MyBatis ¼Ò°³
__½Ç½À_01 Mapper ÀÎÅÍÆäÀ̽º È°¿ëÇϱâ
__½Ç½À_02 XML·Î SQLºÐ¸®Çϱâ
_4.3 ½ºÇÁ¸µ Web MVC ±âÃÊ
__½ºÇÁ¸µ Web MVCÀÇ Æ¯Â¡
__½Ç½À_01 ½ºÇÁ¸µ MVC »ç¿ëÇϱâ
__½Ç½À_02 ½ºÇÁ¸µ MVC ÄÁÆ®·Ñ·¯
__ÆĶó¹ÌÅÍ ÀÚµ¿ ¼öÁý°ú º¯È¯
__½Ç½À_03 ´Ü¼ø ÆĶó¹ÌÅÍÀÇ ÀÚµ¿ ¼öÁý
__½ºÇÁ¸µ MVCÀÇ ¿¹¿Ü ó¸®
_4.4 ½ºÇÁ¸µ Web MVC ±¸ÇöÇϱâ
__ÇÁ·ÎÁ§Æ®ÀÇ ±¸Çö ¸ñÇ¥¿Í Áغñ
__È¸é µðÀÚÀÎ - ºÎÆ®½ºÆ®·¦ Àû¿ë
__MyBatis¿Í ½ºÇÁ¸µÀ» ÀÌ¿ëÇÑ ¿µ¼Ó ó¸®
__Todo ±â´É °³¹ß
__ÆäÀÌ¡ 󸮸¦ À§ÇÑ TodoMapper
__¸ñ·Ï µ¥ÀÌÅ͸¦ À§ÇÑ DTO¿Í ¼ºñ½º °èÃþ
__°Ë»ö/ÇÊÅ͸µ Á¶°ÇÀÇ Á¤ÀÇ
__°Ë»ö Á¶°ÇÀ» À§ÇÑ È¸é ó¸®
5Àå ½ºÇÁ¸µ¿¡¼ ½ºÇÁ¸µ ºÎÆ®·Î
_5.1 ½ºÇÁ¸µ ºÎÆ® ¼Ò°³
__±âÁ¸ °³¹ß¿¡¼ ´Þ¶óÁö´Â Á¡µé
__Spring Initializr¸¦ ÀÌ¿ëÇÑ ÇÁ·ÎÁ§Æ® »ý¼º
__½ºÇÁ¸µ ºÎÆ®¿¡¼ À¥ °³¹ß
_5.2 Thymeleaf
__Thymeleaf ±âÃÊ ¹®¹ý
__ThymeleafÀÇ Æ¯º°ÇÑ ±â´Éµé
_5.3 Spring Data JPA
__ÇÁ·Î±×·¥ °³¹ß ¸ñÇ¥
__Board ¿£Æ¼Æ¼¿Í JpaRepository
__QuerydslÀ» ÀÌ¿ëÇÑ µ¿Àû Äõ¸® ó¸®
_5.4 °Ô½Ã¹° °ü¸® ¿Ï¼ºÇϱâ
__¼ºñ½º °èÃþ°ú DTOÀÇ ±¸Çö
__ÄÁÆ®·Ñ·¯¿Í ȸé ó¸®
6Àå AJAX¿Í JSON
_6.1 REST ¹æ½ÄÀÇ ¼ºñ½º
__Ajax¿Í REST ¹æ½ÄÀÇ ÀÌÇØ
__REST ¹æ½ÄÀÇ ´ñ±Û ó¸® Áغñ
_6.2 ´Ù´ëÀÏMany ToOne ¿¬°ü°ü°è ½Ç½À
__¿¬°ü°ü°è¸¦ °áÁ¤ÇÏ´Â ¹æ¹ý
__´Ù´ëÀÏ ¿¬°ü °ü°èÀÇ ±¸Çö
__´ñ±Û ¼ºñ½º °èÃþÀÇ ±¸Çö
__ÄÁÆ®·Ñ·¯ °èÃþ ±¸Çö
_6.3 ´ñ±ÛÀÇ ÀÚ¹Ù½ºÅ©¸³Æ® ó¸®
__ºñµ¿±â ó¸®¿Í Axios
__Axios¸¦ À§ÇÑ Áغñ
__´ñ±Û ó¸®¿Í ÀÚ¹Ù½ºÅ©¸³Æ®
7Àå ÆÄÀÏ ¾÷·Îµå ó¸®
_7.1 ÷ºÎÆÄÀÏ°ú @OneToMany
__ÆÄÀÏ ¾÷·Îµå¸¦ À§ÇÑ ¼³Á¤
_7.2 @OneToMany
__@OneToMany Àû¿ë
__¿µ¼Ó¼ºÀÇ ÀüÀÌ(cascade)
__Lazy·Îµù°ú @EntityGraph
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ ¼öÁ¤
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ »èÁ¦
__¡®N 1¡¯ ¹®Á¦¿Í @BatchSize
__¼ºñ½º °èÃþ°ú DTO
_7.3 ÄÁÆ®·Ñ·¯¿Í ȸé ó¸®
__°Ô½Ã¹°°ú ÷ºÎÆÄÀÏ µî·Ï ó¸®
__°Ô½Ã¹° ¸ñ·Ï°ú ÷ºÎÆÄÀÏ Ã³¸®
__°Ô½Ã¹° Á¶È¸¿Í ÷ºÎÆÄÀÏ
__°Ô½Ã¹° ¼öÁ¤°ú »èÁ¦
8Àå ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼
_8.1 ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ Àû¿ëÇϱâ
__½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼ ±âº» ¼³Á¤
__ȸ鿡¼ ÀÎÁõ ó¸®Çϱâ¿Í ÄÁÆ®·Ñ·¯
_8.2 ȸ¿ø µ¥ÀÌÅÍ Ã³¸®
__ȸ¿ø µµ¸ÞÀΰú Repository
__ȸ¿ø ¼ºñ½º¿Í DTOó¸®
__ȸ¿ø °¡ÀÔ Ã³¸®
_8.3 ¼Ò¼È ·Î±×ÀΠó¸®
__ÇÁ·ÎÁ§Æ®¸¦ À§ÇÑ ¼³Á¤
9Àå API ¼¹ö¿Í JWT
_9.1 JWT ÀÎÁõ
__API ¼¹ö
__ÀÎÁõÀ» À§ÇÑ ÇÁ·ÎÁ§Æ® ±¸¼º
__ÅäÅ« ÀÎÁõÀ» À§ÇÑ ½ÃÅ¥¸®Æ¼ ÇÊÅÍ
__Access Token ¹ßÇà
__Access Token °ËÁõ ÇÊÅÍ
__Refresh Token ó¸®
__ºê¶ó¿ìÀú¿¡¼ JWT È®ÀÎ
__Ajax¿Í CORS ¼³Á¤
__Todo API ¼ºñ½º
__JWT¿Í @PreAuthorize
10Àå ½ºÇÁ¸µ ºÎÆ®¸¦ AWS¿¡¼
_10.1 ÀÚ¹Ù À¥ °³¹ß ȯ°æ ¸¸µé±â
__EC2 »ý¼º°ú Á¢¼Ó
__Putty¸¦ ÀÌ¿ëÇÑ Å͹̳Π¿¬°á
__ÇÁ·ÎÁ§Æ® ½ÇÇà È®ÀÎ
_10.2 AWSÀÇ RDS ¼ºñ½º
__RDS ¼ºñ½º ±¸¼º
__RDS¿¡ »õ °èÁ¤ Ãß°¡
__EC2¿Í RDS ¿¬µ¿ È®ÀÎ
_10.3 AWSÀÇ S3 ¼ºñ½º
__S3 ¼ºñ½º ±¸¼º
__ÇÁ·Î±×·¥À» ÅëÇÑ S3 ¾÷·Îµå È®ÀÎ
ÀÎÅͳݿ¡¼ óÀ½ ¹°°ÇÀ» ÁÖ¹®Çß´ø °ú°Å·ÎºÎÅÍ ²÷ÀÓ¾øÀÌ ¹ßÀüÇÑ ÀÎÅͳÝÀ¸·Î ¸ðµç °ÍÀ» ÇÒ ¼ö ÀÖ´Â ÇöÀç, ±×¸®°í ¹Ì·¡¿¡ ÁÖµµÇÏ°Ô µÉ ±â¼úµé, ÀÌ º¯È¸¦ ÀÌÇØÇϱâ À§Çؼ´Â Á¤¸» ¸¹Àº ºÐ·®ÀÇ À̾߱Ⱑ ÇÊ¿äÇÕ´Ï´Ù. ¼ö¸¹Àº Ã¥À̳ª °ÀÇÀÇ µµ¿òµµ ÇÊ¿äÇÕ´Ï´Ù. ±×¸®°í ±× À̾߱⸦ ³» °ÍÀ¸·Î ¸¸µé ½Ã°£Àº ´õ¿í´õ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ Ã¥Àº °ú°ÅÀÇ ¼ºí¸´/JSP¿¡ ´ëÇÑ À̾߱â, ÇöÀç´Â ½ºÇÁ¸µ°ú ½ºÇÁ¸µ ºÎÆ®¿¡ ´ëÇÑ À̾߱â, ±×¸®°í ¹Ì·¡ÀÇ API ¼¹ö¿Í Ŭ¶ó¿ìµå¿¡ ´ëÇÑ À̾߱âÀÔ´Ï´Ù. ÀÌ Ã¥Àº ÀÌ·¯ÇÑ °ú°Å¿Í ÇöÀç, ¹Ì·¡ÀÇ À̾߱âµéÀ» ÁÙ¿©¼ ¿ä¾àÇÑ °ÍÀÔ´Ï´Ù. ...
´õº¸±â