½ºÇÁ¸µ À¥ ÇÁ·Î±×·¡¹Ö
½ºÇÁ¸µ À¥ ÇÁ·Î±×·¡¹ÖÀº 2022³â ¸»¿¡ ¹ßÇ¥µÈ »õ·Î¿î ¹öÀüÀÇ ½ºÇÁ¸µ°ú ½ºÇÁ¸µ ºÎÆ® ÇÁ·¹ÀÓ¿öÅ©¸¦ È°¿ëÇÏ¿© JSP¿Í ÇÔ²² ½ºÇÁ¸µ À¥ MVC ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ ½ºÇÁ¸µ µ¥ÀÌÅÍ ÇÁ·¹ÀÓ¿öÅ©¿Í ÇÔ²² JDBC¿Í JPA¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ý°ú ½ºÇÁ¸µ º¸¾È ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ¿© À¥ º¸¾ÈÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
¶ÇÇÑ ½ºÇÁ¸µ ºÎÆ® ÇÁ·¹ÀÓ¿öÅ©¿Í ÇÔ²² ¸¶À̹ÙƼ½º ÇÁ·¹ÀÓ¿öÅ©¸¦ ¿¬µ¿ÇÏ¿© µ¥ÀÌÅͺ£À̽º¿¡ ¾×¼¼½ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼµµ ¼³¸íÇÑ´Ù.
ÀÌ Ã¥ÀÇ 1Àå ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© µé¾î°¡±â¿¡¼´Â ÇÁ·¹ÀÓ¿öÅ©¿Í ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©ÀÇ °³¿ä¿Í ÇÔ²² ÀÇÁ¸¼º ÁÖÀÔÀ̶ó°í ÇÏ´Â ÇʼöÀûÀÎ °³³ä¿¡ ´ëÇØ ¼³¸íÇÑ´Ù.
2Àå ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ© ÇÙ½É ±â´É¿¡¼´Â ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©°¡ Á¦°øÇÏ´Â ÇÙ½É ±â´Éµé¿¡ ´ëÇؼ ÇнÀÇÑ´Ù. ¿©±â¿¡´Â ½ºÇÁ¸µ ¾ÖÇø®ÄÉÀÌ¼Ç ÄÁÅؽºÆ®¿Í ½ºÇÁ¸µ ºó »ý¼º, ±×¸®°í ÀÇÁ¸¼º ÁÖÀÔ ¹æ¹ý°ú ¾î³ëÅ×ÀÌ¼Ç ¼³Á¤ ¹æ¹ý¿¡ ´ëÇؼ »ìÆ캻´Ù.
ÀÌ Ã¥Àº ¸ðµÎ 17°³ÀÇ ½Ç½À °úÁ¦¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ÀÌµé ½Ç½À¿¡¼´Â ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ±âÃÊ¿Í SQL ÇÁ·Î±×·¡¹Ö¿¡¼µµ »ç¿ëÇÑ ÁÖ¹® °ü¸® ½Ã½ºÅÛ ¿¹Á¦ ÇÁ·ÎÁ§Æ®¸¦ »ý¼ºÇÏ°í °¢ Àå¿¡¼ ¼³¸íÇÑ ±â¼úÀ» »ç¿ëÇÏ¿© ½ÇÁ¦·Î ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ´Â °úÁ¤À» ´Ü°èº°·Î ¼³¸íÇÑ´Ù. 2ÀåÀÇ ¸¶Áö¸· ºÎºÐ¿¡¼´Â ÀÚ¹Ù ÇÁ·Î±×·¡¹Ö ±âÃÊ Ã¥¿¡¼ ±¸ÇöÇß´ø ÁÖ¹® °ü¸® ½Ã½ºÅÛ ¿¹Á¦ ÇÁ·ÎÁ§Æ®¸¦ ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ¿© ´Ù½Ã ÀÛ¼ºÇÏ´Â °úÁ¤À» ÅëÇØ ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ÆíÀǼº°ú Á߿伺À» °æÇèÇغ»´Ù.
3Àå ½ºÇÁ¸µ AOP¿¡¼´Â AOP Áï, °üÁ¡ ÁöÇâ ÇÁ·Î±×·¡¹Ö ¹æ½Ä¿¡ ´ëÇÑ °³³ä°ú ÇÔ²² ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¿¡¼ AOP¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ÇнÀÇÑ´Ù.
4Àå ½ºÇÁ¸µ MVC µé¾î°¡±â¿¡¼´Â º»°ÝÀûÀ¸·Î ½ºÇÁ¸µ MVC ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ¿© À¥ ¾ÖÇø®ÄÉÀ̼ÇÀ» ±¸ÃàÇÏ´Â ±æ·Î µé¾î°£´Ù. ¸ÕÀú MVC ÆÐÅÏÀÇ °³³ä¿¡ ´ëÇØ ÀÌÇØÇÏ°í, ½ºÇÁ¸µ MVC ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¾ÆÅ°ÅØó¸¦ °³°üÇÑ´Ù. Àå´ãÇϰǵ¥ ÀÌ Àå¿¡¼ ¼³¸íÇÏ´Â ½ºÇÁ¸µ MVC ÇÁ·¹ÀÓ¿öÅ© ¾ÆÅ°ÅØó¸¦ ÀÌÇØÇÏ°í ¸Ó¸´¼Ó¿¡ ³Ö¾îµÐ´Ù¸é ³ª¸ÓÁö ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©ÀÇ ¸ðµç ¸¶¹ýÀ» ´Ù Ç®¾î¹ö¸± ¼ö ÀÖÀ» °ÍÀÌ´Ù.
5Àå ÄÁÆ®·Ñ·¯ ±¸Çö¿¡¼´Â HTPP ¿äûÀ» ó¸®ÇÏ´Â ÄÁÆ®·Ñ·¯¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ÇнÀÇÑ´Ù. ÀÌ¿Í ÇÔ²² µÎ ¹ø° ½Ç½À °úÁ¦·Î ÁÖ¹® °ü¸® ½Ã½ºÅÛÀÇ °í°´ °ü¸® ºÎºÐÀÇ ÄÁÆ®·Ñ·¯¸¦ ±¸ÇöÇÑ´Ù. ±×¸®°í ¼¼ ¹ø°¿Í ³× ¹ø° ½Ç½À¿¡¼ Á¦Ç° ¹× Àç°í °ü¸® ºÎºÐ°ú ÁÖ¹® °ü¸® ºÎºÐÀÇ ÄÁÆ®·Ñ·¯µµ ÇÔ²² ±¸ÇöÇÑ´Ù.
6Àå ºä ¸®Á¹¹ö¿Í ºä¿¡¼´Â ºä ¸®Á¹¹ö¿¡ ´ëÇÑ °³¿ä¿Í ÇÔ²², JST ºä¿Í À¥ ÆûÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÑ´Ù. ÀÌ Àå¿¡¼ JSP¿¡ ´ëÇØ °£·«ÇÏ°Ô ¼³¸íÇÏÁö¸¸ ¾Æ¹«·¡µµ È¿À²ÀûÀ¸·Î JSP¸¦ È°¿ëÇϱâ À§Çؼ´Â ±íÀÌ ÀÖ´Â Áö½ÄÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ°ÍÀ» À§ÇØ ÇÊÀÚÀÇ JSP ¼ºí¸´ À¥ ÇÁ·Î±×·¡¹Ö Ã¥Àº ÁÁÀº ¼±ÅÃÀÌ´Ù. ¶ÇÇÑ PDF¿¡ Á¦Ç°ÀÇ ¸ñ·ÏÀ» Ãâ·ÂÇÏ´Â PDF ºä¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼµµ »ìÆ캻´Ù. ±×¸®°í ³× °³ÀÇ ½Ç½À °úÁ¦¸¦ ÅëÇؼ ÁÖ¹® °ü¸® ½Ã½ºÅÛÀÇ °¢ ºä¸¦ ±¸ÇöÇÏ´Â ÀÛ¾÷À» ¼øÂ÷ÀûÀ¸·Î ¼öÇàÇÑ´Ù.
7Àå ºä ±¸Çö ±â¹ý¿¡¼´Â ŸÀÔ º¯È¯°ú ºó °ËÁõ, ÆÄÀÏ ¾÷·Îµå, ±¹Á¦È, ·ÎÄÉÀÏ ¸®Á¹¹ö¿Í °°Àº °í±Þ ºä ±¸Çö ±â¹ý¿¡ ´ëÇؼ ÇнÀÇÑ´Ù.
8Àå°ú 9Àå¿¡¼´Â ½ºÇÁ¸µ µ¥ÀÌÅÍ ÇÁ·¹ÀÓ¿öÅ©¿Í ÇÔ²² JDBC¿Í JPA¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅͺ£À̽º·ÎºÎÅÍ µ¥ÀÌÅ͸¦ Àоî¿À°í µ¥ÀÌÅ͸¦ ÀúÀåÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÑ´Ù. ÀÌ°ÍÀ» À§ÇØ ÇÊÀÚÀÇ Àú¼ÀÎ SQL ÇÁ·Î±×·¡¹Ö¿¡¼ ±¸ÃàÇÑ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÑ´Ù. ÀÌ Ã¥¿¡¼µµ µ¥ÀÌÅͺ£À̽º¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ý°ú ±âº»ÀûÀÎ SQL ±¸¹®¿¡ ´ëÇؼ´Â ¼³¸íÇÏÁö¸¸ ±íÀÌ ÀÖ´Â Áö½ÄÀ» °®±â À§Çؼ´Â ¸ÕÀú SQL ÇÁ·Î±×·¡¹Ö Ã¥À» ÀÐÀ» °ÍÀ» ±ÇÀåÇÑ´Ù.
8Àå ½ºÇÁ¸µ µ¥ÀÌÅÍ JDBC¿¡¼´Â µ¥ÀÌÅͺ£À̽º¿Í SQLÀ» °³°üÇÏ°í ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¿Í ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® SQL ¼¹ö, ±×¸®°í MySQL°ú PostgreSQL µî ³× °³ÀÇ µ¥ÀÌÅͺ£À̽º ¼¹ö¿Í °³¹ß µµ±¸¸¦ ¼³Ä¡ÇÏ´Â ¹æ¹ý°ú µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ¼³¸íÇÑ´Ù. ÀÌ¿Í ÇÔ²² ½ºÇÁ¸µ JDBC API¿Í ½ºÇÁ¸µ JDBC ÅÛÇø´, ½ºÇÁ¸µ JDBC Áö¿ø Ŭ·¡½º¸¦ »ç¿ëÇÏ¿© µ¥ÀÌÅÍ ¾×¼¼½º¸¦ ±¸ÇöÇÏ´Â ¹æ¹ý, ±×¸®°í Æ®·£Àè¼Ç °³³ä°ú ÇÔ²² ½ºÇÁ¸µ Æ®·£Àè¼ÇÀ» »ç¿ëÇÏ¿© Æ®·£Àè¼ÇÀ» ±¸ÇöÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ ÇнÀÇÑ´Ù. ¶ÇÇÑ °í°´ ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®¿Í Á¦Ç° ¹× Àç°í ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®, ±×¸®°í ÁÖ¹® ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®¸¦ ½ºÇÁ¸µ µ¥ÀÌÅÍ JDBC¸¦ »ç¿ëÇÏ¿© ±¸ÇöÇÏ´Â ³× °³ÀÇ ½Ç½ÀÀ» ¼öÇàÇÑ´Ù.
9Àå ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¿¡¼´Â JPA¿Í ORM¿¡ ´ëÇÑ °³³äÀ» ÇнÀÇÏ°í, ½ºÇÁ¸µ µ¥ÀÌÅÍ ÇÁ·¹ÀÓ¿öÅ©¿Í JPA¸¦ ¿¬µ¿ÇÏ´Â ¹æ¹ý°ú ÇÔ²², ¿£ÅÍƼ Ŭ·¡½º¿Í Å×À̺íÀ» ¸ÅÇÎÇÏ°í ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA API¸¦ »ç¿ëÇÏ¿© ÁúÀÇÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÑ´Ù. ±×¸®°í ¶ÇÇÑ °í°´ ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®¿Í Á¦Ç° ¹× Àç°í ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®, ±×¸®°í ÁÖ¹® ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®¸¦ ½ºÇÁ¸µ µ¥ÀÌÅÍ JPA¸¦ »ç¿ëÇÏ¿© ±¸ÇöÇÏ´Â ¼¼ °³ÀÇ ½Ç½ÀÀ» ¼öÇàÇÑ´Ù.
10Àå ½ºÇÁ¸µ ºÎÆ®¿¡¼´Â ½ºÇÁ¸µ ºÎÆ® ÇÁ·¹ÀÓ¿öÅ©¸¦ °³°üÇÏ°í Áö±Ý±îÁö ±¸ÇöÇß´ø ½ºÇÁ¸µ MVC ¾ÖÇø®ÄÉÀ̼ÇÀ» ½ºÇÁ¸µ ºÎÆ®·Î ÀüȯÇÏ¸é¼ ½ºÇÁ¸µ ºÎÆ® ÇÁ·¹ÀÓ¿öÅ©°¡ Á¦°øÇÏ´Â ÀÌÁ¡À» °æÇèÇغ»´Ù.
11Àå ½ºÇÁ¸µ À¥ º¸¾È¿¡¼´Â À¥ º¸¾ÈÀ» °³°üÇÏ°í, SSL°ú TSL ÇÁ·ÎÅäÄÝÀ» »ç¿ëÇÏ¿© HTTPS ÇÁ·ÎÅäÄÝÀ» ±¸ÇöÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. ±×¸®°í ½ºÇÁ¸µ º¸¾È ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ¿© ÀÎÁõ°ú ±ÇÇÑÀ» ¼³Á¤ÇÏ´Â ¹æ¹ý°ú ¸®¼Ò½º¸¦ º¸È£ÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼµµ ÇнÀÇÑ´Ù. ÀÌ °úÁ¤¿¡ ÃÖ±Ù¿¡ ÁÖ¸ñÀ» ¹Þ°í ÀÖ´Â OAuth2 »ç¿ëÀÚ ÀÎÁõ ¹æ½ÄÀ» »ç¿ëÇÏ¿© ÀÎÁõÇÏ´Â ¹æ¹ýµµ ±¸ÇöÇغ»´Ù. ¶ÇÇÑ ¸¶Áö¸·À¸·Î ÁÖ¹® °ü¸® ½Ã½ºÅÛ¿¡ À¥ º¸¾ÈÀ» ±¸ÇöÇÏ´Â ½Ç½ÀÀ» ¼öÇàÇÑ´Ù.
12Àå ¸¶À̹ÙƼ½º ÇÁ·¹ÀÓ¿öÅ©¿¡¼´Â ORM ÇÁ·¹ÀÓ¿öÅ©´Â ¾Æ´ÏÁö¸¸ Ưº°È÷ SQL ¹®À» Àß »ç¿ëÇÏ´Â °³¹ßÀÚµé »çÀÌ¿¡¼ ÀαⰡ ¸¹Àº ¸¶À̹ÙƼ½º ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÏ¿© ½ºÇÁ¸µ ºÎÆ® ÇÁ·¹ÀÓ¿öÅ©¿Í ¿¬µ¿ÇÏ¿© µ¥ÀÌÅÍ ¾×¼¼½ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ÇнÀÇÑ´Ù. ±×¸®°í ¸¶Áö¸· ½Ç½ÀÀ¸·Î ¸¶À̹ÙƼ½º ÇÁ·¹ÀÓ¿öÅ©¸¦ È°¿ëÇÏ¿© ·¹ÆÄÁöÅ丮 ÄÄÆ÷³ÍÆ®¸¦ ±¸ÇöÇÑ´Ù.