2006-10-27

»õ»¡°£ °ÅÁþ¸», Åë°è





¾î´À ¸Åü¿¡¼­ ¾î¶² ÁÖÁ¦¿¡ ´ëÇÑ Åë°è¸¦ ³»°í
À̸¦ ºÐ¼®ÇÏ´Â ±â»ç¸¦ º¸¸é
º¸Åë Á¤¸» ±×·²²¨¶ó°í ¹Ï´Â °æ¿ì°¡ ¸¹´Ù.

ÀÌ Ã¥Àº ±×·± ¹ÏÀ½ÀÌ ¾ó¸¶³ª ºÎÀûÀýÇÑÁö È®ÀνÃÄÑÁØ´Ù.
ÇѸ¶µð·Î ¸»Çϸé Åë°è·Î ¾î¶»°Ô
»ç±â¸¦ Ä¥ ¼ö ÀÖ´ÂÁö °¡¸£ÃÄÁִ åÀ̶ö±î? -_-;

µ¥ÀÌÅÍ Á¶»çºÎÅÍ ÇØ¼®¿¡ À̸£±â±îÁö
°´°ü(?) Å׵θ® ³»¿¡¼­
¾î¶»°Ô Åë°è¸¦ ¿Ö°îÇÒ ¼ö ÀÖ´ÂÁö
±× ¹æ¹ýÀ» ¾Ë°í ½Í´Ù¸é ÀÌ Ã¥À» º¸¶ó.

ÀúÀÚÀÇ ¸»Ã³·³ »ç±â¸¦ Ä¡±â À§Çؼ­°¡ ¾Æ´Ï¶ó
»ç±â¸¦ ´çÇÏÁö ¾Ê±â À§Çؼ­¶óµµ ÀÐÀ» ¸¸ÇÑ °¡Ä¡°¡ ÀÖ´Ù.
Åë°è¸¦ ´Ù·é´Ù´Â Åë³ä»ó
³­ÇØÇÑ ¼ýÀÚ¿Í °ø½ÄÀÌ ³­¹«ÇÒ ²¨¶ó´Â ¿¹»ó°ú´Â ´Þ¸®
ÆòÀÌÇÑ ¼³¸í´Ù.

ÀÌ Ã¥À» ´Ù ÀÐ°í ³ª¸é ÇѰ¡Áö ºÎÀÛ¿ëÀÌ »ý±ä´Ù.
¾î´À Åë°èµµ ½±°Ô ¹Ï¾îÁöÁö ¾Ê´Â´Ù´Â °ÍÀÌ´Ù. -_-;
¹º°¡ Àǵµ°¡ ¼¯¿©ÀÖ´ÂÁö?
µ¥ÀÌÅÍ ¼öÁý¿¡ ¿À·ù´Â ¾ø¾ú´ÂÁö?

¸ô¶úÀ» ¶§ ÆíÇÏ´ø »ç½ÇµéÀÌ
ÀÌÁ¦ ÀǽÉÀÇ ´ë»óÀÌ µÇ±â¶§¹®¿¡
¸Ó¸®°¡ Á» º¹ÀâÇÒ ¼öµµ... -_-;;



2006-10-25

ÆÀÀåÀÌ ½¬¿î°¡?



ȸ»ç¿¡¼­ ÇÏ´Â ½Ã½Ã²¬··ÇÑ(?) °­ÀÇ µµÁß
- °­»çºÐ¿¡°Ô´Â Á˼Û. -_- -
¿øÇÏ´Â ÀÎÀç»óÀÌ ¹«¾ùÀΰ¡¸¦ ¹¯ÀÚ
¿©·¯ »ç¶÷µéÀÌ ÀǰßÀ» ³»³õ¾Ò´Ù.

- Àû±ØÀûÀÎ »ç¶÷
- ÀÏ ÀßÇÏ´Â »ç¶÷
- ¸» ÀßÇϰí Àß µè´Â »ç¶÷

µîµî...

´Ùµé Æò¼Ò¿¡ ¿øÇÏ´Â ºÎÇÏÁ÷¿ø(?)ÀÇ ¸ð½ÀÀ»
¸»Çϱ⠹ٻڴõ¶ó.

³­ ºÎÇÏÁ÷¿øÀ̶ó´Â ´Ü¾îÁ¶Â÷ ¸¶À½¿¡ ¾ÈµéÁö¸¸,
±×º¸´Ù ´õ ³Ã¼ÒÀûÀÎ »ý°¢ÀÌ µé¾î
°è¼Ó ¸¶À½ÀÌ ºÒÆíÇß´Ù.

'Àú·¸°Ô ÈǸ¢ÇÑ »ç¶÷µéÀÌ °ú¿¬ ³» ¹Ø(??)¿¡¼­ ÀÏÇÏ°í ½ÍÀ»±î?'

ÆÀÀåµµ ÀÚ°ÝÀÌ ÀÖ¾î¾ß ÆÀÀåÀÌ´Ù.

ÈǸ¢ÇÑ »ç¶÷µéÀ» °Å´À¸®°í(?) ÀÏÇÏ°í ½Í´Ù¸é
±× ½º½º·Îµµ ÁÁÀº »ç¶÷À̾î¾ß µÇÁö ¾ÊÀ»±î?
Àΰ£ÀûÀ¸·Îµç ±â¼úÀûÀ¸·Îµç
¶Ç´Â ±× ¹«¾ùÀ¸·Îµç...

±×·± »ý°¢ÀÌ µéÀÚ ÀÚ¸®°¡ ¸÷½Ã ºÒÆíÇÏ´Ù.
³»°¡ ¿Ö ´É·Âµµ ¾ø´Â °÷¿¡ ÀÖ´ÂÁö... -_-;

ÇÏ±ä »ç¶÷Àº ¹«´É·ÂÇØÁú ¶§±îÁö ½ÂÁøÇÑ´Ù´ø°¡? OTL



2006-10-24

±Þü



ÀÏ¿äÀÏ ¿ÀÈÄ¿¡ °©ÀÚ±â Ã¼ÇØ¼­
¾îÁ¦±îÁö °ÅÀÇ ÀÌÆ² µ¿¾È °í»ýÇß´Ù.

¿¹°í¾øÀÌ ¼ÓÀÌ ¿ï··°Å¸®´Ï
Á¤¸» Âü±â Èûµé´õ±º. T_T;

¾ÆÇ °Íº¸´Ùµµ
±Ù½É¾î¸° ¸ð½ÀÀ¸·Î ³¯ ¹Ù¶óº¸´Â
¾Æ³»ÀÇ ½Ã¼±ÀÌ ´õ °ÆÁ¤µÆ´Ù.

'ÀÌÁ¦ ³» ¸öÀÌ ±×Àú ³» ¸öÀÌ ¾Æ´Ï·Î±¸³ª'
ÇÏ´Â °ÍÀ» ½Ç°¨Çß´Ù°í³ª ÇÒ±î?

Á¶±Ý ´õ ¿­½ÉÈ÷ ¿îµ¿ÇؾßÁö!
Á¶±Ý ´õ Èû³»¾ßÁö!

ps. ¾î¿ï·· ´õ¿ï·· °Å¸®´Â ¼Ó¶§¹®¿¡
½ÄÀº ¶¡À» È긮´Â Áß¿¡µµ
¿¾³¯ À§ÀεéÀº À°Ã¼ÀÇ ¾ÆÇĵµ ÀÇÁö·Î ±Øº¹Çߴٴµ¥
³ª´Â ±×°Ô ¿Ö ¾ÈµÉ±î¶ó´Â »ý°¢ÀÌ µé´õ¶ó.

±Û½ê... ³ª´Â ¿Ö ¾ÈµÉ±î? -_-;
¾Æ´Ô, ±×°Íµµ »½À̾úÀ»±î? -_-a



2006-10-18

ÀͽºÆ®¸² ÇÁ·Î±×·¡¹Ö, Á¦2ÆÇ





10¿©³âÀÇ Á÷Àå »ýȰ Áß¿¡¼­
³»°Ô Å« ¿µÇâÀ» Çà»çÇÑ Ã¥À» ²Å¾Æº¸¶ó¸é
ÀÌ Ã¥ÀÇ 1ÆÇÀ» »©³õÀ» ¼ö ¾ø´Ù.

¾Æ¸¶ 2000³â °æÀ¸·Î ±â¾ïÇϴµ¥,
Pragmatic Programmer¸¦ º¸´Ù°¡ XP¸¦ ¾Ë°ÔµÇ¾ú°í
±×¶§ºÎÅÍ ³» ÀÏ¿¡¼­ÀÇ °ü½É»ç°¡ ±ØÀûÀ¸·Î º¯Çß´Ù.

¿ø·¡ºÎÅÍ ±Í°¡ ¾ãÀº(?) Å¿ÀÎÁö ¸ð¸£°ÚÀ¸³ª,
1ÆÇ¿¡¼­ÀÇ ¼±µ¿(!)Àº
'¹Ù·Î À̰ÍÀÌ´Ù' ¶ó°í ´À³¥¸¸Å­
³»°Ô ÆÄ±Þ·ÂÀÌ Ä¿¼­ Çѵ¿¾È XP °ü·Ã ¼­Àû°ú ÀڷḸ ޵¶Çß´Ù.
(Áö±Ýµµ ¸ø ÀÐÀº Ã¥ÀÌ... OTL)

2ÆÇÀÌ ³ª¿Ô´Ù´Â ¼Ò½ÄÀ» ÀÍÈ÷ µè°í,
1ÆÇ°ú´Â ÆÇÀÌÇÏ°Ô ´Ù¸£´Ù´Â dz¹®À» Á¢ÇÑÁö ¿À·¡¿´Áö¸¸,
'¹¹°¡ ¹Ù²î¾úÀ¸·ª' ÇÏ´Â ¾ÈÀÌÇÑ »ý°¢¿¡
±×µ¿¾È °ü½ÉÀ» µÎÁö ¾Ê¾Ò´Ù.

±×·¯³ª ÀÌÁ¦¿Í¼­ ÀÌ Ã¥À» Á¢ÇÏ°í º¸´Ï,
Á¤¸» ¸¹À̵µ ¹Ù²î¾ú´Ù´Â °¨»óÀÌ °¡Àå °­ÇÏ´Ù.

±³Á¶ÀûÀÎ ¾îÅõ·Î XP¸¦ ÀïÃëÇ϶ó°í ¸»ÇÏ´ø ÀúÀÚ°¡
ÀÌÁ¦ ¼¼¿ùÀÇ Á¤Á¦°úÁ¤À» ÅëÇØ
ÇÑÃþ ¼ºÀåÇÑ ³íÁö¸¦ º¸¿©ÁÖ°í ÀÖ´Ù.

1ÆÇÀÌ ÆÄ¸©ÇÑ Ã»³âÀÇ ÇDzúÀ½À̾ú´Ù¸é
2ÆÇÀº Àå³âÀÇ ´É¼÷ÇÔ, À¯¿¬ÇÔÀÌ µ¸º¸ÀδÙ.

¿©ÀüÈ÷ Kent BeckÀÇ ±ú´ÞÀ½Àº À¯È¿Çϰí,
³ª´Â ±×ÀÇ °¡¸£Ä§À» ¾î¶»°Ô ³» »î¿¡ Àû¿ëÇÒÁö °í¹ÎÇÏ´Â ÁßÀÌ´Ù.
õÀç ÇÁ·Î±×·¡¸Ó°¡ ¾Æ´Ñ
Æò¹üÇÑ Àΰ£À¸·Î¼­ ÀÌ ¾÷°è¿¡¼­ »ì¾Æ³²±â À§Çؼ­...



Object-Oriented Reengineering Patterns





ÁøÁï¿¡ ÀоúÀ¸³ª ÀÌÁ¦»ç ¿Ã¸°´Ù.

°è¼Ó Àо·Á°í ÇÏ´Ù°¡
(¿Ö³Ä... ¾ã°Åµç. -_-; )
´Ù¸¥ ÀÏ¿¡ Ä¡¾î¼­ ¹ø¹øÈ÷ ±âȸ¸¦ °®Áö ¸øÇÏ´ø Â÷¿¡
refactoring °ü·Ã¼­¸¦ ÇѲ¨¹ø¿¡ ÀоÀÚ´Â
¾ß½ÉÂù... ÀÌ ¾Æ´Ï°í ¿ì¿¬ÇÑ(-_-) ÀÌÀ¯·Î °°ÀÌ Àоú´Ù.

ÀÌ Ã¥ÀÇ ÇÙ½ÉÀº Part 1, Reverse Engineering°ú
Reverse/Reengineering½Ã¿¡ code ºÐ¼® µµ±¸ÀÇ È°¿ë¿¡ ´ëÇÑ ¾ð±ÞÀ̶ó°í »ý°¢ÇÑ´Ù.

»ýÆÇ óÀ½º¸´Â source code°¡ ÁÖ¾îÁ³À» ¶§,
³ª¶ó¸é ¾î¶»°Ô ÇßÀ»±î?

¾Æ´Â »ç¶÷¿¡°Ô ¹°¾îº¸°í
¹®¼­°¡ ÀÖ´ÂÁö »ìÆì¼­ Àо°í
source¸¦ ÈȾ°í
½ÇÇà½ÃÄѼ­ breakpoint¸¦ °É°í ÇϳªÇϳª µû¶ó°¡º¸°í...

ÀÌ·± ¹æ¹ýµéÀ» patternÈ­ ÇÑ °ÍÀÌ
Part 1 Reverse EngineeringÀÇ ³»¿ëÀÌ´Ù.

¾ð¶æ º¸¸é, ±×°Ô ¹¹¾ß~ ¶ó°í
ºñ¿ôÀ»Áö ¸ð¸£°ÚÁö¸¸,
¸Ç¶¥¿¡ ÇìµùÇØº» »ç¶÷(!)Àº ¾È´Ù.

¸·»ó ´ÚÄ¡¸é ´ëºÎºÐÀº ¹è°°í Æ÷±âÇϰųª
»óºÎÀÇ Çù¹Ú¾Æ´Ñ Çù¹Ú¿¡ ¿ï¸ç °ÜÀÚ¸Ô±â·Î
¾î¶»°Ôµç ÇØ³»°Å³ª...

PatternÀÌ ÁÁÀº°Ô ¹º°¡?
¾Æ´Â ³»¿ëÀ» Àß Á¶Á÷È­ÇØ³õÀº °Í ¾Æ´Ñ°¡?

°Ô´Ù°¡ ÀÌ ³»¿ëÀÌ ²Ï³ª °ø°¨°¡´Â ³»¿ëµéÀÌ´Ù.
°¡Àå È¿À²ÀûÀ¸·Î ³²ÀÇ source¿¡ Á¢±ÙÇØ³ª°¡´Â
°úÁ¤À̶ó°í º¸¸é ÁÁ°Ú´Ù.
±×·± Àǹ̿¡¼­ ÈǸ¢ÇÑ Ã¥ÀÌ´Ù!!!

Part 2 ReengineeringÀº refactoring°ú °ÅÀÇ À¯»çÇÏ´Ù.
µû¶ó¼­ °ü·Ã Ç׸ñÀº ´ëÃæ ÈÈ°í ³Ñ¾î°¡µµ ±×¸¸.

´Ù¸¸ code ºÐ¼® µµ±¸¸¦ ÀÌ¿ëÇÑ ¹æ¹ýÀº ³ª¸§´ë·Î Âü½ÅÇÏ´Ù.
¾ðÁ¨°¡ µµ¿òÀ» ¹ÞÀ» ±âȸ°¡ ÀÖÀ» °ÍÀÌ´Ù.

»õ·Î¿î ȸ»ç¿¡ ÀÔ»çÇÏ¿©,
ÆÀ¿øµéÀÌ ¸¸µé¾î³õÀº ¹æ´ëÇÑ code¸¦ º¸°í
¹«¾ùºÎÅÍ ÇØ¾ßÇÒ Áö ¸Á¿¬ÀÚ½ÇÇÑ ´À³¦ÀÌ µç´Ù¸é
ÀÌ Ã¥À» Àо½Ã¶ó.
Áö±Ý ÇØ¾ßÇÒ todo list°¡ ¹«¾ùÀÎÁö ¾Ë ¼ö ÀÖÀ»Å״ϱî...

±×·± Àǹ̿¡¼­...
³­ ¿Ö ÀÌ Ã¥À» »¡¸® ÀÐÁö ¾ÊÀº °ÍÀ̳Ä... T_T;

ps. ±×³ªÀú³ª Áý¿¡ ³²¾ÆÀÖ´Â 8±ÇÀº ¾ðÁ¦ ¿Ã¸°´Ù?
³»¿ëÀÌ ±â¾ïÀ̳ª ³¯Áö... -_-;



2006-10-16

ÆÐÅÏÀ» Ȱ¿ëÇÑ ¸®ÆÑÅ͸µ





Pattern°ú refactoringÀÇ °ü°è´Â?

¹ÐÁ¢ÇÑ ³»¿¬ÀÇ(?) °ü°è... -_-;

´Ü¼øÇÑ ¼öÁØÀÇ refactoringÀ̶ó¸é ¸ð¸¦±î
°í¼öÁØÀÇ ±ò²ûÇÑ refactoringÀ» ÇÏ·Á¸é
pattern¿¡ ´ëÇÑ Áö½ÄÀº ÇʼöÀûÀÌ´Ù.

RefactoringÀ» °è¼Ó Àû¿ëÇÏ´Ù º¸¸é
¾î´À»õ patternÀ» Àû¿ëÇϰí ÀÖÀ½À» ¾Ë°ÔµÈ´Ù.
¹«¾ùÀÌ ¾ÕÀÌ°í ¹«¾ùÀÌ µÚÀÎÁö
³ª·Î¼­´Â µüÈ÷ ¼³¸íÇÏ±â ¾î·Æ´Ù.

±×·¯³ª, ÀÌ Ã¥ÀÇ ÀúÀÚ´Â patternÀ» ÁöÇâÇÏ´Â refactoringÀ» ¸»ÇÑ´Ù.
Áï refactoringÀ» ÇÒ ¶§, ¾î¶² patternÀ» Àû¿ëÇÒ °ÍÀÎÁö
¹Ì¸® °í¹ÎÇØº¸¶ó´Â °Í °°´Ù.
±×·¡¾ß ¹æÇ⼺ÀÌ »ý±ä´Ù³ª? -_-;

ÀúÀÚÀÇ ÁÖÀå¿¡ µ¿ÀÇÇÏ´ø ±×·¸Áö ¾Ê´ø°£¿¡
µÎ ÁÖÁ¦°¡ ¼­·Î ÇѸö°ú °°Àº °ÍÀÓÀº
µÎ¸»Çϸé ÀܼҸ®´Ù.

±×·¯³ª, ±× µ¿¾È µÎ ÁÖÁ¦¸¦ ÅëÇÕÇÏ¿© ¼Ò°³ÇÑ Ã¥À¸·Î´Â
óÀ½À̶ó°í ÇÏ´Ï,
¸¸¾à µ¶ÀÚ°¡ ÇÑ ºÐ¾ß¿¡¸¸ ´É¼÷Çϰųª
µÎ ºÐ¾ß°¡ ¾î¶»°Ô ¿¬°áµÇ´ÂÁö ¸ð¸£°Ú´Ù¸é
ÀÌ Ã¥ÀÌ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

³» °³ÀÎÀûÀÎ ´À³¦À» ¸»ÇÑ´Ù¸é...
(¾Æ¸¶ ÁÁÀº ¼Ò¸®°¡ ¾È³ª¿Ã... -_-; )

ÁÁÀº ½ÃµµÀ̱ä ÇÏÁö¸¸,
ÁÖÁ¦¿Í ³»¿ëÀÌ °Ñµ·´Ù! -_-;

Refactoring °úÁ¤À» ¼³¸íÇÏ´Â ºÎºÐÀº
Â÷¶ó¸® ±¸Ã¼ÀûÀÎ »ç·Ê¸¦ º¸¿©ÁÖ°í
±×°É ÀϹÝÈ­ÇÏ´Â ¹æ½ÄÀ¸·Î ½è´Ù¸é
´õ ÀÌÇØ°¡ Àß µÇ¾úÀ» °ÍÀÌ´Ù.

¶Ç, ¾î¶² patternÀ» Àû¿ëÇØ¼­ refactoringÀ» ÇÒ °ÍÀÎÁö
±× °áÁ¤ °úÁ¤¿¡ ´ëÇÑ ¼³¸íÀÌ ÇÙ½ÉÀÏÅÙµ¥
ÀÌ¿¡ ´ëÇÑ ¾ð±ÞÀÌ ¸¹ÀÌ ºÎÁ·ÇÏ´Ù.

´À´å¾øÀÌ ´äÀ» ³»³õÀ¸¸é ÀÌÇØÇÏ±â ¾î·ÆÁö ¾ÊÀ»±î?
´ÜÁö patternÀ» ¾î¶»°Ô Àû¿ëÇϴ°¡¿¡ ´õ °ü½ÉÀÌ ½Ç·Á¼­
¸ñÀû(refactoring)°ú µµ±¸(pattern)ÀÇ ¹«°Ô°¡ µÚ¹Ù²ï µíÇÑ ´À³¦ÀÌ´Ù.



2006-10-02

Agile Web Development with Rails





Á¤¸» ´ë¼¼´Â Rails?

Çϵµ ¿©±âÀú±â¼­ Ruby On Rails¸¦ ¸»ÇÏ´ø Åë¿¡
ÀÍÈ÷ µè°í´Â ÀÖ¾úÁö¸¸...
Web °³¹ßÀÌ ÀÌ·¸°Ô±îÁö ½¬¿öÁ®µµ µÇ³ª? -_-;

Ruby´Â Àß ¸ð¸£°í,
Rails´Â ´õ Àß ¸ð¸£Áö¸¸
ÀÌ Ã¥ÀÇ 1/3À» Àдµ¥´Â ÀüÇô ¹®Á¦°¡ ¾ø¾ú´Ù.
(´õ ÀÐÁö´Â ¸øÇß´Ù´Â ¸»¾¸. -_-)

Ruby¿¡ ´ëÇÑ °£´ÜÈ÷ ¼Ò°³¸¸À¸·Î ¹«ÀåÇϰí,
Rails¸¦ ¹è¿ì¸ç ÇϳªÇϳª µû¶ó°¡´Ù º¸¸é
´Ü ¸î ÁÙ ÄÚµùÀ¸·Î ±Ù»çÇÑ ¼îÇθô(?) ºñ½º¹«·¹ÇÑ
Web app °³¹ßÀÌ ³¡³­´Ù.

ÀÌ·¸°Ô ½¬¿ï ¼ö°¡... -o-;
¸¸¾à ¾ð¾î¿¡ ´ëÇÑ Á¦¾à¸¸ ¾ø´Ù¸é
°³ÀÎÀûÀ¸·Î »ç¿ëÇÒ °£´ÜÇÑ Web app´Â
¾ðÁ¦µçÁö ÀÌ°É·Î ÇØ°áÇÏ°í ½Í´Ù.

Ruby¶ó´Â ¾ð¾î¿¡ ´ëÇØ Á¶±Ý ´õ ¿¬±¸Çϰí,
ÀÌ Ã¥ÀÇ ³ª¸ÓÁöÀÎ Rails framework ¼Ò°³¸¦ Á¶±Ý ´õ »ìÆìº»´Ù¸é
´õ ÀÚÀ¯·Ó°Ô Ȱ¿ëÇÒ ¼ö ÀÖÀ» °Í °°´Ù.

Èï¹Ì·Î¿î ÁÖÁ¦´Ù.
³ªÁß¿¡ Á¶±Ý ´õ ÆÄºÁ¾ß°Ú´Ù. :)