- °³¿ä
- ¸ñ·Ï
- ±¸Á¶Ã¼ÀÇ Å©±â¸¦ 2ÀÇ ½Â¼ö·Î Àâ¾Æ¶ó
- ½ºÀ§Ä¡¹®¿¡ µé¾î°¡´Â ÄÉÀ̽ºÀÇ Á¾·ù¸¦ ÁÙ¿©¶ó
- ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º¸¦ ½ºÀ§Ä¡¹® ¾ÕÂÊ¿¡ µÖ¶ó
- Å« Å©±âÀÇ ½ºÀ§Ä¡¹®ÀÌ ÀÖ´Ù¸é, 2Áß ½ºÀ§Ä¡¹®À¸·Î ³ª´²¶ó
- Áö¿ª º¯¼öÀÇ ¼ýÀÚ¸¦ ÁÙ¿©¶ó
- Áö¿ª º¯¼ö´Â °¡´ÉÇÑ ÇÑ Á¦ÀÏ ¾ÈÂÊÀÇ ½ºÄÚÇÁ¿¡¼ ¼±¾ðÇ϶ó
- ÆÄ¶ó¹ÌÅÍÀÇ ¼ýÀÚ¸¦ ÁÙ¿©¶ó
- 4¹ÙÀÌÆ®(INTÀÇ Å©±â)º¸´Ù Å« ÆÄ¶ó¹ÌÅͳª ¸®ÅϰªÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÂüÁ¶¸¦ Ȱ¿ëÇØ¶ó
- ¸®ÅϰªÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¾Æ¿¹ void ·Î ¼±¾ðÇØ¶ó
- ÄÚµå¿Í µ¥ÀÌÅ͸¦ ¸¸µé ¶§, locality of reference¸¦ °í·ÁÇØ¶ó
- CHAR³ª SHORTº¸´Ù´Â INT¸¦ »ç¿ëÇ϶ó
- °¡º¿î »ý¼ºÀÚ¸¦ ¼±¾ðÇ϶ó
- ´ëÀÔº¸´Ù´Â Ãʱâȸ¦ »ç¿ëÇ϶ó
- »ý¼ºÀÚ ÃʱâÈ ¸ñ·ÏÀ» ÀÌ¿ëÇ϶ó
- "³ªÁßÀ» ´ëºñÇÑ" °¡»ó ÇÔ¼ö¸¦ ¼±¾ðÇÏÁö ¸»¾Æ¶ó
- 1~3 ¶óÀÎ Á¤µµÀÇ ÇÔ¼ö¸¸ ÀζóÀÎ ÇÔ¼ö·Î ¼±¾ðÇ϶ó
- ¸µÅ©
1 °³¿ä
C/C++ ÄÚµå ÃÖÀûÈ¿Í °ü·ÃµÈ ÆÁµéÀ» Àû¾îµÎ±â À§ÇÑ ÆäÀÌÁö. »ç½Ç ÀÚÀßÇÑ Å×Å©´Ðº¸´Ù´Â, Á¦ÀÏ ´À¸° ºÎºÐÀ» ã¾Æ³»¾î ÁýÁßÀûÀ¸·Î ÃÖÀûÈÈ´Â °ÍÀÌ ÈξÀ Áß¿äÇÏÁö¸¸... ¾Ë¾Æ¼ ³ª»Ü °Ç ¾ø´Ù.
2 ¸ñ·Ï
2.1 ±¸Á¶Ã¼ÀÇ Å©±â¸¦ 2ÀÇ ½Â¼ö·Î Àâ¾Æ¶ó
±¸Á¶Ã¼ÀÇ ¹è¿À» À妽ÌÇÏ´Â Äڵ尡 ÀÖ´Ù¸é, ÄÄÆÄÀÏ·¯´Â ±¸Á¶Ã¼ÀÇ Å©±â * À妽º¿Í °°Àº ¹æ½ÄÀ¸·Î ÄÄÆÄÀÏÀ» ÇÑ´Ù. ÀÌ ¶§ ±¸Á¶Ã¼ÀÇ Å©±â°¡ 2ÀÇ ½Â¼ö¶ó¸é °öÇϱ⠴ë½Å¿¡ ½¬ÇÁÆ® ¿¬»êÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Ë´Ù½ÃÇÇ °öÇϱ⺸´Ù´Â ½¬ÇÁÆ®°¡ ºü¸£´Ù.
2.2 ½ºÀ§Ä¡¹®¿¡ µé¾î°¡´Â ÄÉÀ̽ºÀÇ Á¾·ù¸¦ ÁÙ¿©¶ó
ÄÉÀ̽ºÀÇ Á¾·ù°¡ ÀûÀº ½ºÀ§Ä¡¹®ÀÌ ÀÖÀ» °æ¿ì, ¿äÁò ÄÄÆÄÀÏ·¯´Â if-else ±¸¹® ´ë½Å¿¡ ÄÉÀ̽º°ª¿¡ ÀǰÅÇÑ Á¡ÇÁ Å×À̺íÀ» »ý¼ºÇÑ´Ù. ÇÔ¼ö Æ÷ÀÎÅÍÀÇ ¹è¿À» »ý¼ºÇÑ´Ù°í º¸¸é ºñ½ÁÇÒ °ÍÀÌ´Ù. ¾î·µç ÀÌ °æ¿ì, if-else¸¦ ¿©·¯ °³ Â÷·Ê·Î üũÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ¹Ù·Î Á¡ÇÁ¸¦ ÇàÇϱ⠶§¹®¿¡ ºü¸£´Ù.
2.3 ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º¸¦ ½ºÀ§Ä¡¹® ¾ÕÂÊ¿¡ µÖ¶ó
¾Ë´Ù½ÃÇÇ ½ºÀ§Ä¡¹®Àº ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ¼ if-else ±¸¹®À¸·Î º¯È¯µÈ´Ù. Äڵ尡 ¼öÇàµÉ ¶§´Â À§¿¡¼ºÎÅÍ Â÷·Ê·Î Ã¼Å©ÇØ ³ª°¡¸é¼, ¸Â¾Æ¶³¾îÁö´Â if ±¸¹®À» ½ÇÇàÇÏ°Ô µÈ´Ù. ±×·¯¹Ç·Î ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º°¡ À§ÂÊ¿¡ ÀÖ´Ù¸é, ¹ØÂʱîÁö °¡Áö ¾Ê¾Æµµ µÇ¹Ç·Î ºü¸£´Ù.
2.4 Å« Å©±âÀÇ ½ºÀ§Ä¡¹®ÀÌ ÀÖ´Ù¸é, 2Áß ½ºÀ§Ä¡¹®À¸·Î ³ª´²¶ó
ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º¸¦ ½ºÀ§Ä¡¹® ¾ÕÂÊ¿¡ µÎ´Â °ÍÀº, ÄÄÆÄÀÏ·¯¿¡ µû¶ó¼´Â ¿øÇÏ´Â °á°ú°¡ ³ª¿ÀÁö ¾ÊÀ» ¼öµµ ÀÖ´Ù. ¾î¶² ÄÄÆÄÀÏ·¯´Â ÄÚµå »ó¿¡ ÀÖ´Â ÄÉÀ̽º¹®ÀÇ ¼ø¼¸¦ ¹«½ÃÇϰí Àڱ⠸¶À½´ë·Î ¼ø¼¸¦ Á¤Çϱ⠶§¹®ÀÌ´Ù. ÀÌ·± °æ¿ì, 2Áß ½ºÀ§Ä¡¹®À¸·Î ºñ½ÁÇÑ °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
ºñ±³ ¿¬»êÀÇ È½¼ö¸¦ ÁÙÀ̱â À§Çؼ´Â ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º´Â À§ÂÊ¿¡´Ù µÎ°í, ÀÚÁÖ »ç¿ëÇÏÁö ¾Ê´Â ÄÉÀ̽º´Â default ÄÉÀ̽º ¾È¿¡´Ù°¡ ½ºÀ§Ä¡¹®À» Çϳª ´õ ¸¸µé¾î¼ Áý¾î³Ö´Â´Ù.
½ºÀ§Ä¡¹® ³ª´©±â
pMsg = ReceiveMessage();
switch (pMsg->type)
{
// ÀÚÁÖ »ç¿ëÇÏ´Â ÄÉÀ̽º´Â ¿©±â¿¡´Ù µÐ´Ù.
case FREQUENT_MSG1:
handleFrequentMsg1();
break;
case FREQUENT_MSG2:
handleFrequentMsg2();
break;
. . .
case FREQUENT_MSGn:
handleFrequentMsgn();
break;
default:
// ÀÚÁÖ »ç¿ëÇÏÁö ¾Ê´Â ÄÉÀ̽º´Â ÀÌ ¾È¿¡´Ù µÐ´Ù.
switch (pMsg->type)
{
case INFREQUENT_MSG1:
handleInfrequentMsg1();
break;
case INFREQUENT_MSG2:
handleInfrequentMsg2();
break;
. . .
case INFREQUENT_MSGm:
handleInfrequentMsgm();
break;
}
}
2.5 Áö¿ª º¯¼öÀÇ ¼ýÀÚ¸¦ ÁÙ¿©¶ó
Áö¿ª º¯¼öÀÇ ¼ýÀÚ°¡ ÀûÀ»¼ö·Ï, ÄÄÆÄÀÏ·¯°¡ ±× Áö¿ª º¯¼öµéÀ» ·¹Áö½ºÅÍ¿¡´Ù°¡ Áý¾î³ÖÀ» ¼ö ÀÖÀ» È®·üÀÌ ³ô¾ÆÁø´Ù. ÀÌ´Â ½ºÅÿ¡ ÀÖ´Â º¯¼ö¸¦ ¾×¼¼½ºÇϱâ À§Çؼ ÇÁ·¹ÀÓ Æ÷ÀÎÅÍ¿¡´Ù°¡ ¿É¼ÂÀ» ´õÇÏ´Â ¿¬»êÀÌ ¾ø¾îÁø´Ù´Â ¸»ÀÌ´Ù. ÀÌ´Â ´ÙÀ½ µÎ °¡ÁöÀÇ ÀÌÀ¯·Î ÀÎÇØ »ó´çÇÑ ¼º´ÉÀÇ »ó½ÂÀ» °¡Á®¿Â´Ù.
- Áö¿ª º¯¼öµéÀÌ ·¹Áö½ºÅÍ¿¡ ÀÖÀ¸¹Ç·Î, ¸ÞÀÎ ¸Þ¸ð¸®¸¦ ¾×¼¼½ºÇÒ Çʿ䰡 ¾ø´Ù. (¸Þ¸ð¸®´Â ·¹Áö½ºÅÍ¿¡ ºñÇØ¼ ÈÎ~¾À ´À¸®´Ù.)
- ½ºÅÿ¡´Ù Áö¿ª º¯¼ö¸¦ ÀúÀåÇÒ Çʿ䰡 ¾ø´Ù¸é, ½ºÅà »ý¼º/»èÁ¦, Áï ÇÁ·¹ÀÓ Æ÷ÀÎÅÍ »ý¼º/»èÁ¦ ÀÛ¾÷ÀÌ ¾ø¾îÁø´Ù.
2.6 Áö¿ª º¯¼ö´Â °¡´ÉÇÑ ÇÑ Á¦ÀÏ ¾ÈÂÊÀÇ ½ºÄÚÇÁ¿¡¼ ¼±¾ðÇ϶ó
Áö¿ª º¯¼ö¸¦ ÇÔ¼ö ½ÃÀÛ ºÎºÐ µî¿¡´Ù ÇѲ¨¹ø¿¡ ¼±¾ðÇÏÁö ¸¶¶ó. Áï ÄÚµåÀÇ ºÐ±â¿¡ µû¶ó »ç¿ëÇÏÁöµµ ¾ÊÀ» ¼ö ÀÖ´Â º¯¼öµéÀ» ÇѲ¨¹ø¿¡ ¼±¾ðÇØ µÎÁö ¸»°í, ÇÊ¿äÇÒ ¶§¸¸ ¼±¾ðÇØ¼ »ç¿ëÇ϶ó´Â ¸»ÀÌ´Ù.
Áö¿ª º¯¼öÀÇ ½ºÄÚÇÁ
int foo(char* pName)
{
if (pName == NULL)
{
A a;
...
return ERROR;
}
...
return SUCCESS;
}
À§ÀÇ Äڵ带 º¸¸é ¾Ë°ÚÁö¸¸, pNameÀÌ NULLÀÌ ¾Æ´Ñ °æ¿ì¿¡´Â A °´Ã¼¸¦ »ý¼ºÇÒ ÀÌÀ¯°¡ ¾ø´Ù. ±×·±µ¥ ÀÌ A °´Ã¼¸¦ ÇÔ¼ö ½ÃÀÛ ºÎºÐ¿¡´Ù ¼±¾ðÇϸé, pNameÀÌ NULLÀÌ°Ç ¾Æ´Ï°Ç, ÇÔ¼ö¸¦ È£ÃâÇÒ ¶§¸¶´Ù A °´Ã¼ÀÇ »ý¼ºÀÚ/¼Ò¸êÀÚ°¡ È£ÃâµÇ´Â °ÍÀÌ´Ù.
2.7 ÆÄ¶ó¹ÌÅÍÀÇ ¼ýÀÚ¸¦ ÁÙ¿©¶ó
ÆÄ¶ó¹ÌÅÍÀÇ ¼ýÀÚ°¡ ¸Å¿ì ¸¹Àº °æ¿ì, ÇÔ¼ö È£ÃâÇÒ ¶§¸¶´Ù ¸¹Àº ¾çÀÇ ½ºÅà Ǫ½¬°¡ ÀϾ¹Ç·Î ºñÈ¿À²ÀûÀÌ´Ù. °°Àº ¸Æ¶ôÀÇ ÀÌÀ¯·Î ±¸Á¶Ã¼ °°Àº °ÍÀ» by value·Î Àü´ÞÇÏÁö ¸»¾Æ¶ó. ÀÌ·± °æ¿ì, ÆÄ¶ó¹ÌÅÍ ¿ÀºêÁ§Æ® °°Àº °ÍÀ» ¸¸µç ´ÙÀ½, ÂüÁ¶³ª Æ÷ÀÎÅÍ·Î Àü´ÞÇØ¶ó.
2.8 4¹ÙÀÌÆ®(INTÀÇ Å©±â)º¸´Ù Å« ÆÄ¶ó¹ÌÅͳª ¸®ÅϰªÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÂüÁ¶¸¦ Ȱ¿ëÇØ¶ó
ÆÄ¶ó¹ÌÅÍÀÇ ¼ýÀÚ¸¦ ÁÙÀÌ´Â °Í°ú ÀϸƻóÅëÇÏ´Â À̾߱âÀε¥, ºñ±³Àû Å©±â°¡ Å« ÆÄ¶ó¹ÌÅͳª ¸®ÅϰªÀ» by value·Î Àü´ÞÇÒ °æ¿ì, ½ºÅÿ¡¼ ÀϾ´Â ÀÛ¾÷ÀÌ ¸¹¾ÆÁú »Ó¸¸ ¾Æ´Ï¶ó, Ŭ·¡½ºÀÏ °æ¿ì¿¡´Â »ý¼ºÀÚ/¼Ò¸êÀÚ È£Ãâ±îÁö ÀϾÙ. ÀÌ·± ¶§´Â ¿Ø¸¸Çϸé ÂüÁ¶¸¦ Ȱ¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù.
ÂüÁ¶¸¦ ÆÄ¶ó¹ÌÅÍ·Î ³Ñ±æ ¶§, Ưº°ÇÑ °æ¿ì°¡ ¾Æ´Ï¶ó¸é const¸¦ ºÙÀÌ´Â °ÍÀÌ ÁÁ´Ù. °ªÀ¸·Î Àü´ÞÇÒ ¶§¾ß ÇÔ¼ö ³»ºÎ¿¡¼ ¼öÁ¤Çصµ side-effect°¡ ¾ø¾ú°ÚÁö¸¸, ÂüÁ¶¶ó¸é À̾߱Ⱑ ´Ù¸£±â ¶§¹®ÀÌ´Ù.
2.9 ¸®ÅϰªÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¾Æ¿¹ void ·Î ¼±¾ðÇØ¶ó
¾µµ¥¾ø´Â °ÍÀ» ¿Ö ¸¸µå´Â°¡?
2.10 ÄÚµå¿Í µ¥ÀÌÅ͸¦ ¸¸µé ¶§, locality of reference¸¦ °í·ÁÇØ¶ó
C++¿¡¼´Â Ŭ·¡½º¶ó´Â °³³ä ¶§¹®¿¡, À̰ÍÀÌ ¾î´À Á¤µµ ÀÚµ¿ÀûÀ¸·Î º¸ÀåµÈ´Ù. C ¿¡¼´Â µ¥ÀÌÅÍ¿Í µ¥ÀÌÅ͸¦ »ç¿ëÇØ¼ ÀÛ¾÷À» ¼öÇàÇÏ´Â Äڵ尡 ¹°¸®Àû(°°Àº ¼Ò½º ÄÚµå?)À¸·Î °¡±î¿î °÷¿¡ À§Ä¡Çϵµ·Ï ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
SMP ¿¡¼´Â ¶Ç À̾߱Ⱑ ´Ù¸¥µ¥...
2.11 CHAR³ª SHORTº¸´Ù´Â INT¸¦ »ç¿ëÇ϶ó
INT¸¦ »ç¿ëÇØ¾ßÇÏ´Â ÀÌÀ¯´Â C/C++Àº ±âº»ÀûÀ¸·Î »ê¼ú¿¬»êÀ» int ´ÜÀ§·Î ó¸®Çϱ⠶§¹®ÀÌ´Ù. char ¹üÀ§ ¾È¿¡ µé¾î°¡´Â º¯¼ö¶ó°í ÇØ¼ char ŸÀÔÀ¸·Î ¼±¾ðÇÑ µÚ¿¡ »ê¼ú¿¬»êÀ» ÇàÇϸé, ÄÄÆÄÀÏ·¯°¡ ¾Ë¾Æ¼ int·Î º¯È¯ÇÑ µÚ, ¿¬»êÀ» ÇàÇÑ ´ÙÀ½, ±× °ªÀ» ´Ù½Ã char ŸÀÔÀ¸·Î º¯È¯Çؼ °á°ú¸¦ ÀúÀåÇÑ´Ù. ±×·¯¹Ç·Î Ưº°ÇÑ Àǹ̰¡ ÀÖÁö ¾Ê°Å³ª, ¸Þ¸ð¸®¸¦ Àý¾àÇØ¾ßÇÏ´Â °æ¿ì°¡ ¾Æ´Ï¶ó¸é int¸¦ »ç¿ëÇ϶ó.
2.12 °¡º¿î »ý¼ºÀÚ¸¦ ¼±¾ðÇ϶ó
°¡´ÉÇÑ ÇÑ »ý¼ºÀÚ¸¦ °¡º±°Ô ¸¸µé¾î¶ó. »ý¼ºÀÚ´Â ¿ÀºêÁ§Æ®°¡ »ý±æ ¶§¸¶´Ù ¸Å¹ø È£ÃâµÈ´Ù. ¸í½ÃÀûÀ¸·Î ¼±¾ðÇÑ °´Ã¼ ¸»°íµµ, ÄÄÆÄÀÏ·¯°¡ ¾Ï¹¬ÀûÀ¸·Î »ý¼ºÇÏ´Â Àӽà °´Ã¼µéÀÌ ¸Å¿ì ¸¹´Ù´Â °ÍÀ» ÀØÁö ¾Ê¾Æ¾ß ÇÑ´Ù. ±×·¯¹Ç·Î »ý¼ºÀÚ¸¦ °¡º±°Ô ¸¸µé¼ö·Ï, ¼º´É¿¡ ÀÖ¾î¼ À̵æÀ» º¼ ¼ö ÀÖ´Ù.
2.13 ´ëÀÔº¸´Ù´Â Ãʱâȸ¦ »ç¿ëÇ϶ó
´ÙÀ½ÀÇ ¿¹¸¦ º¸¶ó.
Initialization and assignment
void foo()
{
Complex c;
c = (Complex)5;
}
void foo_optimized()
{
Complex c = 5;
}
ù¹øÂ° ÇÔ¼ö¿¡¼´Â c °´Ã¼°¡ ¸ÕÀú ÃʱâÈµÈ ´ÙÀ½, ´ëÀÔ ¿¬»êÀÌ ÀϾÙ. µÎ¹øÂ° ÇÔ¼ö¿¡¼´Â c °´Ã¼°¡ ÁÖ¾îÁø °ªÀ¸·Î ¹Ù·Î ÃʱâȰ¡ µÇ¾î¹ö¸°´Ù. Áï ±âº» »ý¼ºÀÚ È£ÃâÀÌ ÀϾÁö ¾ÊÀº °ÍÀÌ´Ù.
2.14 »ý¼ºÀÚ ÃʱâÈ ¸ñ·ÏÀ» ÀÌ¿ëÇ϶ó
¸â¹ö º¯¼ö¸¦ »ý¼ºÀÚ ÃʱâÈ ¸ñ·Ï¿¡¼ ÃʱâÈÇϸé, À§¿¡ ÀÖ´Â ¿¹¿Í ¸¶Âù°¡Áö·Î ±âº» »ý¼ºÀÚÀÇ È£ÃâÀ̶ó´Â ¿À¹öÇìµå¸¦ ÇÇÇÒ ¼ö ÀÖ´Ù. ¾Æ·¡ÀÇ ¿¹¸¦ º¸¶ó.
Employee::Employee(String name, String designation)
{
m_name = name;
m_designation = designation;
}
/* === Optimized Version === */
Employee::Employee(String name, String designation): m_name(name), m_destignation (designation)
{
}
óÀ½ ¹öÀü¿¡¼´Â m_name, m_designation º¯¼ö¿¡ ´ëÇÑ ±âº» »ý¼ºÀÚ°¡ ÀÏ´Ü È£ÃâµÈ ´ÙÀ½, ´ëÀÔ ¿¬»êÀÚ°¡ È£ÃâµÈ´Ù. µÎ¹øÂ° ¹öÀü¿¡¼´Â ¹Ù·Î ¾Ë¸ÂÀº »ý¼ºÀÚ°¡ È£ÃâµÈ´Ù.
2.15 "³ªÁßÀ» ´ëºñÇÑ" °¡»ó ÇÔ¼ö¸¦ ¼±¾ðÇÏÁö ¸»¾Æ¶ó
°¡»ó ÇÔ¼ö È£ÃâÀº ÀÏ¹Ý ÇÔ¼ö È£Ãâ¿¡ ºñÇØ ´À¸®´Ù. ±×·¯¹Ç·Î ¾ðÁ¨°¡ ÇÊ¿äÇÒ °Å¶ó°í »ý°¢Çؼ virtualÀ» ¸¸µé °ÍÀÌ ¾Æ´Ï¶ó, ÇÊ¿äÇÒ ¶§ virtualÀ» Ãß°¡ÇÏ´Â ¹æ½ÄÀ¸·Î ÄÚµùÇØ¶ó.
2.16 1~3 ¶óÀÎ Á¤µµÀÇ ÇÔ¼ö¸¸ ÀζóÀÎ ÇÔ¼ö·Î ¼±¾ðÇ϶ó
ÀÛÀº ÇÔ¼ö(1~3 ¶óÀÎ Á¤µµÀÇ ÇÔ¼ö)¸¦ ÀζóÀÎÀ¸·Î ¹Ù²Ù´Â °ÍÀº ¼º´É¿¡ Å« µµ¿òÀ» ÁÖ´Â °ÍÀÌ »ç½ÇÀÌ´Ù. ÀζóÀÌ´×Àº ÇÔ¼ö È£Ãâ ´ë½Å¿¡ ÇØ´ç Äڵ带 Á÷Á¢ ³¢¿ö³ÖÀ½À¸·Î¼ ¼º´ÉÀ» Çâ»ó½ÃŰ´Â ÀÛ¾÷ÀÌ´Ù. ÇÏÁö¸¸ µ¢Ä¡°¡ Å« ÇÔ¼ö¸¦ ÀζóÀÌ´×ÇÏ°Ô µÇ¸é, Äڵ尡 Ä¿Áö°Ô µÇ°í, ÀÌ´Â ¼º´ÉÀÇ ÀúÇϸ¦ °¡Á®¿Â´Ù. (ij½¬ µîÀ» »ý°¢Ç϶ó!) ¶ÇÇÑ ¸í½ÉÇØ¾ßÇÒ »çÇ× Áß¿¡ Çϳª°¡, ÀζóÀÌ´×À» °ú¿ëÇÏ°Ô µÇ¸é Çì´õ¿¡¼ ´Ù¸¥ Çì´õ¸¦ ÂüÁ¶ÇÏ´Â ÀÏÀÌ ¸¹¾ÆÁö°í, ÀÌ´Â ÀüüÀûÀÎ ÇÁ·ÎÁ§Æ®¸¦ »ý°¢Çϸé ÁÁÁö ¾Ê´Ù´Â °ÍÀÌ´Ù.
3 ¸µÅ©
SeriousMoin v1 (koMoinMoin 1.0a4 Modified)