|
|
|
ÀÚ¹Ù À¥ °³¹ß ¿öÅ©ºÏ : ¼ºÀåÇÏ´Â °³¹ßÀÚ¸¦ ¸¸µå´Â ½Ç¹«Çü ·Îµå¸Ê
|
|
|
±¸¸Û°¡°Ô ÄÚµù´Ü
¤Ó
ÇÁ¸®·º
|
|
|
|
- Á¦ÈÞ¸ô ÁÖ¹® ½Ã °í°´º¸»ó, ÀϺΠÀ̺¥Æ® Âü¿© ¹× ÁõÁ¤Ç° ÁõÁ¤, ÇÏ·ç/´çÀÏ ¹è¼Û¿¡¼ Á¦¿ÜµÇ¹Ç·Î Âü°í ¹Ù¶ø´Ï´Ù.
-
-
-
ÀÚ¹Ù À¥ °³¹ßÀÚ·Î Ãë¾÷À̳ª ÀÌÁ÷À» Áغñ ÁßÀ̶ó¸é!
¼ºÀåÇÏ´Â °³¹ßÀÚ°¡ µÇ±â À§ÇÑ ¸ÂÃ㠾ȳ»¼
¼ºí¸´¿¡¼ ½ºÇÁ¸µ ºÎÆ®±îÁö Çѹø¿¡, 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À» ÅëÇؼ µ¶ÀÚµé°ú Ä¿¹Â´ÏÄÉÀ̼ÇÀ» ÇÏ°í ÀÖÀ¸¸ç, ½ºÇÁ¸µ ¿Ü¿¡µµ ¿©·¯ ÁÖÁ¦¿¡ ´ëÇÑ ÀڷḦ Á¦°øÇϸç, Àú¼·Î´Â ¡¶ÄÚµå·Î ¹è¿ì´Â ½ºÇÁ¸µ À¥ ÇÁ·ÎÁ§Æ®¡·°¡ ÀÖÀ½.
-
-
Àüü 0°³ÀÇ ±¸¸ÅÈıⰡ ÀÖ½À´Ï´Ù.
|
ÀÎÅÍÆÄÅ©µµ¼´Â °í°´´ÔÀÇ ´Ü¼ø º¯½É¿¡ ÀÇÇÑ ±³È¯°ú ¹ÝÇ°¿¡ µå´Â ºñ¿ëÀº °í°´´ÔÀÌ ÁöºÒÄÉ µË´Ï´Ù.
´Ü, »óÇ°À̳ª ¼ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯ ¹× ¹ÝÇ°Àº ¹«·á·Î ¹ÝÇ° µË´Ï´Ù. |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ °¡´ÉÇÑ °æ¿ì |
»óÇ°À» °ø±Þ ¹ÞÀº ³¯·ÎºÎÅÍ 7ÀÏÀ̳» °¡´É
°ø±Þ¹ÞÀ¸½Å »óÇ°ÀÇ ³»¿ëÀÌ Ç¥½Ã, ±¤°í ³»¿ë°ú ´Ù¸£°Å³ª ´Ù¸£°Ô ÀÌÇàµÈ °æ¿ì¿¡´Â °ø±Þ¹ÞÀº ³¯·ÎºÎÅÍ 3°³¿ù À̳», ȤÀº ±×»ç½ÇÀ» ¾Ë°Ô µÈ ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳»
»óÇ°¿¡ ¾Æ¹«·± ÇÏÀÚ°¡ ¾ø´Â °æ¿ì ¼ÒºñÀÚÀÇ °í°´º¯½É¿¡ ÀÇÇÑ ±³È¯Àº »óÇ°ÀÇ Æ÷Àå»óÅ µîÀÌ ÀüÇô ¼Õ»óµÇÁö ¾ÊÀº °æ¿ì¿¡ ÇÑÇÏ¿© °¡´É |
|
±³È¯ ¹× ¹ÝÇ°ÀÌ ºÒ°¡´ÉÇÑ °æ¿ì |
±¸¸ÅÈ®Á¤ ÀÌÈÄ(¿ÀǸ¶ÄÏ»óÇ°¿¡ ÇÑÇÔ)
°í°´´ÔÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¸ê½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
(´Ü, »óÇ°ÀÇ ³»¿ëÀ» È®ÀÎÇϱâ À§ÇÏ¿© Æ÷Àå µîÀ» ÈѼÕÇÑ °æ¿ì´Â Á¦¿Ü)
½Ã°£ÀÌ Áö³²¿¡ µû¶ó ÀçÆǸŰ¡ °ï¶õÇÒ Á¤µµ·Î ¹°Ç°ÀÇ °¡Ä¡°¡ ¶³¾îÁø °æ¿ì
Æ÷Àå °³ºÀµÇ¾î »óÇ° °¡Ä¡°¡ ÈÑ¼ÕµÈ °æ¿ì |
|
´Ù¹è¼ÛÁöÀÇ °æ¿ì ¹ÝÇ° ȯºÒ |
´Ù¹è¼ÛÁöÀÇ °æ¿ì ´Ù¸¥ Áö¿ªÀÇ ¹ÝÇ°À» µ¿½Ã¿¡ ÁøÇàÇÒ ¼ö ¾ø½À´Ï´Ù.
1°³ Áö¿ªÀÇ ¹ÝÇ°ÀÌ ¿Ï·áµÈ ÈÄ ´Ù¸¥ Áö¿ª ¹ÝÇ°À» ÁøÇàÇÒ ¼ö ÀÖÀ¸¹Ç·Î, ÀÌÁ¡ ¾çÇØÇØ Áֽñ⠹ٶø´Ï´Ù. |
|
Áß°í»óÇ°ÀÇ ±³È¯ |
Áß°í»óÇ°Àº Á¦ÇÑµÈ Àç°í ³»¿¡¼ ÆǸŰ¡ ÀÌ·ç¾îÁö¹Ç·Î, ±³È¯Àº ºÒ°¡´ÉÇÕ´Ï´Ù. |
|
¿ÀǸ¶ÄÏ »óÇ°ÀÇ È¯ºÒ |
¿ÀǸ¶ÄÏ»óÇ°¿¡ ´ëÇÑ Ã¥ÀÓÀº ¿øÄ¢ÀûÀ¸·Î ¾÷ü¿¡°Ô ÀÖÀ¸¹Ç·Î, ±³È¯/¹ÝÇ° Á¢¼ö½Ã ¹Ýµå½Ã ÆǸÅÀÚ¿Í ÇùÀÇ ÈÄ ¹ÝÇ° Á¢¼ö¸¦ ÇϼžßÇϸç, ¹ÝÇ°Á¢¼ö ¾øÀÌ ¹Ý¼ÛÇϰųª, ¿ìÆíÀ¸·Î º¸³¾ °æ¿ì »óÇ° È®ÀÎÀÌ ¾î·Á¿ö ȯºÒÀÌ ºÒ°¡´ÉÇÒ ¼ö ÀÖÀ¸´Ï À¯ÀÇÇϽñ⠹ٶø´Ï´Ù. |
|
|
|
¹è¼Û¿¹Á¤ÀÏ ¾È³» |
ÀÎÅÍÆÄÅ© µµ¼´Â ¸ðµç »óÇ°¿¡ ´ëÇØ ¹è¼Û¿Ï·á¿¹Á¤ÀÏÀ» À¥»çÀÌÆ®¿¡ Ç¥½ÃÇÏ°í ÀÖ½À´Ï´Ù.
|
<ÀÎÅÍÆÄÅ© Á÷¹è¼Û »óÇ°> |
»óÇ°Àº ¿ù~Åä¿äÀÏ ¿ÀÀü 10½Ã ÀÌÀü ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ´çÀÏ Ãâ°í/´çÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù. |
»óÇ°Àº ¼¿ïÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀº ´çÀÏ Ãâ°í/ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇϸç,
¼¿ï¿ÜÁö¿ª/ÆòÀÏ ÁÖ¹®ºÐÀÇ °æ¿ì´Â ¿ÀÈÄ 6½Ã±îÁö ÁÖ¹®ºÐ¿¡ ´ëÇÏ¿© ÀÍÀÏ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÏ´Â »óÇ°ÀÔ´Ï´Ù.
(´Ü, ¿ù¿äÀÏÀº 12½Ã±îÁö ÁÖ¹®¿¡ ÇÑÇÔ)
|
»óÇ°Àº, ÀÔ°í¿¹Á¤ÀÏ(Á¦Ç°Ãâ½ÃÀÏ)+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù. |
~
»óÇ°Àº À¯ÅëƯ¼º»ó ÀÎÅÍÆÄÅ©¿¡¼ Àç°í¸¦ º¸À¯ÇÏÁö ¾ÊÀº »óÇ°À¸·Î ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(1ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø±âÁØÃâ°íÀÏ:ÀÎÅÍÆÄÅ©°¡ »óÇ°À» ¼ö±ÞÇÏ¿© ¹°·ùâ°í¿¡¼ Æ÷Àå/Ãâ°íÇϱâ±îÁö ¼Ò¿äµÇ´Â ½Ã°£
|
|
<¾÷ü Á÷Á¢¹è¼Û/¿ÀǸ¶ÄÏ »óÇ°> |
~
»óÇ°Àº ¾÷ü°¡ ÁÖ¹®À» È®ÀÎÇÏ°í, Ãâ°íÇϱâ±îÁö °É¸®´Â ½Ã°£ÀÔ´Ï´Ù. ÁÖ¹®ÀÏ+±âÁØÃâ°íÀÏ+Åùè»ç¹è¼ÛÀÏ(2ÀÏ)¿¡ ¹è¼Û¿Ï·á¸¦ º¸ÀåÇÕ´Ï´Ù.(Åä/°øÈÞÀÏÀº ¹è¼Û±â°£¿¡ Æ÷ÇÔµÇÁö ¾Ê½À´Ï´Ù.)
¡Ø5ÀÏÀ̳» Ãâ°í°¡ ½ÃÀÛµÇÁö ¾ÊÀ»½Ã, ¿ÀǸ¶ÄÏ »óÇ°Àº ÀÚµ¿À¸·Î ÁÖ¹®ÀÌ Ãë¼ÒµÇ¸ç, °í°´´Ô²² Ç°Àýº¸»ó±ÝÀ» Áö±ÞÇØ µå¸³´Ï´Ù.
|
|
|
¹è¼Ûºñ ¾È³» |
µµ¼(Áß°íµµ¼ Æ÷ÇÔ)¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û) À½¹Ý/DVD¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
ÀâÁö/¸¸È/±âÇÁÆ®¸¸ ±¸¸ÅÇϽøé : ¹è¼Ûºñ 2,000¿ø (2¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í À½¹Ý/DVD¸¦ ÇÔ²² ±¸¸ÅÇϽøé : ¹è¼Ûºñ 1,500¿ø 1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
µµ¼¿Í ÀâÁö/¸¸È/±âÇÁÆ®/Áß°íÁ÷¹è¼Û»óÇ°À» ÇÔ²² ±¸¸ÅÇϽøé : 2,000¿ø (1¸¸¿øÀÌ»ó ±¸¸Å ½Ã ¹«·á¹è¼Û)
¾÷üÁ÷Á¢¹è¼Û»óÇ°À» ±¸¸Å½Ã : ¾÷üº°·Î »óÀÌÇÑ ¹è¼Ûºñ Àû¿ë
* ¼¼Æ®»óÇ°ÀÇ °æ¿ì ºÎºÐÃë¼Ò ½Ã Ãß°¡ ¹è¼Ûºñ°¡ ºÎ°úµÉ ¼ö ÀÖ½À´Ï´Ù.
* ºÏÄ«Æ®¿¡¼ ¹è¼Ûºñ¾ø¾Ö±â ¹öÆ°À» Ŭ¸¯Çϼż, µ¿ÀϾ÷ü»óÇ°À» Á¶±Ý ´õ ±¸¸ÅÇϽøé, ¹è¼Ûºñ¸¦ Àý¾àÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
|
|
Çؿܹè¼Û ¾È³» |
ÀÎÅÍÆÄÅ©µµ¼¿¡¼´Â ±¹³»¿¡¼ ÁÖ¹®ÇϽðųª ÇØ¿Ü¿¡¼ ÁÖ¹®ÇÏ¿© ÇØ¿Ü·Î ¹è¼ÛÀ» ¿øÇÏ½Ç °æ¿ì DHL°ú Ư¾àÀ¸·Î Ã¥Á¤µÈ ¿ä±ÝÇ¥¿¡
ÀÇÇØ °³ÀÎÀÌ ÀÌ¿ëÇÏ´Â °æ¿ìº¸´Ù ¹è¼Û¿ä±ÝÀ» Å©°Ô ³·Ã߸ç DHL(www.dhl.co.kr)·Î Çؿܹè¼Û ¼ºñ½º¸¦ Á¦°øÇÕ´Ï´Ù.
Çؿܹè¼ÛÀº µµ¼/CD/DVD »óÇ°¿¡ ÇÑÇØ ¼ºñ½ºÇÏ°í ÀÖÀ¸¸ç, ´Ù¸¥ »óÇ°À» ºÏÄ«Æ®¿¡ ÇÔ²² ´ãÀ¸½Ç °æ¿ì Çؿܹè¼ÛÀÌ ºÒ°¡ÇÕ´Ï´Ù.
ÇØ¿ÜÁÖ¹®¹è¼Û ¼ºñ½º´Â ÀÎÅÍÆÄÅ© µµ¼ ȸ¿ø °¡ÀÔÀ» Çϼž߸¸ ½Åû °¡´ÉÇÕ´Ï´Ù. |
|
¾Ë¾ÆµÎ¼¼¿ä!!! |
µµ¸Å»ó ¹× Á¦ÀÛ»ç »çÁ¤¿¡ µû¶ó Ç°Àý/ÀýÆÇ µîÀÇ »çÀ¯·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
¿ÀǸ¶ÄϾ÷üÀÇ ¹è¼ÛÁö¿¬½Ã ÁÖ¹®ÀÌ ÀÚµ¿À¸·Î Ãë¼ÒµÉ ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
À¯ÅëÀÇ Æ¯¼º»ó Ãâ°í±â°£Àº ¿¹Á¤º¸´Ù ¾Õ´ç°ÜÁö°Å³ª ´ÊÃçÁú ¼ö ÀÖ½À´Ï´Ù.
Åùè»ç ¹è¼ÛÀÏÀÎ ¼¿ï ¹× ¼öµµ±ÇÀº 1~2ÀÏ, Áö¹æÀº 2~3ÀÏ, µµ¼, »ê°£, ±ººÎ´ë´Â 3ÀÏ ÀÌ»óÀÇ ½Ã°£ÀÌ ¼Ò¿äµË´Ï´Ù. |
|
|
|
|