·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
[¼¼·ÃµÈ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó µÇ±â] ¨è À¥ ÇÁ·ÎÁ§Æ® °³¹ß ȯ°æ °®Ãß±â

¹Ú¿µ·Ï (NHN)   2005/05/02
¿¬Àç¼ø¼­
1ȸ. ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸ÓÀÇ ±âº»
2ȸ. À¥ ÇÁ·ÎÁ§Æ® °³¹ß ȯ°æ °®Ãß±â
3ȸ. ÆÐÅÏ, ÇÁ·¹ÀÓ¿öÅ©, XP
[Áöµð³ÝÄÚ¸®¾Æ]Áö³­ ±Û¿¡¼­´Â ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó·Î¼­ ÇÑ »ç¶÷ ¸òÀ» ÇØ³»±â À§ÇÑ ±âÃÊ¿¡ ´ëÇØ ´Ù·ç¾ú½À´Ï´Ù. ´ÙÀ½ ´Ü°è´Â ÇÑ »ç¶÷ ¸òÀ» ³Ñ¾î¼­ ÆÀ Àüü¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ±â¸£´Â °ÍÀ̰ÚÁÒ. ÆÀ¿¡¼­ ¾î¶°ÇÑ ¿ªÇÒÀ» ¸Ã¾Æµµ ÀßÇØ³¾ ¼ö ÀÖÀ¸·Á¸é ÇÁ·Î±×·¡¹Öµµ ÀßÇØ¾ß ÇÏÁö¸¸ °³¹ß ȯ°æÀ» ±¸¼ºÇÏ´Â ¹æ¹ýµµ Àß ¾Ë°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.

ÀÌ ±Û¿¡¼­´Â °³¹ß ȯ°æÀÌ Àß °®ÃçÁø ÆÀÀÇ ÇÁ·Î±×·¡¸Ó´Â ÀÌ¹Ì ±¸ÃàµÈ ȯ°æ¿¡ ´ëÇØ Á» ´õ Àß ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï, ±×·¸Áö ¸øÇÑ °æ¿ì´Â ½º½º·Î °³¹ß ȯ°æÀ» ±¸ÃàÇØ³ª°¥ ¼ö ÀÖµµ·Ï ¿©·¯ °¡Áö °³¹ß¿¡ ÇÊ¿äÇÑ °ÍµéÀ» »ìÆìº¸°Ú½À´Ï´Ù.

·¹ÀÌ½Ì °æ±âÀå¿¡´Â ÇÇÆ®(pit)¶ó°í ºÎ¸£´Â Àå¼Ò°¡ ÀÖ½À´Ï´Ù. °æÁÖÂ÷ÀÇ ¼ö¸®³ª Á¶Á¤, ŸÀÌ¾î ±³È¯, ¿¬·á º¸±Þ µîÀ» ÇÏ´Â °÷ÀÌÁÒ. ÀÌ·± ÀÏÀ» ´ã´çÇÏ´Â »ç¶÷À» ¹Ìij´Ð(mechanic)À̶ó°í ºÎ¸¨´Ï´Ù. ·¹ÀÌ½Ì °æ±â°¡ ¾óÇÍ º¸¸é Â÷ÀÇ ¼º´É°ú µå¶óÀ̹öÀÇ ±â·®¸¸ÀÌ ½ÂºÎ¸¦ °áÁ¤Áþ´Â °Í °°Áö¸¸, Àå°Å¸® ·¹À̽º°¡ µÉ¼ö·Ï ¹Ìij´ÐÀÇ ¿ªÇÒÀÌ ½ÂºÎ¸¦ °¡¸£´Â °æ¿ìµµ ÀûÁö ¾Ê½À´Ï´Ù. ¹Ìij´ÐÀÌ ÀßÇÑ´Ù°í ·¹À̽̿¡¼­ ½Â¸®ÇÏ´Â °ÍÀº ¾Æ´ÏÁö¸¸ ¹Ìij´ÐÀÌ ¸øÇÏ¸é ½ÊÁßÆÈ±¸ ÆÐ¹èÇÏ°Ô µË´Ï´Ù.

À¥ ÇÁ·ÎÁ§Æ®µµ ÀÌ·± ¸é¿¡¼­ ·¹À̰̽ú ºñ½ÁÇÑ Á¡ÀÌ ÀÖ½À´Ï´Ù. À¥ ÇÁ·ÎÁ§Æ®ÀÇ ¼º°ø¿¡ ÀÖ¾î °¡Àå Áß¿äÇÑ °ÍÀº ¿ä±¸»çÇ×ÀÇ ±¸ÇöÀ̰í, ±â¼úÀûÀÎ ¼º°øÀ» Á¿ìÇÏ´Â °ÍÀº ÇÁ·Î±×·¡¹ÖÀÌÁö¸¸ ÇÁ·Î±×·¡¹Ö ¿ÜÀÇ ±â¼úÀûÀÎ À⹫µéÀº À¥ ÇÁ·ÎÁ§Æ®ÀÇ ½ÇÆÐ¸¦ °áÁ¤ÁöÀ» ¼ö ÀÖ´Â Á¶°ÇÀÔ´Ï´Ù. ¼Ò½º °ü¸®¸¦ ºñ·ÔÇØ¼­ À¥ÀÇ Æ¯¼º»ó ÀÚÁÖ ¹ß»ýÇÏ´Â ¼­¹ö ¼³Ä¡, ÇÁ·ÎÁ§Æ®ÀÇ ¹èÄ¡(deploy), ¼­¹ö ¸®½ºÅ¸Æ® µîÀÌ ±×·± ÀϵéÀÌÁÒ. ÀÌ·± ÀϵéÀº ´ëü·Î ´Ü¼ø ¹Ýº¹ ÀÛ¾÷À̸鼭µµ ½Ç¼öÇÒ °¡´É¼ºÀÌ ÀÖ°í ¶Ç ½Ç¼ö¸¦ ÇÏ¸é ±× ÆÄ±Þ È¿°ú°¡ Ŭ ¼ö ÀÖ½À´Ï´Ù.

±×·¡¼­ ÀÌ·± °³¹ß ÁÖº¯ ȯ°æÀ» Á¦´ë·Î °®Ãç³õÁö ¾ÊÀ¸¸é À̰ÍÀÌ ÇÁ·ÎÁ§Æ®¸¦ ½ÇÆÐ·Î À̲ø±âµµ ÇÕ´Ï´Ù. °í·Î, ·¹À̽̿¡¼­ ½Â¸®Çϱâ À§Çؼ­´Â ÁÁÀº ¹Ìij´Ð°ú ÁÁÀº ÀåºñµéÀ» È®º¸Çؼ­ ÇÇÆ®¿¡¼­ÀÇ ÀÛ¾÷À» È¿À²ÀûÀ¸·Î ÇØ³»¾ß ÇÏ´Â °Íó·³ À¥ ÇÁ·ÎÁ§Æ®¸¦ ¼º°øÀ¸·Î À̲ø±â À§Çؼ­´Â °³¹ß ȯ°æÀ» Àß °®Ãç¼­ ÇÁ·Î±×·¡¸ÓµéÀÇ À⹫ ºÎ´ãÀ» ÁÙÀÌ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.

°æ¿ì¿¡ µû¶ó¼­ ¹Ìij´Ðó·³ ÀÌ·± À⹫¸¦ Àü´ãÇÏ´Â »ç¶÷À» µû·Î µÎ´Â °æ¿ìµµ ÀÖ½À´Ï´Ù. ȤÀº ÀϺη¯ Àü´ãÀÚ¸¦ µÎÁö ¾Ê´õ¶óµµ ÇѵΠ»ç¶÷¸¸ÀÌ ¼öÇà ¹æ¹ýÀ» ¼÷ÁöÇÏ°Ô µÇ¾î °á±¹ ÀÌ »ç¶÷µé¿¡°Ô À⹫ ¿äûÀÌ ¸ô·Á ½ÇÁúÀûÀÎ Àü´ãÀÚ°¡ µÇ¹ö¸®´Â °æÇâÀÌ ÀÖ½À´Ï´Ù. XP(eXtreme Programming)ÀÇ Áö¼ÓÀûÀÎ ÅëÇÕ(Continuous Integration)µµ ÀÌ·± ¹®Á¦¸¦ À̾߱âÇÕ´Ï´Ù. ÅëÇÕ ÀÛ¾÷À» ÀÚµ¿È­Çؼ­ ´©±¸³ª ½±°Ô ÇÒ ¼ö ÀÖ°Ô ¸¸µéÁö ¾ÊÀ¸¸é ÇѵΠ»ç¶÷¸¸ÀÌ ÅëÇÕ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ°Ô µÇ°í ÅëÇÕÀ» ÀÚÁÖ ¼öÇàÇÒ ¼öµµ ¾ø°Ô µË´Ï´Ù.

±×·¯¸é °¢ÀÚ °³¹ßÇÑ ¸ðµâµéÀ» ÅëÇÕÇÒ ¶§ ¸¹Àº ¹®Á¦°¡ ¹ß»ýÇÒ ¼ö ÀÖ°í, ±×·± °æ¿ì ÅëÇÕÀÌ À߸øµÈ °ÍÀÎÁö ¾Æ´Ï¸é °¢ÀÚ °³¹ßÇÑ ¼Ò½º°¡ À߸øµÈ °ÍÀÎÁö ã±â Èûµé°Ô µÇÁÒ. ÀÌ·± »óȲÀ» ¡®Integration Hell¡¯À̶ó°í ºÎ¸£´Âµ¥, ÀÌ·± »óȲÀ» ÇÇÇϱâ À§Çؼ­´Â Áö¼ÓÀûÀÎ ÅëÇÕÀ» ÅëÇØ ¹®Á¦¸¦ Á¶±â¿¡ ¹ß°ßÇÏ¿© ¹®Á¦°¡ ½×ÀÌÁö ¾Ê°Ô ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ±Û¿¡¼­´Â Áö¼ÓÀûÀÎ ÅëÇÕÀ» È®ÀåÇØ ÇÁ·Î±×·¡¸ÓµéÀ» À⹫¿¡¼­ ÇØ¹æ½ÃÄÑ Á» ´õ âÁ¶ÀûÀÎ ¾÷¹«¿¡ Àü³äÇÒ ¼ö ÀÖµµ·Ï °³¹ß ȯ°æÀ» ±¸ÃàÇÏ´Â ¹æ¹ýµéÀ» À̾߱âÇÒ °ÍÀÔ´Ï´Ù.

¡®¹«¾ùÀ» ÇØ¾ß Çϴ°¡¡¯¿¡ ´ëÇÑ °í¹Î
ÁÁÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µå´Â ù°ÉÀ½Àº ¾î¶»°Ô ¸¸µå´Â°¡¸¦ ¾Æ´Â °ÍÀÌ ¾Æ´Ï¶ó ¹«¾ùÀ» ¸¸µé¾î¾ß Çϴ°¡¸¦ ¾Æ´Â °ÍÀÔ´Ï´Ù. ¾Æ¹«¸® °í±Þ ÄÚµù ±â¼ú°ú ¾î·Á¿î ¾Ë°í¸®ÁòÀ» ÀÚÀ¯ÀÚÀç·Î ±¸»çÇÑ´Ù°í ÇØµµ »ç¿ëÀÚ°¡ ¿øÇÏÁö ¾Ê´Â ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé¾î ³Â´Ù¸é ½ÇÆÐÇÑ °ÍÀÔ´Ï´Ù. °³¹ß ȯ°æ ±¸Ã൵ °¢Á¾ µµ±¸µéÀÇ »ç¿ë¹ýÀ» ÀÍÈ÷´Â °Íµµ Áß¿äÇÏÁö¸¸ ±× Àü¿¡ ÀÚ½ÅÀÌ ¼ÓÇÑ Á¶Á÷¿¡¼­ ¾î¶² ÀϵéÀÌ ÀÖ°í ÀÌ·± ÀϵéÀ» ÀßÇÏ·Á¸é ¹«¾ùÀ» °®Ãß¾î¾ß Çϴ°¡¸¦ °í¹ÎÇÏ´Â °ÍÀÌ Ã¹ ¹øÂ°ÀÔ´Ï´Ù.

ÀÌ·± ¿ä±¸»çÇ×Àº ÆÀÀÇ »óȲ¿¡ µû¶ó ¸¹ÀÌ ´Þ¶óÁú ¼öµµ ÀÖ°í ¹üÀ§¸¦ ¾î¶»°Ô Àâ´À³Ä¿¡ µû¶ó °£´ÜÇÑ ºôµå ÀÛ¾÷À¸·Î ÇÑÁ¤µÉ ¼öµµ ÀÖ°í Á¾ÇÕÀûÀÎ ÇÁ·ÎÁ§Æ® °ü¸®¸¦ Æ÷ÇÔÇÏ´Â ±¤¹üÀ§ÇÑ ³»¿ëÀÌ µÉ ¼öµµ ÀÖ½À´Ï´Ù. ±×·³ À¥ ÇÁ·ÎÁ§Æ®¿¡´Â ¾î¶² ¿ä±¸»çÇ×ÀÌ ÀÖ°í ÀÌ·± ¿ä±¸»çÇ×À» ÃæÁ·Çϱâ À§Çؼ­ ¾î¶² °³¹ß ȯ°æÀÌ ÇÊ¿äÇÑÁö¸¦ »ìÆìº¸°Ú½À´Ï´Ù.

ÀÇ»ç¼ÒÅë °ü¸®
ºñ´Ü À¥ ÇÁ·ÎÁ§Æ® »Ó ¾Æ´Ï¶ó ´ëºÎºÐÀÇ ÇÁ·ÎÁ§Æ®µé¿¡¼­ °¡Àå Áß¿äÇÑ ¼º°ø ¿äÀÎÀº ÇÁ·ÎÁ§Æ®ÀÇ ¼º°øÀ» ÇâÇÑ ÆÀ¿øµéÀÇ ÀÇÁö¿Í ÆÀ¿ø°£ÀÇ È¿À²ÀûÀÎ ÀÇ»ç¼ÒÅë(communication)ÀÔ´Ï´Ù. ¾óÇÍ µÑ ´Ù ºñ±â¼úÀûÀÎ À̽´¶ó¼­ ÇÁ·Î±×·¡¸ÓÀÇ ¿µ¿ª ¹ÛÀ̶ó°í »ý°¢ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ ÀÇ»ç¼ÒÅëÀº ÀÌ¹Ì °³¹ß ¹æ¹ý·ÐÀÇ ¿µ¿ª¿¡ µé¾î¿Í ÀÖ½À´Ï´Ù. ÀÇ»ç¼ÒÅëÀº ÈçÈ÷ ±¸¼º¿øµéÀÇ Àû±Ø¼ºÀÇ ¹®Á¦, Áï »ç¶÷ÀÇ ¹®Á¦·Î Ä¡ºÎµÇ´Â °æÇâÀÌ ÀÖ°í À̰ÍÀÌ ¾î´À Á¤µµ´Â »ç½ÇÀÔ´Ï´Ù.

ÇÏÁö¸¸ ÃÖ±Ù À¯ÇàÇÏ´Â ¹æ¹ý·Ðµé¿¡¼­´Â ȯ°æÀû ¿äÀÎÀÌ ÀÇ»ç¼ÒÅë¿¡ ¹ÌÄ¡´Â ¿µÇâÀÌ Å©´Ù°í º¸°í ÀÇ»ç¼ÒÅëÀ» È¿À²ÀûÀ¸·Î Çϱâ À§ÇÑ ÀåÄ¡µéÀ» ¸¹ÀÌ Á¦½ÃÇϰí ÀÖ½À´Ï´Ù. ÀϹÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ÀÛ¾÷¿¡¼­ÀÇ ÀÇ°ß ±³È¯, ÀÇ»ç °áÁ¤À» À§ÇÑ È¸ÀÇ, ¹®¼­È­, ¾÷¹« ¿äû °ü¸®, °í°´ÀÇ ¿ä±¸»çÇ× °ü¸® µîÀÌ ¸ðµÎ ÀÇ»ç¼ÒÅëÀÌ¸ç °³¹ß ȯ°æÀ» ÅëÇØ ÀÌ·± ºÎºÐµéÀ» Çâ»ó½Ãų ¼ö ÀÖ½À´Ï´Ù.

XP¿¡¼­´Â º¸Åë ÀÇ»ç¼ÒÅë ºñ¿ëÀº ¹°¸®ÀûÀÎ °Å¸®ÀÇ Á¦°ö¿¡ ºñ·ÊÇØ¼­ ´Ã¾î³­´Ù°í ÇÕ´Ï´Ù. ±×·¡¼­ ÀÇ»ç¼ÒÅëÀ» È¿À²ÀûÀ¸·Î Çϱâ À§ÇÑ ¹æ¹ýµé·Î ¹°¸®ÀûÀÎ ¿ä¼Ò¸¦ ¸¹ÀÌ Á¦½ÃÇÕ´Ï´Ù. ÇÁ·Î±×·¡¹ÖÀ» µÎ »ç¶÷ÀÌ ºÙ¾î ¾É¾Æ¼­ °°ÀÌ Çϴ ¦ ÇÁ·Î±×·¡¹Ö(Pair Programming), ȸÀǰ¡ ¼Ò¸ðÀûÀ¸·Î È帣´Â °ÍÀ» ¹æÁöÇϱâ À§ÇÑ ±â¸³ ȸÀÇ(Stand up Meeting), ÀÚ¿¬½º·¯¿î Á¤º¸ È®»ê°ú ÀÇ°ß ±³È¯À» À§ÇÑ Á¤º¸ ¹æ¿­±â(Information Radiator) µîÀÌ ±×·± °ÍµéÀÌÁÒ. ÀÌ·± ÇÁ·¢Æ¼½º(practice)µéÀ» Àß ½ÇõÇÏ·Á¸é ¦ ÇÁ·Î±×·¡¹ÖÀ» ÇÒ ¼ö ÀÖ´Â ÀÚ¸® ¹èÄ¡, ÆÀ¿øµéÀÌ ½±°Ô ¸ð¿©¼­ À̾߱âÇÒ ¼ö ÀÖ´Â °ø°£, È­ÀÌÆ®º¸µå µî ¹°¸®Àû ȯ°æÀ» °®Ãß¾î ³õ¾Æ¾ß ÇÕ´Ï´Ù.

¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î Áö¿øÇÒ ¼ö ÀÖ´Â ºÎºÐµµ ¸¹½À´Ï´Ù. ¾÷¹« ¿äû °ü¸®´Â º¸Åë »ç³» ±×·ì¿þ¾î µîÀ¸·Î ¼ÒÈ­Çϱ⠸¶·ÃÀε¥ ÀÌ ºÎºÐÀÌ Àß µÇ¾î ÀÖÁö ¾ÊÀ¸¸é ÀÏÀÇ ÁøÇà¿¡ º´¸ñÇö»óÀÌ ¹ß»ýÇÏ°í ¶§·Î´Â ÆÀ¿ø°£ ¸¶ÂûÀÇ ¿øÀÎÀÌ µÇ±âµµ ÇÕ´Ï´Ù. ´Ü¼øÈ÷ ¸ÞÀÏÀ» ÀÌ¿ëÇÏ´Â °Íº¸´Ù´Â ¾÷¹« ¿äûÀ» º¸³»´Â °Í, ÁøÇà »óȲ, °á°ú µîÀ» Á¾ÇÕÀûÀ¸·Î °ü¸®ÇÒ ¼ö ÀÖ´Â ¼ÒÇÁÆ®¿þ¾î°¡ ÀÖ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. À̽´ Æ®·¡Ä¿(issue tracker)µµ ¾î´À Á¤µµ ÀÌ·± ºÎºÐÀ» ¼ÒÈ­ÇÒ ¼ö ÀÖÀ¸³ª ÆÀÀÇ »óȲ¿¡ ¸Â°Ô °³¹ßÇØµÎ´Â °Íµµ ÁÁÀ» °ÍÀÔ´Ï´Ù.

¹®¼­È­ ¿ª½Ã ½Ã½ºÅÛÀ¸·Î Áö¿øÇØ¾ß ÇÒ ºÎºÐÀÔ´Ï´Ù. ¹®¼­È­ ½Ã½ºÅÛ¿¡¼­ °¡Àå Áß¿äÇÑ °ÍÀº ¹®¼­¸¦ ºü¸£°Ô ÀÛ¼ºÇϰí ÀÛ¼ºÇÑ ¹®¼­¸¦ Áï½Ã °øÀ¯ÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¹öÀü °ü¸®µµ µÇ¾î¾ß ÇÏÁÒ. ÀÌ·± ¿ä±¸»çÇ×À» °¡Àå Àß ¸¸Á·ÇÏ´Â °ÍÀº À§Å°(wiki)ÀÔ´Ï´Ù. ´ë±Ô¸ð CMS(Content Management System)µµ ¸¹Áö¸¸ ¿ÀÈ÷·Á ´Ü¼øÇÑ À§Å°°¡ ´õ ³ôÀº À¯¿¬¼ºÀ» ¹ßÈÖÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù.

¼ÒÇÁÆ®¿þ¾î Çü»ó °ü¸®
¼ÒÇÁÆ®¿þ¾î °³¹ß ȯ°æ¿¡¼­ ±â¼úÀûÀ¸·Î °¡Àå Áß¿äÇÑ °ÍÀº ¼Ò½º ¹öÀü °ü¸®ÀÔ´Ï´Ù. °³¹ßÆÀ¿¡¼­ ÀÛ¼ºÇÏ´Â ¸ðµç ¼Ò½º´Â ¹öÀü °ü¸®°¡ µÇ¾î¾ß ÇÕ´Ï´Ù. ÇÁ·Î±×·¥ ¼Ò½º´Â ¹°·ÐÀÌ°í ½ºÅ©¸³Æ®, SQL, °¢Á¾ ¹®¼­, ¼³Á¤ ÆÄÀϵé±îÁö Æ÷ÇÔÇÕ´Ï´Ù. ¼Ò½º ¹öÀü °ü¸®ÀÇ ¸ñÀûÀº ÀÛ¾÷ ±â·ÏÀÇ º¸Á¸À» ÅëÇØ ¹®Á¦°¡ ¹ß»ýÇßÀ» ¶§ ¿øÀÎÀ» ÃßÀûÇϰųª ÀÌÀü »óÅ·ΠµÇµ¹¸®±â À§ÇÑ °ÍÀÌÁÒ.

º¸Åë ¼Ò½º ¹öÀü °ü¸®¸¦ À§Çؼ­ CVS(Concurrent Versions System)¸¦ ¸¹ÀÌ »ç¿ëÇÕ´Ï´Ù. CVS¸¦ Á» ´õ °³¼±ÇÑ Subversionµµ ÀÖ°í ¿©·¯ °¡Áö »ó¿ë Åøµµ ÀÖÁö¸¸ ¿©ÀüÈ÷ CVS°¡ ¿ÀǼҽº °øµ¿Ã¼¿¡¼­ °¡Àå ¸¹ÀÌ ¾²À̸ç IDE¿Íµµ Àß ÅëÇյǾî ÀÖ½À´Ï´Ù. CVS¿¡ ´ëÇÑ ³»¿ë ¼³¸íÀº ¡º½Ç¿ëÁÖÀÇ ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ ¹öÀü °ü¸® using CVS¡»¶ó´Â Ã¥À» ÃßõÇÏ´Â °ÍÀ¸·Î ´ë½ÅÇϰڽÀ´Ï´Ù.

¼Ò½º °ü¸®´Â »ç½Ç SCM(Software Configuration Management)ÀÇ ÀϺκÐÀ̱⵵ ÇÕ´Ï´Ù. SCMÀº ¼Ò½º¿¡ ´ëÇÑ ¹öÀü °ü¸® »Ó ¾Æ´Ï¶ó ¼ÒÇÁÆ®¿þ¾îÀÇ ±â´É¼º ¼öÁØ¿¡ ´ëÇÑ º¯µ¿ ±â·Ï, ¹ö±× ¼öÁ¤ ³»¿ª, ¿ä±¸»çÇ×ÀÇ º¯È­ µîÀ» Á¾ÇÕÀûÀ¸·Î °ü¸®ÇÏ´Â °ÍÀ» ¸»ÇÕ´Ï´Ù. ¼ÒÇÁÆ®¿þ¾îÀÇ »õ ¹öÀüÀÌ ¹ßÇ¥µÇ¸é º¸Åë ¸±¸®½º ³ëÆ®(Release Notes)°¡ °°ÀÌ ¹èÆ÷µÇ´Âµ¥ ÀÌ·± °ÍÀÌ SCMÀÇ ´ëÇ¥ÀûÀÎ »êÃâ¹°ÀÌÁÒ.

»ó¿ë SCM Åøµµ ¸¹Áö¸¸ º¸ÅëÀº ¼Ò½º °ü¸®¿¡ CVS¸¦ ¾²°í À̿ܿ¡´Â ¾Õ¿¡¼­ ¾ð±ÞÇÑ À̽´ Æ®·¡Ä¿¸¦ ¾²´Â °ÍÀ¸·Î SCMÀÇ ´ëºÎºÐÀÇ ¿µ¿ªÀÌ Ä¿¹öµË´Ï´Ù. ¼Ò½º ¿ÜÀÇ Çü»ó °ü¸®´Â »ç½Ç ¾÷¹« ¿äû °ü¸®¿Í ±â´ÉÀûÀ¸·Î ¾ÆÁÖ ºñ½ÁÇϱ⠶§¹®ÀÌÁÒ. ¿ÀǼҽº¿Í Ä£ÇÑ »ç¶÷À̶ó¸é ¹ö±×Áú¶ó(bugzilla)¸¦ Á¢Çغ» ÀûÀÌ ÀÖÀ» °ÍÀÔ´Ï´Ù. ¹ö±×¸¦ º¸°íÇÏ°í ¹ö±×°¡ ¼öÁ¤µÇ´Â °úÁ¤À» ±â·ÏÀ¸·Î ³²±â°í Á¶È¸ÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â ½Ã½ºÅÛÀÌÁÒ.

ÀÌ·± °ÍÀ» ¹ö±× Æ®·¡Ä¿(bug tracker)¶ó°í Çϴµ¥ À̸¦ È®ÀåÇÑ °ÍÀÌ À§¿¡¼­ ¾ð±ÞÇÑ À̽´ Æ®·¡Ä¿ÀÔ´Ï´Ù. ¿ÀǼҽº ¼ÒÇÁÆ®¿þ¾î Áß¿¡µµ Mantis³ª TUTOS µîÀÌ ÀÖ°í À§Å°¿Í À̽´Æ®·¡Ä¿¸¦ ÇÕÄ£ TracÀÌ ÀÖ½À´Ï´Ù. ÀÌ·± Åø Çϳª Á¤µµ´Â °®Ãç ³õ¾Æ¾ßÇÒ °ÍÀÔ´Ï´Ù.

ºôµå ÀÚµ¿È­
Áö¼ÓÀûÀÎ ÅëÇÕ¿¡¼­´Â ºôµå ÀÚµ¿È­¸¦ °¡Àå Áß¿äÇÏ°Ô ´Ù·ì´Ï´Ù. ºôµå´Â ¼Ò½ºÄڵ带 ÄÄÆÄÀÏÇÏ°í ¿©·¯ °¡Áö º¯È¯ ÀÛ¾÷À» °ÅÃÄ ÇÁ·Î±×·¥ÀÌ µ¿ÀÛÇÒ ¼ö ÀÖ°Ô ±¸¼ºÇÏ´Â ÀÛ¾÷À» ¸»ÇÕ´Ï´Ù. ÀϹÝÀûÀÎ ÀÚ¹Ù ¾ÖÇø®ÄÉÀ̼ÇÀº °£´ÜÇÑ ÄÄÆÄÀϸ¸À¸·Î ºôµå°¡ ¿Ï·áµÇÁö¸¸ À¥ ÇÁ·ÎÁ§Æ®´Â Á» ´õ ÇÒ ÀÏÀÌ ¸¹½À´Ï´Ù. ÄÄÆÄÀÏÇÑ Å¬·¡½ºµéÀÌ À¥ ÇÁ·ÎÁ§Æ® ±¸Á¶¿¡ ¸Â°Ô À§Ä¡ÇØ¾ß ÇÏ°í °¢Á¾ ¶óÀ̺귯¸®, TLD ÆÄÀϵ鵵 ÀûÀýÈ÷ À§Ä¡½ÃÄÑ À¥ ÄÁÅ×À̳Ê(¼­ºí¸´ ¿£Áø)¿¡ ¹èÄ¡½ÃÄ×À» ¶§ Á¤»óÀûÀ¸·Î µ¿ÀÛÇϵµ·Ï ÇØ¾ß ÇÕ´Ï´Ù.

ÇÁ·ÎÁ§Æ® ±¸Á¶°¡ º¹ÀâÇÏ¸é ±×¸¸Å­ ºôµå ÀÚµ¿È­µµ ´õ º¹ÀâÇØÁý´Ï´Ù. ±×·¡¼­ ºôµå ÀÚµ¿È­ ÀÛ¾÷À» Çϱâ Àü¿¡ ¿ì¼± ÇÁ·ÎÁ§Æ® ±¸Á¶¸¦ Àß ±¸¼ºÇØ ³õ¾Æ¾ß ÇÕ´Ï´Ù. <Ç¥ 1>Àº ºôµå ÀÚµ¿È­ ÅøÀÎ Ant¿¡¼­ Á¦½ÃÇÏ´Â ÇÁ·ÎÁ§Æ® ±¸Á¶¿¡ ´ëÇÑ ±Ç°í¾ÈÀÔ´Ï´Ù.

<Ç¥ 1> Ant¿¡¼­ Á¦½ÃÇÏ´Â ÇÁ·ÎÁ§Æ® ±¸Á¶¿¡ ´ëÇÑ ±Ç°í¾È

¿©±â¼­ ´«¿©°ÜºÁ¾ß ÇÒ ºÎºÐÀº src¿Í webÀÔ´Ï´Ù. ÀÚ¹Ù ¼Ò½º´Â src¿¡, À¥ ÀÚ¿øÀº web ¾Æ·¡¿¡ ÄÁÅØ½ºÆ® ±¸Á¶´ë·Î ¹èÄ¡½Ãŵ´Ï´Ù. ¿©·¯ IDE(Integrated Development Environment)µé¿¡¼­ À¥ ÇÁ·ÎÁ§Æ®¸¦ ±¸¼ºÇÒ ¶§µµ src¿Í webÀÇ À̸§Àº ´Þ¶óÁö±âµµ ÇÏÁö¸¸ ±âº»ÀûÀ¸·Î src¿Í webÀ» ³ª´©´Â ±âÁØÀº °°½À´Ï´Ù. °æ¿ì¿¡ µû¶ó¼­ ÀÚ¹Ù ¼Ò½º´Â src ¾Æ·¡¿¡¼­ ´Ù½Ã Çѹø ºÐ·ù¸¦ Çϱ⵵ ÇÕ´Ï´Ù. src/java, src/test·Î ¼Ò½º¿Í Å×½ºÆ®¸¦ ³ª´©±âµµ Çϰí src/resources µîÀÇ Æú´õ¸¦ ¸¸µé¾î¼­ xmlÀ̳ª properties¸¦ º¸°üÇϱ⵵ ÇÕ´Ï´Ù. ÀÌ ±¸Á¶¸¦ ±âÁØÀ¸·Î º¸¸é À¥ ÇÁ·ÎÁ§Æ® ºôµå ÀÛ¾÷Àº ´ÙÀ½°ú °°Àº ´Ü°è·Î ÁøÇàµË´Ï´Ù.

[1] À¥ ÄÁÅ×À̳ʿ¡¼­ À¥ ¾ÖÇø®ÄÉÀ̼ÇÀÇ ·çÆ® ¿ªÇÒÀ» ÇÏ´Â CONTEXT_ROOT µð·ºÅ丮¸¦ ¸¸µç´Ù. ¾ÕÀÇ ±¸Á¶¿¡¼­ web µð·ºÅ丮¸¦ ±×´ë·Î »ç¿ëÇϱ⵵ Çϰí dist/web, dist/<ÄÁÅØ½ºÆ®¸í>°ú °°ÀÌ ¸¸µé±âµµ ÇÑ´Ù.
[2] Àڹ٠Ŭ·¡½º¸¦ ÄÄÆÄÀÏÇϰí CONTEXT_ROOT/WEB-INF/classes·Î º¹»çÇÑ´Ù.
[3] Ŭ·¡½ºÆÐ½º ¸®¼Ò½º¸¦ CONTEXT_ROOT/WEB-INF/classes·Î º¹»çÇÑ´Ù.
[4] ÇÊ¿äÇÑ ¶óÀ̺귯¸®¸¦ CONTEXT_ROOT/WEB-INF/lib·Î º¹»çÇÑ´Ù.
[5] JSP, HTML, CSS, JS µîÀÇ À¥ ÀÚ¿øµéÀ» CONTEXT_ROOT·Î º¹»çÇÑ´Ù.
[6] tld ÆÄÀÏÀ» CONTEXT_ROOT/WEB-INF/tld³ª CONTEXT_ROOT/WEB-INF/lib·Î º¹»çÇÑ´Ù.

¿©±â¼­ CONTEXT_ROOT¸¦ webÀ¸·Î ±×´ë·Î »ç¿ëÇÒ ¼öµµ Àִµ¥, ±×·¸´Ù¸é 4¢¦6¹ø °úÁ¤Àº ÇÊ¿ä ¾ø°Å³ª Çѹø¸¸ ÇØµµ µÇ´Â ÀÛ¾÷ÀÌ µË´Ï´Ù. ´ë½Å °æ¿ì¿¡ µû¶ó ÇÁ·ÎÁ§Æ®¿¡¼­ ºôµåÇÑ °á°ú¹°À» Áö¿ì°í ´Ù½Ã ºôµåÇÏ°í ½ÍÀ» ¶§ ÀÏÀÌ º¹ÀâÇØÁú ¼ö ÀÖÁÒ. º¸Åë IDE¿¡¼­´Â web µð·ºÅ丮¸¦ ±×´ë·Î CONTEXT_ROOT·Î »ç¿ëÇÕ´Ï´Ù.

¸¸¾à ÀÌ·± ÀÏ·ÃÀÇ ºôµå °úÁ¤À» ¼öµ¿À¸·Î ÇÑ´Ù¸é ±× ºñÈ¿À²Àº ¸»ÇÒ ³ªÀ§°¡ ¾ø°ÚÁÒ? ±×·¡¼­ IDE¿¡¼­´Â °£´ÜÇÑ ¼³Á¤¸¸ ÇØµÎ¸é ÀÚµ¿À¸·Î ºôµåÇØÁÝ´Ï´Ù. ÇÏÁö¸¸ IDE ¾øÀÌ ºôµåÇØ¾ß ÇÒ ¶§µµ ÀÖ½À´Ï´Ù. °³¹ßÇÒ ¶§´Â ´ç¿¬È÷ IDE·Î °³¹ßÀ» ÇÏ°í ºôµåµµ ÇÒ ¼ö ÀÖ°ÚÁö¸¸ IDE¿¡¼­ Áö¿øÇÏ´Â °Í ÀÌ¿ÜÀÇ ºÎ°¡ÀûÀÎ ÀÛ¾÷À» ÇØ¾ß ÇѴٰųª °³¹ßÀÚÀÇ PC°¡ ¾Æ´Ñ ¼­¹ö¿¡¼­ Á÷Á¢ ºôµåÇÏ°í ¹èÄ¡ÇØ¾ß ÇÒ ¶§µµ ÀÖ½À´Ï´Ù.

ÀÌ·² ¶§ÀÇ ºôµå¸¦ ÀÚµ¿È­Çϱâ À§ÇØ ¿©·¯ °¡Áö ºôµå ÀÚµ¿È­ µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. À¯´Ð½º/¸®´ª½º ȯ°æ¿¡¼­´Â ¿À·¡ ÀüºÎÅÍ ÀÌ·± ¸ñÀûÀ» À§ÇØ »ç¿ëÇØ ¿Â make¶ó´Â µµ±¸°¡ ÀÖ½À´Ï´Ù. MakefileÀ̶ó´Â ÆÄÀÏ¿¡ ºôµå¸¦ À§ÇÑ ½ºÅ©¸³Æ®µéÀ» make ¹®¹ý¿¡ ¸Â°Ô ³ª¿­Çصΰí make ¸í·ÉÀ» ½ÇÇàÇÏ¸é ºôµå°¡ ½ÇÇàµÇÁÒ.

ÇÏÁö¸¸ make¿¡¼­ Áö¿øÇÏ´Â ±â´ÉÀÌ ³Ê¹« ºó¾àÇØ¼­ ºôµå°¡ º¹ÀâÇÒ °æ¿ì Makefile¿¡ ¸ðµç ºôµå °úÁ¤À» ±â¼úÇØ¾ß Çϱ⠶§¹®¿¡ MakefileÀÌ º¹ÀâÇØÁ®¼­ À¯Áöº¸¼ö°¡ Èûµé´Ù´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù. ±×·¡¼­ ÀÚ¹Ù Áø¿µ¿¡¼­´Â make¸¦ ³Ñ¾î¼­´Â ÅøÀ» ¸¸µé°íÀÚ Çß°í ±×·¡¼­ Ant°¡ µîÀåÇß½À´Ï´Ù. ±×·¯³ª Ant ¿ª½Ã ÇѰ谡 ÀÖ¾ú±â ¶§¹®¿¡ Ant¸¦ ÇÑ ´Ü°è ´õ ¹ßÀü½ÃŲ MavenÀÌ µîÀåÇßÁÒ. ÇöÀç ´ëºÎºÐÀÇ ¿ÀǼҽº ÀÚ¹Ù ÇÁ·ÎÁ§Æ®´Â Ant³ª Maven µÑ ÁßÀÇ Çϳª¸¦ ºôµå µµ±¸·Î »ç¿ëÇϰí ÀÖ½À´Ï´Ù. ¿©±â¼­´Â ±¸Ã¼ÀûÀÎ µµ±¸ÀÇ »ç¿ë¹ýÀ» ¼³¸íÇϱ⺸´Ù ¾î¶°ÇÑ µµ±¸µéÀÌ ÀÖ´ÂÁö¸¦ °£´ÜÈ÷ »ìÆìº¸°í °¢ µµ±¸ÀÇ Àå´ÜÁ¡À» ºñ±³ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

Ant
Ant´Â ±¸Á¶ÀûÀ¸·Î´Â make¸¦ ±×´ë·Î ÀÌ¾î ¹Þ¾Ò½À´Ï´Ù. build.xml¿¡ ºôµå ¼³Á¤À» ÇØµÎ°í ant ¸í·ÉÀ» ½ÇÇàÇÏ¸é ºôµå ÀÛ¾÷ÀÌ ¼öÇàµË´Ï´Ù. Ant´Â ÀÚÁÖ ÇÏ´Â ÀÛ¾÷µéÀ» ¹Ì¸® Àڹ٠Ŭ·¡½º·Î ÄÚµùÇØ¼­ ŽºÅ©·Î ¸¸µé¾î µÎ¾ú°í Ŭ·¡½ºÆÐ½º ¼³Á¤À̳ª ÆÄÀÏ, µð·ºÅ丮 ¼±Åà µîÀ» ½±°Ô ÇÒ ¼ö ÀÖ´Â ¹®¹ýÀ» °®Ãß¾î ³õ¾Ò±â ¶§¹®¿¡ makeº¸´Ù ÈξÀ °£´ÜÇÏ°Ô ºôµå ¼³Á¤À» ÇÒ ¼ö ÀÖÁÒ. <¸®½ºÆ® 1>ÀÇ build.xmlÀÇ ¿¹¸¦ º¾½Ã´Ù.

 <¸®½ºÆ® 1> build.xmlÀÇ ¿¹

À̰ÍÀº ÀÚ¹Ù ÄÄÆÄÀÏÀ» ÇÏ°í ¸®¼Ò½º¸¦ º¹»çÇÏ´Â ºôµå ÆÄÀÏÀÔ´Ï´Ù. target űװ¡ ÀÛ¾÷ÀÇ ´ÜÀ§¸¦ Á¤ÀÇÇÏ´Â ¿ªÇÒÀ» ÇÏ¸ç ´ÙÀ½°ú °°ÀÌ targetÀ» ÁöÁ¤ÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ant <target À̸§>

¾ÕÀÇ build.xml¿¡¼­´Â build, compile, resource¶ó´Â ¼¼ °³ÀÇ targetÀ» Á¤ÀÇÇϰí ÀÖ°í build¶ó´Â targetÀº compile, resource¿¡ ÀÇÁ¸Çϰí Àֱ⠶§¹®¿¡ build targetÀ» ½ÇÇàÇϸé ÀÚµ¿À¸·Î compile°ú resource°¡ ¸ÕÀú ½ÇÇàµË´Ï´Ù. ±×¸®°í project ű׿¡¼­ default·Î build¸¦ Á¤ÀÇÇϰí Àֱ⠶§¹®¿¡ targetÀ» ÁöÁ¤ÇÏÁö ¾Ê°í ant¸¦ ½ÇÇàÇϸé ÀÚµ¿À¸·Î build°¡ ½ÇÇàµÇÁÒ. compile target¿¡¼­´Â javac ŽºÅ©¸¦ ÀÌ¿ëÇØ¼­ ÄÄÆÄÀÏÀ» Çϰí resource ŽºÅ©¿¡¼­´Â copy ŽºÅ©¸¦ ÀÌ¿ëÇØ¼­ º¹»ç¸¦ ÇÕ´Ï´Ù. À̰ÍÀÌ AntÀÇ ±âº»ÀûÀÎ ±¸Á¶ÀÌ°í ´Ù¸¥ ºÎ°¡ÀûÀÎ ±â´Éµéµµ ÀÖÁö¸¸ ´ëü·Î ÀÌ·± ½ÄÀ¸·Î build.xmlÀ» ±¸¼ºÇÏ°Ô µË´Ï´Ù.

»ç½Ç Ant °³¹ßÀÚµéÀº Ant°¡ makeº¸´Ù ÈξÀ ¼±¾ðÀûÀ¸·Î ºôµå¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù´Â Á¡À» ÀåÁ¡À¸·Î ³»¼¼¿ìÁö¸¸ ÀÌ°Ç »ç½Ç javac, copy¿Í °°Àº ŽºÅ©¸¦ ¹Ì¸® Àڹ٠Ŭ·¡½º·Î ÄÚµùÇØ ³õ¾Ò±â ¶§¹®¿¡ ±×·± °ÍÀÏ »Ó ½ÇÁ¦ÀûÀ¸·Î´Â MakeÀÇ ¸ÞÄ¿´ÏÁò°ú Å« Â÷À̰¡ ¾ø½À´Ï´Ù. ±×·± ¹Ý¸é build.xmlÀ» ¼±¾ðÀûÀ¸·Î ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô Çϱâ À§ÇØ build.xmlÀÇ ¹®¹ý¿¡ ½ºÅ©¸³Æ®ÀûÀÎ ¿ä¼Ò¸¦ ÃÖ¼ÒÇÑÀ¸·Î ÁÙ¿´°í ¶Ç XML ÀÚü°¡ ÇÁ·Î±×·¡¹ÖÀÌ ÇÊ¿äÇÑ ºÎºÐÀ» ±â¼úÇϱ⿡´Â ÀûÇÕÇÏÁö ¾Ê±â ¶§¹®¿¡ AntÀÇ ÆÄ¿ö´Â ¿ÀÈ÷·Á makeº¸´Ù ³·¾ÆÁ³½À´Ï´Ù.

±×¸®°í ½ÇÁ¦·Î Àڹ٠Ŭ·¡½º ÄÄÆÄÀÏ¿¡ ÆÄÀÏ ¸î °³ º¹»çÇÏ´Â Á¤µµ¶ó¸é ¾ÆÁÖ °£´ÜÇÏ°Ô ºôµå ÆÄÀÏÀ» ÀÛ¼ºÇÒ ¼ö ÀÖÁö¸¸ º¹ÀâÇØÁö±â ½ÃÀÛÇϸé build.xmlÀº Á¡Á¡ ÀÌÇØÇϱâ Èûµç Äڵ尡 µÇ¾î°©´Ï´Ù. ±×·¡¼­ Ant¿¡¼­´Â build.xml¿¡ ÁÖ¼®À» ÃæºÐÈ÷ ´Þ¾Æ³õÀ» °ÍÀ» ±Ç°íÇϰí ÀÖ½À´Ï´Ù.

ÇÏÁö¸¸ ÁÖ¼®À» ¸¹ÀÌ ´Þ¾Æ¾ßÇÑ´Ù´Â °ÍÀº ÁÖ¼®À» ´ÞÁö ¾ÊÀ¸¸é ¾ÈµÉ ¸¸Å­ ÁöÀúºÐÇÑ Äڵ带 ¸¸µé°Ô µÈ´Ù´Â ¶æÀ̱⵵ ÇÕ´Ï´Ù. »ç½Ç ºôµå ½ºÅ©¸³Æ®¾ß Çѹø ¸¸µé¾îµÎ¸é °è¼Ó ¾²´Ï±î ÀÌÇØÇ졂 ¸»°Ç ¹«½¼ »ó°üÀ̳İí ÇÒ ¼öµµ ÀÖ°ÚÁö¸¸ ÇÁ·ÎÁ§Æ® ±Ô¸ð°¡ Ä¿Áö°í ¿¬°ü ÇÁ·ÎÁ§Æ®°¡ ¸¹¾ÆÁú¼ö·Ï ºôµå ¿ä±¸»çÇ×µµ °è¼Ó º¯ÇÕ´Ï´Ù.

±×·¡¼­ ÀÚÁÖ ¼öÁ¤ÇÒ ¼ö ÀÖµµ·Ï ºôµå ½ºÅ©¸³Æ®¸¦ ¸í·áÇÏ°Ô À¯ÁöÇÒ Çʿ䰡 ÀÖÁÒ. °á±¹ Ant´Â makeº¸´Ù´Â Á¶±Ý »çÁ¤ÀÌ ³ª¾ÆÁ³Áö¸¸ º»ÁúÀûÀ¸·Î´Â make¿Í µ¿ÀÏÇÑ ¹®Á¦¸¦ °®°í ÀÖ½À´Ï´Ù.

ÁÖ¼®°ú ³ª»Û ³¿»õ  
Çб³¿¡¼­´Â ²Ï ¿À·§µ¿¾È ¼Ò½ºÄڵ忡´Â ÁÖ¼®À» ¸¹ÀÌ ´Þ¾Æ¾ß ´Ù¸¥ »ç¶÷ÀÌ À¯Áöº¸¼öÇϱ⠽±´Ù°í °¡¸£ÃÄ ¿Ô½À´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀº »ç½ÇÀÌ ¾Æ´Õ´Ï´Ù. ¿ÀÈ÷·Á ¸¹Àº ÁÖ¼®Àº ¸®ÆÑÅ丵¿¡¼­ ¸»ÇÏ´Â ³ª»Û ³¿»õ Áß ÇϳªÀÔ´Ï´Ù.

¸¶Æ¾ ÆÄ¿ï·¯°¡ ¾´ ¡º¸®ÆÑÅ丵¡»¿¡¼­´Â ³ª»Û Äڵ带 ½Äº°ÇÏ´Â ¹æ¹ýÀ¸·Î ³¿»õ¶ó´Â Ç¥ÇöÀ» »ç¿ëÇÕ´Ï´Ù. Äڵ忡 ÁÁÁö ¾ÊÀº ºÎºÐÀÌ ÀÖÀ¸¸é ¡®³¿»õ ³ª´Â Äڵ塯¶ó´Â °ÅÁÒ. ¸¶Æ¾ ÆÄ¿ï·¯´Â ÁÖ¼®Àº ±× ÀÚü°¡ ³ª»Û ³¿»õ¸¦ dz±â´Â °ÍÀº ¾Æ´ÏÁö¸¸ º¸Åë ÄÚµåÀÇ ³ª»Û ³¿»õ¸¦ °¨Ãß±â À§ÇÑ Å»ÃëÁ¦·Î »ç¿ëµÇ±â ¶§¹®¿¡ ÁÖ¼®À» ½á¾ß ÇÒ Çʿ伺À» ´À³¤´Ù¸é ÁÖ¼®À» ¾²´Â ´ë½Å Äڵ带 ¸®ÆÑÅä¸µÇØ¼­ Äڵ忡¼­ ³¿»õ°¡ ³ªÁö ¾Êµµ·Ï Ç϶ó°í ¸»ÇÕ´Ï´Ù. ÁÁÀº ÄÚµå´Â ÁÖ¼®À» ¸¹ÀÌ ´Þ¾Æ³õÀº Äڵ尡 ¾Æ´Ï¶ó ÄÚµå ÀÚü¸¸À¸·Îµµ ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖ´Â ÄÚµå¶ó´Â ¶æÀÌÁÒ.

½ã¿¡¼­ Á¦½ÃÇÏ´Â ÀÚ¹Ù ÄÚµå ÄÁº¥¼Ç(Java Code Convention)¿¡¼­µµ ±¸Çö¿¡ ´ëÇØ ¼³¸íÇÏ´Â ÁÖ¼®Àº µÇµµ·Ï ¾²Áö ¸»¶ó°í ±Ç°íÇϰí ÀÖ½À´Ï´Ù. ºôµå ½ºÅ©¸³Æ®¶ó°í ¿¹¿Ü°¡ µÇ¾î¼± ¾ÈµË´Ï´Ù. °³¹ßÆÀ¿¡¼­ °³¹ßÇϰí À¯ÁöÇÏ´Â ¸ðµç ¼Ò½ºÄÚµå´Â ³¿»õ°¡ ³ªÁö ¾Ê´Â ¡®±ú²ýÇÑ Äڵ塯°¡ µÇ¾î¾ß ÇÕ´Ï´Ù.

Maven
MavenÀº ÀÌ·± Á¡µéÀ» ÇØ°áÇÏ°í ³ª¾Æ°¡ Á¾ÇÕÀûÀÎ ÇÁ·ÎÁ§Æ® °ü¸®±îÁö ¼ÒÈ­Çϱâ À§ÇØ ¸¸µé¾îÁ³½À´Ï´Ù. ±×·¡¼­ ±âº» ±¸Á¶ ÀÚüµµ make, Ant¿Í´Â »ó´çÈ÷ ´Ù¸¨´Ï´Ù. ¿ì¼± AntÀÇ ¹®Á¦Á¡À̶ó°í ÁöÀûµÇ´ø ºÎºÐ, ºôµå¸¦ À§ÇÑ ÇÁ·Î¼¼½º¿Í µ¥ÀÌÅͰ¡ ¼¯¿©¼­ build.xml¿¡ ±â¼úµÈ´Ù´Â °ÍÀ» ÇØ°áÇϱâ À§ÇØ µ¥ÀÌÅÍ¿Í ÇÁ·Î¼¼½º¸¦ ¿ÏÀüÈ÷ ºÐ¸®Çß½À´Ï´Ù. Maven¿¡¼­´Â makeÀÇ Makefile, AntÀÇ build.xml¿¡ ´ëÀÀµÇ´Â °ÍÀ¸·Î project.xmlÀ» ÀÛ¼ºÇϴµ¥ ÀÌ project.xml¿¡´Â ÇÁ·Î¼¼½º°¡ ÀüÇô µé¾î°¡Áö ¾Ê°í ¿À·ÎÁö ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ ¼³¸í¸¸ÀÌ µé¾î°©´Ï´Ù. <¸®½ºÆ® 2>¸¦ º¾½Ã´Ù.

 <¸®½ºÆ® 2> project.xmlÀÇ ¿¹

À̰ÍÀÌ project.xmlÀÇ ¿¹ÀÔ´Ï´Ù. º¸´Ù½ÃÇÇ ¾î¶»°Ô ºôµå¸¦ ÇÒ °ÍÀΰ¡¿¡ ´ëÇÑ ³»¿ëÀº ÀüÇô ¾ø½À´Ï´Ù. ÇÁ·ÎÁ§Æ®ÀÇ ±¸Á¶¿¡ ´ëÇÑ ¼³¸íµé¸¸ ÀÖÁÒ. ¾î¶»°Ô ºôµåÇÒ °ÍÀΰ¡´Â MavenÀÇ Ç÷¯±×Àο¡ ÀÖ½À´Ï´Ù. Ç÷¯±×ÀÎÀº Jelly ½ºÅ©¸³Æ®¶ó´Â XML ±â¹ÝÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿Í Àڹ٠Ŭ·¡½º¸¦ °áÇÕÇØ¼­ ¸¸µé°Ô µÇ¸ç goalÀ̶ó´Â °ÍÀ» Á¤ÀÇÇϴµ¥ À̰ÍÀº AntÀÇ target°ú ºñ½ÁÇÏ¸ç ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

maven <goal À̸§>

Maven Ç÷¯±×ÀÎÀÇ Jelly ½ºÅ©¸³Æ®´Â AntÀÇ build.xml º¸´Ù ÈξÀ ´õ ÇÁ·Î±×·¡¹Ö ¿ä¼Ò¸¦ ¸¹ÀÌ Æ÷ÇÔÇϰí Àֱ⠶§¹®¿¡ ´õ °­·ÂÇÕ´Ï´Ù. °Ô´Ù°¡ µ¥ÀÌÅÍ¿Í ÇÁ·Î¼¼½º°¡ ¿ÏÀüÈ÷ ºÐ¸®µÇ¾î ÀÖ¾î »ç¿ëÇÏ´Â ÀÔÀå¿¡¼­´Â µ¥ÀÌÅ͸¸ Àß Á¤ÀÇÇØµµ µË´Ï´Ù. µû¶ó¼­ Antº¸´Ù ´õ ¼±¾ðÀûÀ̰í ÀÛ¼ºÇϱ⵵ ½±½À´Ï´Ù.

±×¸®°í Ant´Â ¶óÀ̺귯¸® ÀÇÁ¸¼º, ÇÁ·ÎÁ§Æ®°£ ÀÇÁ¸, »ó¼Ó °ü°è µî¿¡ ´ëÇÑ Áö¿øÀÌ ÀüÇô ¾ø¾ú´Âµ¥ Maven¿¡¼­´Â Repository¶ó´Â °³³äÀ» µµÀÔÇÏ¿© ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϰí ÀÖ½À´Ï´Ù. ÇÁ·ÎÁ§Æ®°¡ ¾î¶² ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ´ÂÁö, ¾î¶² ÇÁ·ÎÁ§Æ®ÀÇ Æ¯¼ºÀ» »ó¼Ó¹Þ´ÂÁö µîÀ» project.xml¿¡ ¼³Á¤¸¸ ÇØÁÖ¸é ÇÊ¿äÇÑ jar ÆÄÀÏÀ» ÀÚµ¿À¸·Î Maven Repository¿¡¼­ ´Ù¿î¹Þ¾Æ¼­ ºôµå¸¦ ÇØÁÖ´Â °ÍÀÌÁÒ. µ¥ºñ¾È GNU/¸®´ª½º¸¦ »ç¿ëÇØ ºÃ´Ù¸é dselect¸¦ ½áºÃÀ» °ÍÀÔ´Ï´Ù.

dselect¿¡¼­´Â ¾î¶² ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÏ·Á°í ¼±ÅÃÇÏ¸é ±× ¼ÒÇÁÆ®¿þ¾î°¡ ÇÊ¿ä·Î ÇÏ´Â ¶óÀ̺귯¸®³ª ´Ù¸¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÚµ¿À¸·Î ´Ù¿î·ÎµåÇØ¼­ ¼³Ä¡ÇØÁÝ´Ï´Ù. MavenÀÌ Á¦°øÇÏ´Â ÀÇÁ¸¼º °ü¸®µµ ÀÌ¿Í °°Àº °³³äÀÔ´Ï´Ù.

¶Ç MavenÀº ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ °¢Á¾ ¹®¼­°¡ Áý¾àµÈ »çÀÌÆ®¸¦ »ý¼ºÇϵµ·Ï ÇØÁÝ´Ï´Ù. ¿ÀǼҽº ÇÁ·ÎÁ§Æ®ÀÇ È¨ÆäÀÌÁö¸¦ µ¹¾Æ´Ù´Ï´Ù º¸¸é ¡®built by maven¡¯À̶ó´Â µüÁö°¡ ºÙÀº »çÀÌÆ®°¡ ¸¹½À´Ï´Ù. ÀÌ·± »çÀÌÆ®¿¡´Â °øÅëÀûÀ¸·Î Project Info¿Í Project Reports°¡ ÀÖ°í ÀÌ ¾È¿¡ ¼Ò½º ÀúÀå¼Ò ¿¬°á, Javadoc, Å×½ºÆ® ¸®Æ÷Æ®, checkstyle ¸®Æ÷Æ® µîÀÇ ¹®¼­µéÀÌ ÀÖ½À´Ï´Ù.

À̰ÍÀº MavenÀÇ site Ç÷¯±×ÀÎÀÌ ÀÚµ¿À¸·Î »ý¼ºÇÑ »çÀÌÆ®ÀÔ´Ï´Ù. ¿©·¯ °¡Áö À¯¿ëÇÑ Á¤º¸µéÀ» ÀÚµ¿À¸·Î »ý¼ºÇØÁֱ⠶§¹®¿¡ ÇÁ·ÎÁ§Æ®¿¡ ´ëÇÑ Á¤º¸¸¦ ÆÀ³»¿¡¼­ ½±°Ô °øÀ¯ÇÒ ¼ö ÀÖÁÒ. ½ºÄÉÁì·¯¸¦ ÀÌ¿ëÇØ¼­ ¸ÅÀÏ Æ¯Á¤ ½Ã°£¿¡ ºôµåÇÏ°í »çÀÌÆ®¸¦ »ý¼ºÇϵµ·Ï ÇÏ¸é ¸ÅÀÏ ¸ÅÀÏ °³¹ß ÁøÃ´ »óȲÀ» »ìÆìº¼ ¼ö ÀÖ½À´Ï´Ù.

°í¹ÎÇÒ ÇÊ¿ä ¾øÀÌ MavenÀ» ¾²¸é µÇ°Ú±¸³ª ½ÍÁö¸¸ ¾ÆÁ÷Àº ¾Æ´Õ´Ï´Ù. MavenÀº Áö¿øÇÏ´Â ±â´ÉÀÌ ¸¹´Ùº¸´Ï mavenÀ» Á¦´ë·Î ¹è¿ì´Â µ¥´Â ÀûÁö ¾ÊÀº ½Ã°£ÀÌ °É¸³´Ï´Ù. °Ô´Ù°¡ Ç÷¯±×ÀεéÀº ¿©·¯ °¡Áö ±¸Á¶ÀûÀÎ ºÎºÐ¿¡¼­ ¸¹Àº ¡®°¡Á¤¡¯À» Æ÷ÇÔÇÑ »óÅ·Π°³¹ßµÇ¾î ÀÖ½À´Ï´Ù. À̸¦Å׸é MavenÀ¸·Î ºôµåÇÏ´Â jar ÆÄÀÏÀº Ç×»ó ¹öÀü ³Ñ¹ö°¡ µÚ¿¡ ºÙ¾î¾ß ÇÑ´Ù´Â ½ÄÀÌÁÒ.

ÀÌ·± ¾Ï¹¬ÀûÀÎ ·êµéÀÌ ¸¹±â ¶§¹®¿¡ Maven Ç÷¯±×ÀÎÀ» È®ÀåÇÏ°í ½ÍÀ» ¶§ ÀÚ½ÅÀÇ »ý°¢Çß´ø °Í°ú ´Ù¸£°Ô µ¿ÀÛÇÏ´Â °æ¿ì°¡ ¸¹½À´Ï´Ù. °Ô´Ù°¡ Maven¿¡¼­ »ç¿ëÇÏ´Â ½ºÅ©¸³Æ® ¾ð¾îÀÎ Jelly ½ºÅ©¸³Æ®´Â Antº¸´Ù´Â ³´Áö¸¸ ¿©ÀüÈ÷ º¹ÀâÇÑ ¿ä±¸»çÇ×À» ¼ö¿ëÇϱ⿡´Â ¡®ÁøÂ¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¡¯¿¡ ºñÇØ ºÎÁ·ÇÑ Á¡ÀÌ ¸¹½À´Ï´Ù. °á±¹ Jelly ½ºÅ©¸³Æ®·Î ÀÛ¼ºÇÑ ÄÚµå´Â AntÀÇ build.xml ¸øÁö ¾Ê°Ô ¾îÁö·¯¿î Äڵ尡 µÇ°ï ÇÏÁÒ. °Ô´Ù°¡ MavenÀº ¼Óµµ°¡ Ant¿¡ ºñÇØ ¾ÆÁÖ ´À¸°µ¥ ÀÌ Á¡ÀÌ ÀǿܷΠ°³¹ßÇϸ鼭 ÀÚÁÖ ºôµåÇØ¾ß ÇÒ ¶§´Â Ä¡¸íÀûÀÎ ¹®Á¦°¡ µÉ ¼ö ÀÖ½À´Ï´Ù.

¼±ÅÃÀÇ ¹®Á¦
ÀÌ·± Á¡µé ¶§¹®¿¡ MavenÀ» ¹«ÀÛÁ¤ ±Ç°íÇϱâ´Â ¾î·Æ½À´Ï´Ù. ±×·¡¼­ ¶Ç ´Ù¸¥ ´ë¾ÈÀ» ã´Â »ç¶÷µéµµ ÀÖ½À´Ï´Ù. Groovy+Ant¶ó´Â °Íµµ ÀÖ½À´Ï´Ù. Groovy¶ó´Â ÀÚ¹Ù ±â¹ÝÀÇ ½ºÅ©¸³Æ® ¾ð¾î¿¡¼­ AntÀÇ Å½ºÅ©µéÀ» ½±°Ô »ç¿ëÇÒ ¼ö ÀÖ°Ô ±¸¼ºÇØ ³õÀº °ÍÀÌÁÒ. ³ª¸§´ë·Î ±¦ÂúÀº ´ë¾ÈÀÌÁö¸¸ ¾ÆÁ÷ MavenÀÇ ´Ù¾çÇÑ ±â´ÉµéÀ» ¼ÒÈ­Çϰí ÀÖÁø ¸øÇÕ´Ï´Ù. °á±¹ ¼±ÅÃÀº °³¹ßÀÚÀÇ ¸òÀÔ´Ï´Ù. Ant´Â ÇѰ谡 ÀÖÁö¸¸ ½±°í °¡º­¿î ÅøÀ̰í, MavenÀº ±â´ÉÀÌ ´Ù¾çÇÏÁö¸¸ ¾î·Æ°í ¾à°£ÀÇ ¹®Á¦°¡ ÀÖ½À´Ï´Ù.

ÀÏ´ÜÀº Ant·Î ±¸¼ºÇØ ³õ°í MavenÀ» °³¼±ÇÑ »õ·Î¿î ÅøÀÌ ³ª¿À±â¸¦ ±â´Ù¸®´Â °Íµµ ³ª»ÚÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±×¸®°í »ç½Ç ºôµå µµ±¸ ¸¸µå´Â °ÍÀÌ ¾î·Á¿î ÀÏÀº ¾Æ´Ï¹Ç·Î ½º½º·Î ÀÚ½ÅÀÇ ÆÀ¿¡ ¸Â´Â ºôµå µµ±¸¸¦ ¸¸µé¾îº¸´Â °Íµµ ÁÁ½À´Ï´Ù. ¸ñÀûÀº À§¿¡¼­ ³ª¿­ÇÑ À¥ ÇÁ·ÎÁ§Æ®ÀÇ ºôµå °úÁ¤À» È¿°úÀûÀ¸·Î ÇØ³»´Â °ÍÀÌÁö ¾î¶² µµ±¸¸¦ »ç¿ëÇÏ´À³Ä°¡ Áß¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù.

°ü¸®ÀÇ ÀÚµ¿È­
ÀÚµ¿È­ÀÇ ´ë»óÀº ÇÁ·ÎÁ§Æ®ÀÇ ºôµå¸¸ÀÌ ¾Æ´Õ´Ï´Ù. ±× ¿Ü¿¡ °³¹ß¿¡¼­ ¹ß»ýÇÏ´Â ¼ö¸¹Àº À⹫µéµµ ¸ðµÎ ÀÚµ¿È­ ´ë»óÀÔ´Ï´Ù. ´ÙÀ½ÀÌ ±×·± ÀÛ¾÷µéÀÔ´Ï´Ù.

[1] ¼­¹ö ¼³Ä¡ ¹× ¼­¹ö ȯ°æ ±¸¼º
[2] ºôµåÇÑ ÇÁ·ÎÁ§Æ®¸¦ À¥ ÄÁÅ×À̳ʿ¡ ¹èÄ¡Çϱâ
[3] À¥ ÄÁÅ×À̳ʸ¦ ½ºÅ¾/½ºÅ¸Æ®/¸®½ºÅ¸Æ® ½Ã۱â
[4] ÁÖ±âÀûÀ¸·Î ÇÁ·ÎÁ§Æ®¸¦ Å×½ºÆ®ÇÏ°í °á°ú¸¦ ¸®Æ÷ÆÃÇϱâ
[5] »óȲ¿¡ µû¶ó ¼­¹öÀÇ ¼ÂÆÃ º¯°æÇϱâ

Ant¿Í MavenÀº ÀÌ·± ÀÏ¿¡µµ »ó´ç ºÎºÐ µµ¿òÀ» ÁÝ´Ï´Ù. ÀÌ¹Ì ÀÌ·± ÀÛ¾÷µéÀÌ Ant ŽºÅ©³ª Maven Ç÷¯±×ÀÎÀ¸·Î ¸¹ÀÌ ¸¸µé¾îÁ® Àֱ⵵ ÇÏ°í ¶ÇÇÑ ºôµå ÀÚµ¿È­¿Í ÀϰüµÈ ¹æ½ÄÀ¸·Î ¹®Á¦¸¦ ÇØ°áÇÒ ¼ö ÀÖ´Ù´Â °Íµµ ÀåÁ¡ÀÔ´Ï´Ù. ÇÏÁö¸¸ »ç½Ç ÀÌ·± ºÎºÐµéÀº ºôµå Åøº¸´Ù´Â bash °°Àº ¼Ð ½ºÅ©¸³Æ®°¡ ´õ °£ÆíÇÑ °æ¿ì°¡ ¸¹½À´Ï´Ù. ¼­¹ö¿¡ Á¢¼ÓÇØ¾ß ÇÏ´Â Àϵ鵵 ¸¹°í Ant³ª MavenÀÇ Å½ºÅ©º¸´Ù ¸®´ª½º/À¯´Ð½ºÀÇ ÅøµéÀÌ ´õ À¯¿ëÇÑ °æ¿ì°¡ ¸¹½À´Ï´Ù. ¸®´ª½º/À¯´Ð½º ¼¼°è¿¡¼­´Â ÀÌ¹Ì ¿À·¡ ÀüºÎÅÍ ÀÌ·± ÀϵéÀ» ½© ½ºÅ©¸³Æ®·Î ÇØ¿Ô½À´Ï´Ù.

ÇÏÁö¸¸ ¿©±â¿¡µµ ¹®Á¦°¡ ÀÖ´Â °ÍÀÌ ¼Ð ½ºÅ©¸³Æ® ¿ª½Ã Ant³ª MavenÀÇ Jelly ½ºÅ©¸³Æ®Ã³·³ ¿ÏÀüÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¾Æ´Ï±â ¶§¹®¿¡ ÆÄ¿öµµ ºÎÁ·ÇÏ°í ¹®¹ýµµ Á» ´ú Ä£¼÷ÇÕ´Ï´Ù. ±×·¡¼­ ÀÌ·± °æ¿ì´Â ÆÞ(Perl)À̳ª ÆÄÀ̽㠵îÀÇ ½ºÅ©¸³Æ® ¾ð¾î¸¦ »ç¿ëÇϱ⵵ ÇÕ´Ï´Ù. ½ºÅ©¸³Æ® ¾ð¾î´Â ¼Ð ¸í·ÉÀ» ¼Ð ½ºÅ©¸³Æ®¿¡ ºñÇØ Å« ºÒÆí ¾øÀÌ ½ÇÇà½Ãų ¼ö ÀÖ°í ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼­ÀÇ ÆÄ¿öµµ °®°í ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Â ¹Ý¸é ¹è¿ö¾ß ÇÒ ¾ð¾î°¡ Çϳª ´õ ´Ã°í ÀÌ·± ·ùÀÇ ÀÛ¾÷À» À§ÇØ ÀÌ¹Ì ¸¸µé¾îÁø °ÍµéÀÌ ¸¹Áö ¾Ê´Ù´Â ¹®Á¦°¡ ÀÖ½À´Ï´Ù. °á±¹ ¶Ç´Ù½Ã ¼±ÅÃÀÇ ¹®Á¦·Î ±Í°áµË´Ï´Ù.

Âü°í·Î ÇÊÀÚÀÇ ¼±ÅÃÀº °£´ÜÇÑ °æ¿ì´Â ¼Ð ½ºÅ©¸³Æ®, Á» º¹ÀâÇØÁö¸é ÆÄÀ̽ãÀÔ´Ï´Ù. Áß¿äÇÑ °ÍÀº À⹫¸¦ ¸ðµÎ ÀÚµ¿È­Çؼ­ ÇÁ·Î±×·¡¸Ó°¡ °³¹ßÇÑ °ÍÀ» ½±°Ô Å×½ºÆ®ÇÏ°í ¶Ç ½ÇÁ¦ ¼­ºñ½º¿¡ ½±°Ô ¹Ý¿µÇÒ ¼ö ÀÖ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. ÇÊ¿äÇÏ´Ù¸é ¾î¶² µµ±¸¶óµµ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â À¯¿¬ÇÑ »ç°í¹æ½ÄÀÌ ÇÊ¿äÇÕ´Ï´Ù.

°ÔÀ¸¸¦ ¼ö ÀÖ´Â ±Ç¸®
¡°Àΰ£Àº ´©±¸³ª °ÔÀ¸¸¦ ±Ç¸®°¡ ÀÖ´Ù.¡± Æú ¶óÆÄ¸£Å©ÀÇ ¡º°ÔÀ¸¸¦ ¼ö ÀÖ´Â ±Ç¸®¡»¿¡ ³ª¿À´Â ¸»ÀÔ´Ï´Ù. ÀÌ Ã¥¿¡¼­´Â ÀÏÀÇ ³ë¿¹°¡ µÇ¾î°¡´Â Çö´ëÀε鿡°Ô »îÀÇ ¸ñÀû¿¡ ´ëÇØ ´Ù½Ã ÇÑ ¹ø »ý°¢Çغ¼ °ÍÀ» ¿ä±¸ÇÏ¸ç ¶ÇÇÑ ¹«ÀÛÁ¤ ºÎÁö·±Çϱ⸸ ÇÑ °ÍÀÌ È¿À²ÀûÀÌÁöµµ ¾Ê´Ù°í ¸»ÇÕ´Ï´Ù.

ÇÁ·Î±×·¡¸Ó¿¡°Ôµµ ÀÌ ¸»Àº Àû¿ëµË´Ï´Ù. ÁÖ¾îÁø ÀÏÀº ¹«Á¶°Ç ¿­½ÉÈ÷ ÇÏ°í º¸ÀÚ´Â »ý°¢¿¡ ³°Àº ¹æ½Ä´ë·Î ¹¬¹¬È÷ Áö°Ü¿î ÀÏÀ» ÇØ³»´Â °ÍÀº °³Àο¡µµ Á¶Á÷¿¡µµ ¹Ù¶÷Á÷ÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ°Ç Á¶Á÷ÀÇ ÀÔÀå¿¡¼­µµ »ý»ê¼º Çâ»óÀ» ÇÒ ¼ö ÀÖ´Â ±âȸ¸¦ ³õÄ¡±â Çϱ⠶§¹®¿¡ ¶Ç´Ù¸¥ ÀǹÌÀÇ Å¾÷ÀÔ´Ï´Ù. ÇÁ·Î±×·¡¸Ó´Â ±ÍÂúÀº ÀÏ¿¡ ´ëÇØ °ÔÀ»·¯Á®¾ß ´õ ³ªÀº ¹æ¹ýÀ» ã¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ÁöÆÛÀÇ ¹ß¸íµµ ±¸µÎ²öÀ» ¸Å±â ±ÍÂú¾ÆÇÏ´Â »ç¶÷ÀÌ ÇØ³½ °ÍÀÌ°í ¸¹Àº ¹ß¸íµéÀÌ °ÔÀ¸¸§ÀÇ ¼Ò»êÀÔ´Ï´Ù.

ÇÁ·Î±×·¡¸Ó¿¡°Ô ÀÌ·± °ÔÀ¸¸§Àº ÀÌ¹Ì ±Ç¸®¸¦ ³Ñ¾î¼­ Àǹ«ÀÔ´Ï´Ù.

¹°·Ð °ÔÀ¸¸§¸¸À¸·Î´Â ÃæºÐÇÏÁö ¾Ê½À´Ï´Ù. ¸¶³É °ÔÀ»·¯Áö±â¸¸ ÇØ¼­´Â ±ÍÂúÀº ÀÏÀ» ÇÏÁö ¾Ê°Ô µÉ »ÓÀÌ°í ´õ ³ªÀº ¹æ½ÄÀ¸·Î ÇÏ°Ô ÇÏÁø ¸øÇÕ´Ï´Ù. °á±¹ ÇÒ ÀÏÀ» Çϸ鼭 Á» ´õ °ÔÀ»·¯Áö±â À§Çؼ­´Â ±ÍÂúÀ½À» ÇØ°áÇÏ´Â °úÁ¤¿¡¼­ÀÇ ºÎÁö·±ÇÔÀº ÇÊ¿äÇÕ´Ï´Ù. ±¸µÎ²öÀ» ¸Å±â ±ÍÂú¾Æ ÇÏ´Â »ç¶÷ÀÌ ÁöÆÛ¸¦ ¹ß¸íÇÏ´Â ¼ö°í¸¦ ÇØ¾ß ÇßµíÀÌ ¸»ÀÌÁÒ. ±×¸®°í ±âÁ¸ÀÇ ¹æ½ÄÀ» °³¼±ÇØ¾ß Çϱ⠶§¹®¿¡ ¾î´À Á¤µµÀÇ Ã¢ÀǼºµµ ÀÖ¾î¾ß ÇÕ´Ï´Ù.

¡®¿ì¸®´Â ÀÌÁ¦±îÁö ÀßÇØ¿Ô´Ù¡¯´Â ³í¸®¿¡ ºüÁö´Â °Í ¶ÇÇÑ °æ°è ´ë»óÀÔ´Ï´Ù. Çѹø ¼º°øÀ» °ÅµÐ °æÇèÀÌ ÀÖ´Â Á¶Á÷Àº ÀڽŵéÀÇ ¹æ½ÄÀÌ ¼º°øÀ» °¡Á®¿Ô±â ¶§¹®¿¡ ½±°Ô ¸Å³Ê¸®Áò¿¡ ºüÁý´Ï´Ù. ÇÏÁö¸¸ IT ¼¼°è´Â ºü¸£°Ô ¹ßÀüÇϰí ÀÖ°í ¿¹Àü¿¡´Â È¿À²ÀûÀ̾ú´ø ¹æ½ÄÀÌ ´õ È¿À²ÀûÀÎ ±â¼úµéÀÌ ³ª¿È¿¡ µû¶ó ¿ÀÈ÷·Á ¹ß¸ñÀ» ºÙÀâ°í ÀÖ´Â °æ¿ìµµ ¸¹´Ù´Â »ç½ÇÀ» ±â¾ïÇØ¾ß ÇÕ´Ï´Ù.

±×·³ ÀÌ·± ÀÚµ¿È­·Î Àý¾àÇÑ ½Ã°£µéÀº ¾î¶»°Ô ½á¾ß ÇÒ±î¿ä? ¹°·Ð ´õ °ÔÀ»·¯Áö±â À§Çؼ­ ÇÑ ÀϵéÀÌÁö¸¸ ±×·¸´Ù°í Á¤¸»·Î °ÔÀ»·¯Á®¼­´Â °ï¶õÇÕ´Ï´Ù. ÇÁ·Î±×·¡¸ÓÀÇ °ÔÀ»·¯Áú ±Ç¸®´Â ´Ü¼øÇÑ ¹Ýº¹ ÀÛ¾÷¿¡¸¸ ÇØ´çµÇ´Â °ÍÀÔ´Ï´Ù. ÁÁÀº °³¹ß ȯ°æÀ¸·Î ÀÎÇØ Àý¾àÇÑ ½Ã°£µéÀº Á» ´õ âÁ¶ÀûÀÎ ÀÏÀ» Çϴµ¥ ÀçÅõÀÚÇØ¾ß ÇÕ´Ï´Ù. ÇÁ·Î±×·¡¹Ö ÀÚü¿¡ ÁýÁßÇÏ´Â °Íµµ ÁÁ°í Á» ´õ ³ôÀº ¼öÁØÀÇ ÀÚµ¿È­¿¡ µµÀüÇØº¸´Â °Íµµ ÁÁ½À´Ï´Ù. °³¹ß ȯ°æ ±¸Ãà °úÁ¤¿¡¼­ °æÇèÇÏ°Ô µÈ °ÍµéÀ» °øÀ¯Çغ¸´Â °Íµµ ¿©·¯ »ç¶÷¿¡°Ô À¯ÀÍÇÑ °á°ú°¡ µÉ °ÍÀÔ´Ï´Ù.

ÇÐâ ½ÃÀý ¹è¿ü´ø ·¯´ÙÀÌÆ® ¿îµ¿(Luddite Movement)À» ±â¾ïÇÒ °ÍÀÔ´Ï´Ù. »ê¾÷Çõ¸í ÀÌÈÄ ±â°è°¡ Àΰ£ÀÌ ÇÒ ÀÏÀ» ´ëüÇϱ⠽ÃÀÛÇϸ鼭 ¸¹Àº »ç¶÷µéÀÌ ÀÏÀÚ¸®¸¦ ÀÒ°í Àӱݵµ ±Þ¶ôÇß½À´Ï´Ù. ±×·¡¼­ ³ëµ¿ÀÚµéÀÌ µé°í ÀϾ¼­ ±â°è¸¦ ÆÄ±«ÇÏ°í ´Ù´Ï´Â ºñ¹Ð Á¶Á÷À» °á¼ºÇÑ °ÍÀÌ ¹Ù·Î ·¯´ÙÀÌÆ® ¿îµ¿ÀÔ´Ï´Ù.

ÇÁ·Î±×·¡¸Ó¿¡°Ôµµ ÀÌ·± ÀÏÀÌ ´ÚÄ¡Áö ¸»¶õ ¹ýÀÌ ¾ø½À´Ï´Ù. ±â°è°¡ ÇÒ ¼ö ÀÖ´Â ÀÏÀº ±â°è¿¡ ¸Ã±â°í Á» ´õ âÁ¶ÀûÀÎ ÀÏÀ» ÇÒ ÁÙ ¾Ë¾Æ¾ß ±â°è¿¡°Ô ÀÏÀÚ¸®¸¦ »©¾Ñ±âÁö ¾Ê°ÚÁÒ. Ant¶ó´Â À̸§¿¡µµ ÀÌ·± »ý°¢ÀÌ ´ã°Ü ÀÖ½À´Ï´Ù. ¸ð ±¤°í Ä«ÇÇó·³ ´Ü¼ø ¹Ýº¹ ÀÛ¾÷Àº ºÎÁö·±ÇÑ °³¹Ì¿¡°Ô ¸Ã±â°í ´ç½ÅÀº ÇÁ·Î±×·¡¹ÖÀ» Áñ±â¶ó´Â ¶æÀÎ °ÅÁÒ.

»ç½Ç ÀÚ½ÅÀÇ À⹫¸¦ ½º½º·Î ÀÚµ¿È­ÇÒ ¼ö ÀÖ´Â »ç¶÷Àº ÇÁ·Î±×·¡¸Ó ¹Û¿¡ ¾ø½À´Ï´Ù. À̰ÍÀÌ ÇÁ·Î±×·¡¸Ó¶ó´Â Á÷¾÷ÀÇ ¸Å·ÂÀ̱⵵ ÇÏÁÒ. ÇÏ·ç Àϰú¿¡¼­ °¡Àå ¸¹Àº ½Ã°£À» ÀÏÇϸ鼭 º¸³»´Âµ¥ ÀÌ ÀÏÀÌ Áñ°Å¿ö¾ß ÇÏÁö ¾Ê°Ú½À´Ï±î. Áñ°Å¿î ÇÁ·Î±×·¡¹ÖÀ» Çϴ ù°ÉÀ½Àº ±ÍÂú°í ÀÏÀ» Á¦°ÅÇÏ´Â °ÍÀÔ´Ï´Ù. ±ÍÂúÀº °ÍµéÀ϶û ¸ðµÎ ÄÄÇ»ÅÍ¿¡ ¸Ã±â°í ¿ì¸®´Â ÇÁ·Î±×·¡¹ÖÀ» Áñ°Ü º¾½Ã´Ù.@

* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
°ü·Ã±â»ç
[°´Ã¼ÁöÇâ SW ¼³°èÀÇ ¿øÄ¢] ¨ç °³¹æ-Æó¼â ¿øÄ¢
[¼¼·ÃµÈ ÀÚ¹Ù À¥ ÇÁ·Î±×·¡¸Ó µÇ±â] ¨ç ±âº»±â °¥°í´Û±â
´å³Ý ÇÁ·¹ÀÓ¿öÅ© 2.0°ú °³¹ß ¾ð¾îÀÇ º¯È­
³»°Ô µü ¸Â´Â SW °³¹ß ÇÁ·¹ÀÓ¿öÅ©, ¾îµð¿¡ ÀÖÀ»±î?
ÀÚ¹ÙÀÇ »õ·Î¿î ³¯°³, ±×·çºñ
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[DDD ¨è] UI ÇÁ·ÎÅäŸÀÌÇÎ
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[Å×Å©º¸µå ½ÃÁð3]MS, ´ÑÅÙµµ À§(Wii)¿¡ 'ÃÊ´ëÇü ¾÷µ¥ÀÌÆ®'·Î ¸ÂºÒÀü [00:08:26]
±âȹ ·ùÁØ¿µ ±âÀÚ, ÁøÇà ¹ÚÀ±¹Ì, Á¦ÀÛ À¯È¸Çö PD
[CNET ¿µ¹®¹æ¼Û]3G¾ÆÀÌÆù ¸ÅÀ帶´Ù 'ºÏÀûºÏÀû'¡¦ÀϺΠ¸ÅÀå ǰ±ÍÇö»óµµ [00:01:56]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...
ÀÎÅÍ³Ý ¹ðÅ· ºê¶ó¿ìÀú´Â µû·Î ÀÖ´Ù...
´ÙÀ½ vs Á¶Áßµ¿, Á¤¸éÃæµ¹·Î Ä¡...
ÆÃÅ©¿þ¾î, ¾ÆÀ̳ªºñ 7¿ù ¾÷µ¥ÀÌÆ®...
Çѱ¹IBM, 23ÀÏ 'ºò±×¸°2.0...
ÆÇµµ¶óTV, e½ºÆ÷Ã÷ ±¹°¡´ëÇ¥ ¼±...
ÆæÅ¸½Ã½ºÅÛ, BI ¼Ö·ç¼Ç »ç¾÷ °­...
½Ã¸¸ÅØ, ³×Æ®¿öÅ© Á¢±Ù Á¦¾î CC...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.