±¹³»µµ¼
ÄÄÇ»ÅÍ/ÀÎÅͳÝ
IT Àü¹®¼
ÇÁ·Î±×·¡¹Ö ¾ð¾î
Á¤°¡ |
35,000¿ø |
---|
31,500¿ø (10%ÇÒÀÎ)
1,750P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼(1)
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
ÀÚ¹Ù À¥ °³¹ßÀÚ·Î Ãë¾÷À̳ª ÀÌÁ÷À» Áغñ ÁßÀ̶ó¸é!
¼ºÀåÇÏ´Â °³¹ßÀÚ°¡ µÇ±â À§ÇÑ ¸ÂÃ㠾ȳ»¼
¼ºí¸´¿¡¼ ½ºÇÁ¸µ ºÎÆ®±îÁö Çѹø¿¡, API ¼¹ö¸¦ À§ÇÑ REST ¹æ½Ä°ú JWT 󸮱îÁö
ÀÌ Ã¥Àº Á¦¸ñ ±×´ë·Î ¿öÅ©ºÏÀÔ´Ï´Ù. Á÷Á¢ ¼ÕÀ¸·Î Ä£ Äڵ带 ¸öÀ¸·Î ÀÍÈ÷¸ç ½º½º·Î ÇнÀÇÒ ¼ö ÀÖµµ·Ï µ½½À´Ï´Ù. °ú°Å¿¡¼ ÇöÀç, ÃÖ±Ù °³¹ßÀ» ÁÖµµÇÏ´Â ½ºÇÁ¸µ ±â¹Ý À¥ °³¹ß¿¡ ÇÊ¿äÇÑ ±â¼úµéÀ» ¼øÂ÷ÀûÀ¸·Î ÇнÀÇÕ´Ï´Ù. ¼ºí¸´/JSPºÎÅÍ º¯ÈÇÑ ÇöÀçÀÇ µ¿ÀûÀÎ À¥ °³¹ß ȯ°æ¿¡ ¸Âµµ·Ï ½ºÇÁ¸µ À¥ MVC·Î, ¸¶À̹ÙƼ½º·Î, JPA¸¦ ÀÌ¿ëÇÑ DBÀÇ ¿µ¼Ó¼º 󸮸¦ ÇнÀÇÏ°í ½ÃÅ¥¸®Æ¼·Î ´Ù¾çÇÑ ·Î±×ÀÎ ¹æ¹ý°ú API ¼ºñ½º¸¦ À§ÇÑ JWT ÀÎÁõ µîÀ¸·Î Á¡Á¡ °³¼±µÈ ÀÚ½ÅÀÇ ÇÁ·ÎÁ§Æ®¸¦ AWS¿¡¼ ºôµå ½Ç½ÀÇÏ°í ¹èÆ÷±îÁö °æÇèÇÕ´Ï´Ù. ±×¸®°í ÃÖ±Ù ½Ç¹«¿¡¼ ÁÖµµÇÏ´Â ±â¼ú, ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ±â¹ÝÀÇ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¹Ö ·Îµå¸ÊÀ» Á¦¾ÈÇÕ´Ï´Ù. ÀÚ¹Ù À¥ °³¹ßÀÚ·Î Ãë¾÷À» ÁغñÇÏ°í ÀÖ´Ù¸é ÀÌ Ã¥Àº ¼ºÀåÇÏ´Â °³¹ßÀÚ°¡ µÇ±â À§ÇÑ ¾ÆÁÖ À¯¿ëÇÑ ¾È³»¼°¡ µÉ °ÍÀÔ´Ï´Ù.
ÃâÆÇ»ç ¼Æò
ÀÎÅͳݿ¡¼ óÀ½ ¹°°ÇÀ» ÁÖ¹®Çß´ø °ú°Å·ÎºÎÅÍ ²÷ÀÓ¾øÀÌ ¹ßÀüÇÑ ÀÎÅͳÝÀ¸·Î ¸ðµç °ÍÀ» ÇÒ ¼ö ÀÖ´Â ÇöÀç, ±×¸®°í ¹Ì·¡¿¡ ÁÖµµÇÏ°Ô µÉ ±â¼úµé, ÀÌ º¯È¸¦ ÀÌÇØÇϱâ À§Çؼ´Â Á¤¸» ¸¹Àº ºÐ·®ÀÇ À̾߱Ⱑ ÇÊ¿äÇÕ´Ï´Ù. ¼ö¸¹Àº Ã¥À̳ª °ÀÇÀÇ µµ¿òµµ ÇÊ¿äÇÕ´Ï´Ù. ±×¸®°í ±× À̾߱⸦ ³» °ÍÀ¸·Î ¸¸µé ½Ã°£Àº ´õ¿í´õ ¸¹ÀÌ ÇÊ¿äÇÕ´Ï´Ù. ÀÌ Ã¥Àº °ú°ÅÀÇ ¼ºí¸´/JSP¿¡ ´ëÇÑ À̾߱â, ÇöÀç´Â ½ºÇÁ¸µ°ú ½ºÇÁ¸µ ºÎÆ®¿¡ ´ëÇÑ À̾߱â, ±×¸®°í ¹Ì·¡ÀÇ API ¼¹ö¿Í Ŭ¶ó¿ìµå¿¡ ´ëÇÑ À̾߱âÀÔ´Ï´Ù. ÀÌ Ã¥Àº ÀÌ·¯ÇÑ °ú°Å¿Í ÇöÀç, ¹Ì·¡ÀÇ À̾߱âµéÀ» ÁÙ¿©¼ ¿ä¾àÇÑ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ¸· Ãë¾÷À» ½ÃÀÛÇÏ·Á ÇÏ´Â ÃëÁØ»ýÀ̳ª ÁÖ´Ï¾î °³¹ßÀÚµéÀÇ ½Ã°£Àº ¸ðµÎ°¡ ´Ù¸£°Ô È帨´Ï´Ù.
ÀÚ¹Ù À¥ °³¹ßÀÚ°¡ µÇ°íÀÚ ÀÌÁ¦ ¸· ÀÚ¹Ù¸¦ ³¡¸¶Ä£ ´ÙÀ½ ¡®¹«¾ùÀ» ÇØ¾ß Çϴ°¡?¡¯¿¡ ´ëÇÑ °í¹ÎÀÌ ¾Õ¼·´Ï´Ù. À¥°ú ¸ð¹ÙÀÏ È¯°æ ¸ðµÎ¸¦ ¸¸Á·½ÃÄÑ¾ß ÇÏ´Â ¹æ´ëÇÑ ÇнÀ·®¿¡ ¹«Ã´ ¾î·Á¿öÇϱ⵵ ÇÏ°í Æ÷±âÇϱ⵵ ÇÕ´Ï´Ù. ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ±â¹ÝÀÇ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¹ÖÀº ·Îµå¸Ê ¾øÀÌ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö ¸ð¸£°í ´Ü¼øÇÏ°Ô ½ÃÀÛÇؼ´Â ¹æÇâÀ» ÀÒ°í ¾î´À ¼ø°£ ¼ÕÀ» ³õ°Ô µË´Ï´Ù. ¹æ¹ýÀº ´Ü Çϳª ·Îµå¸ÊÀ» ÅëÇØ °ú°Å¿Í ÇöÀçÀÇ ÄÚµå, ÀÛµ¿ ¿ø¸®¸¦ ÀÌÇØÇÏ°í ÀÍÇô¾ß ÇÕ´Ï´Ù. ¹°·Ð, ½Ã°£Àº ¸¹Áö ¾Ê½À´Ï´Ù.
±×·¡¼ ÀÌ Ã¥Àº ´ÙÀ½ ´Ü°è·Î ³Ñ¾î°¥ Èû°ú µ¶ÀÚÀÇ ½Ã°£À» ÁÙÀÌ°íÀÚ ¸¸µé¾îÁ³½À´Ï´Ù. ÀÌ Ã¥ÀÇ ·Îµå¸ÊÀº ´ÙÀ½°ú °°½À´Ï´Ù.
*¼ºí¸´/JSP/JDBC/HTTP
-- À¥ °³¹ßÀ» À§ÇØ ÀÌÇØ°¡ ÇÊ¿äÇÑ ÇʼöÀûÀÎ ³»¿ëµéÀ» °£´ÜÇÑ ½Ç½À°ú ÇÔ²² ¾Ë¾Æº¾´Ï´Ù.
* ½ºÇÁ¸µ°ú ¸¶À̹ÙƼ½º
-- ÇÁ·¹ÀÓ¿öÅ© ½Ã´ë·Î µé¾î¿À¸é¼ MVC´Â ½ºÇÁ¸µ À¥ MVC·Î, JDBC´Â ¸¶À̹ÙƼ½º·Î ´ëüµÇ¾ú½À´Ï´Ù.
* ½ºÇÁ¸µ ºÎÆ®¿Í JPA
-- ½ºÇÁ¸µ ºÎÆ®¸¦ ÀÌ¿ëÇؼ ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¸¦ ºü¸£°í ½±°Ô ±¸ÃàÇÏ°í JPA¸¦ ÀÌ¿ëÇؼ µ¥ÀÌÅͺ£À̽º¿¡ µ¶¸³ÀûÀÎ ¿µ¼Ó 󸮸¦ ÇнÀÇÕ´Ï´Ù.
* ½ºÇÁ¸µ ½ÃÅ¥¸®Æ¼¿Í ¼Ò¼È ·Î±×ÀÎ
-- ·Î±×Àΰú ±ÇÇÑ Ã³¸®, ÀÚµ¿ ·Î±×ÀÎ, ¼Ò¼È ·Î±×ÀÎ(Kakao) 󸮸¦ ÇнÀÇÕ´Ï´Ù.
* API ¼¹ö¸¦ À§ÇÑ JWT ÀÎÁõ
-- API ¼ºñ½º¸¦ À§ÇÑ Access Token/Refresh TokenÀÇ ¹ßÇà°ú °ËÁõ/¿¹¿Üó¸®
-- AjaxÀÇ º¸¾È ¹®Á¦¿Í ÀÌ¿¡ ´ëÇÑ ÇØ°á¿¡ ´ëÇؼ ÇнÀÇÕ´Ï´Ù.
* AWSÀÇ È¯°æ¼³Á¤°ú ½Ç½À
-- EC2 ±¸¼º, ÇÁ·ÎÁ§Æ® ¹èÆ÷¿Í ºôµå ½Ç½À
-- RDS¸¦ ÀÌ¿ëÇÑ ¿ø°Ý µ¥ÀÌÅͺ£À̽º ¿¬µ¿ ó¸®¿Í EC2 ¿¬µ¿ ó¸®
-- S3 ¼ºñ½º¸¦ ÀÌ¿ëÇÑ Ã·ºÎ ÆÄÀÏÀÇ Ã³¸®
ÀÌ Ã¥¿¡¼ ÁøÇàÇÏ´Â ¸ðµç ÄÚµå´Â ¾Æ·¡ ±¸¸Û°¡°Ô ÄÚµù´Ü Ä«Æä¿Í ±êÇãºê¿¡¼ ³»·Á¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù.
±¸¸Û°¡°Ô ÄÚµù´Ü¿¡¼´Â Áö¼ÓÀûÀÎ ¾÷µ¥ÀÌÆ®¿Í µ¶Àںеé°ú ¼ÒÅëÇÒ ¼ö ÀÖ´Â QnA °Ô½ÃÆǵµ ÇÔ²² ¿î¿µÇÏ°í ÀÖ½À´Ï´Ù.
±¸¸Û°¡°Ô ÄÚµù´Ü l https://cafe.naver.com/gugucoding
±êÇãºê l https://github.com/ckck24
¸ñÂ÷
ÀúÀÚ¼¹®
µé¾î°¡¸ç
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 ¾÷·Îµå È®ÀÎ
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÇÁ·Î±×·¡¹ÖÀ» ÁÁ¾ÆÇÏÁö¸¸, ³²µé ¾Õ¿¡ ³ª¼³ ¿ë±â°¡ ¾ø´Â 10³âÂ÷ ÀÌ»ó °³¹ßÀÚ, Çö¾÷ °ü¸®ÀÚ, °»çµéÀÇ ºñ°ø°³ ¸ðÀÓ. ¾î¸° ½ÃÀý ±¸¸Û°¡°Ô ¾Õ ¾ÆÀú¾¾µéÀÌ ÀλýÀÇ Áø¸®¸¦ °¡º±°Ô ´øÁ³´ø °Íó·³ ÇÁ·Î±×·¡¹ÖÀÇ ¿ÀÀÇ(çóëù)¸¦ °¡º±°Ô ´øÁö°í ½ÍÀº »ç¶÷µéÀÇ ¸ðÀÓ. http://cafe.naver.com/gugucodingÀ» ÅëÇؼ µ¶ÀÚµé°ú Ä¿¹Â´ÏÄÉÀ̼ÇÀ» ÇÏ°í ÀÖÀ¸¸ç, ½ºÇÁ¸µ ¿Ü¿¡µµ ¿©·¯ ÁÖÁ¦¿¡ ´ëÇÑ ÀڷḦ Á¦°øÇϸç, Àú¼·Î´Â ¡¶ÄÚµå·Î ¹è¿ì´Â ½ºÇÁ¸µ À¥ ÇÁ·ÎÁ§Æ®¡·°¡ ÀÖÀ½.
ÀúÀÚÀÇ ´Ù¸¥Ã¥
Àüüº¸±âÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
ÄÄÇ»ÅÍ/ÀÎÅÍ³Ý ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.