· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Humble Little Ruby Book/Chap0


0. 0 ¹«¾ù¿¡ °üÇÏ¿© ¸»ÇÒ °Ì´Ï±î?


¿©·¯ºÐµéÀº (Á÷ÀåÀ̳ª ¸ðÀÓ¿¡¼­) »õ·Î¿î µµ±¸¿¡ ´ëÇØ ¸ð¸£´Â ô ÇÏ´Â °ÍÀÌ ½È¾î¼­ Áý¿¡ °¡Á®°£ ÈÄ, µµ±¸ÀÇ »óÀÚ¸¦ ¿©´Âµ¥¿¡µµ °ÇÀüÁö¿Í ±×·¹ÀÌÇÁÈĸ£Ã÷, ¼¼°¡Áö ¾ð¾î¸¦ ¸»ÇÒ ¼ö ÀÖ´Â ´É·ÂÀÌ ÇÊ¿äÇÏ´Ù°í ¼³¸íÇÒ°Ç°¡¿ä? ±×·²°Å¶ó°í¿ä? ±×·³ ´ÙÀ½ Áú¹®¿¡ ´ë´äÇØ º¸½Ê½Ã¿À. ·çºñ´Â °­ ¾î±Í¸¦ ³Ñ³ªµå´Â Å©°í ź·ÂÀÖ´Â ±«¹°µé¿¡ ´ëÇØ ¾î¶»°Ô ´ëÀÀÇÒ±î¿ä? ¸ð¸¥´Ù°í¿ä? ±×·³ ¿©·¯ºÐµéÀ» Áö·çÇÏ°Ô Çϱâ Àü¿¡ ¸î°¡Áö ÁÁÀº Á¡µé°ú ¾î·Á¿ö º¸ÀÌ´Â °ÍÀ» ¸»ÇÒ ÇÊ¿ä°¡ ÀÖÀ»°Í °°½À´Ï´Ù.

0.1. µµ´ëü ·çºñ°¡ ¹¼´Ï±î?


·çºñ´Â ¿ÀǼҽº, ´ÙÁßÆз¯´ÙÀÓ, ÀÎÅÍÇÁ¸®ÅÍ ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÔ´Ï´Ù. (ÀÌ°Ç Á¦°¡ ¾Ë°í ÀÖ´Â ºÎºÐÀÇ ÀϺκÐÀÔ´Ï´Ù! ¾ÕÀ¸·Î ´õ ¼³¸íÇÒ °Å¶ó°í ¾à¼Óµå¸®Áö¿ä!) ·çºñ´Â À¯Å°È÷·Î "¸¶Ã÷" ¸¶Ã÷¸ðÅä¿¡ ÀÇÇØ Á¦À۵Ǿú½À´Ï´Ù. ±×´Â ÁÁÀº »ç¶÷À¸·Î ÇöÀç ÀϺ» ½Ã¸¶³×Çö¿¡ °ÅÁÖÇÏ°í ÀÖ½À´Ï´Ù. ÀÌ ¾ð¾î¿¡ ´ëÇÑ ¸¶Ã÷ÀÇ ÀÛ¾÷Àº 1993³â 2¿ù 24ÀϺÎÅÍ ½ÃÀ۵Ǿú½À´Ï´Ù. (ÀÌ ³¯À» ´ëºÎºÐ ·çºñ ¾ð¾îÀÇ Åº»ýÀÏ·Î »ý°¢ÇÕ´Ï´Ù. Á¦°¡ µè±â·Ð ±×µéÀº 2´Ü ÄÉÀÌÅ©¸¦ ÀÚ¸£°í »ýÀÏÃàÇÏ ³ë·¡¸¦ ºÒ·¶´Ù´Â±º¿ä.) ±×¸®°í ´ëÁß¿¡°Ô ¹ßÇ¥µÈ °ÍÀÌ 1995³âÀÌÁö¿ä. ·çºñ´Â ¿À´Ã³¯ °³¹ßÀڵ鿡°Ô °¡Àå Ç¥ÇöÀÌ Ç³ºÎÇÏ°í °£°áÇÑ ¾ð¾îÀÇ Çϳª·Î¼­ ÀÚÁÖ È¯¿µ¹Þ½À´Ï´Ù. Ç¥ÇöÀÌ Ç³ºÎÇÏ´Ù´Â Àǹ̸¦ Á¤È®ÇÏ°Ô È®ÀÎÇغ¾½Ã´Ù. ½Å³äÀ» °¡Áö°í Áß¿äÇÑ ³»¿ë¸¸ Àü´ÞÇÏ°Ú½À´Ï´Ù.

¿ÀǼҽº ÀÌ ¾ð¾îÀÇ °ø½ÄÀûÀÎ ±¸Çö¹°Àº GPL°ú ¿ÀǼҽº ¶óÀ̼¾½º¸¦ ÅëÇØ ÀÚÀ¯¼ÒÇÁÆ®¿þ¾î·Î ¹èÆ÷µË´Ï´Ù. ¸¸¾à ¿©·¯ºÐµéÀÌ "¿ÀǼҽº"°¡ ¶æÇÏ´Â ¹Ù¸¦ ¸ð¸¥´Ù¸é, ÀÌ·¸°Ô »ý°¢ÇϽʽÿÀ. ¸¶Ã÷´Â ·çºñ ÀÎÅÍÇÁ¸®ÅÍ¿Í ¶óÀ̺귯¸®¸¦ ¸ðµÎ ÇÁ·Î±×·¥ÇßÀ¸¸ç, ±×°ÍÀ» »ç¿ëÇÏ´Â »ç¶÷µé¿¡°Ô ÁÖ¾ú½À´Ï´Ù. ¼Ò½ºÄڵ带 »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÔÀ¸·Î½á ¸¹Àº »ç¶÷µéÀÌ ±×°ÍÀ» »ç¿ëÇÏ°í °³¼±ÇÕ´Ï´Ù. ¸¹Àº »ç¶÷µéÀÌ Äڵ带 °®°í ±×°ÍÀ» °³¼±Çϸé, ¸¶Ã÷(±×¸®°í ¼Ò½º¸¦ À¯ÁöÇÏ´Â °³¹ßÆÀ)´Â ±×µéÀÌ °³¼±ÇÑ Á¡À» ÅëÇÕÇÏ¿© ´Ù½Ã ÁÖ ¼Ò½ºÄڵ忡 ¹Ý¿µÇÕ´Ï´Ù. ¿ÀǼҽºÀÇ ÀÌÁ¡Àº ´ëºÎºÐ ÇÁ·ÎÁ§Æ®¸¦ ÁøÇàÇϸ鼭 »ó¿ë ÇÁ·ÎÁ§Æ®º¸´Ù ¸¹Àº ÁöÁö¸¦ ¾ò´Â´Ù´Â °ÍÀÔ´Ï´Ù. (±×¸®°í º¸Åë »ç¿ëÇϴµ¥ ÀÚÀ¯½º·´´Ù´Â°ÍÀÔ´Ï´Ù!)

´ÙÁß Æз¯´ÙÀÓ ±â´ÉÀûÀÎ ½ºÅ¸ÀÏÀÎ Haskell °ú Scheme »ó¿¡¼­ Äڵ带 ÀÛ¼ºÇÏ´Â °ÍÀ» ÁÁ¾ÆÇϽʴϱî? ¾ÆÁÖ ÁÁ¾Æ¿ä. ·çºñµµ ±×·¯ÇÕ´Ï´Ù. ½ÇÁ¦·Î ÀÚ¹Ù³ª ½º¸ôÅäÅ©¿Í °°Àº °´Ã¼ÁöÇâ¾ð¾î¸¦ °øºÎÇϳª¿ä? ¹®Á¦¾ø½À´Ï´Ù. ·çºñ´Â ±×°Í ¶ÇÇÑ ´Ù·ì´Ï´Ù. Forth ³ª Ada °°Àº ÇÁ·Î½ÃÀú (a.k.a. ¸í·É) ½ºÅ¸ÀÏÀ» »ç¿ëÇÏ´Â °ÍÀ» ¼±È£Çմϱî? ·çºñ´Â ´Ù¸¥ ¾ð¾îµé¸¸Å­À̳ª "ÇÁ·Î½ÃÀú"µµ ¾òÀ» ¼ö ÀÖ½À´Ï´Ù. À̰͵éÀÌ ÀǹÌÇÏ´Â ¹Ù¸¦ ¸ð¸£Áö¸¸ ±×³É ÇÁ·Î±×·¡¹ÖÇÏ½Ã±æ ¿øÇϽŴٰí¿ä? ·çºñ´Â ÇϳªÀÇ ÇÁ·Î±×·¡¹Ö °üÁ¡À» °­¿äÇÏÁö ¾Ê±â ¶§¹®¿¡ ´ÙÁß Æз¯´ÙÀÓ ¾ð¾îÀÔ´Ï´Ù. ¿©·¯ºÐÀº ¾Õ¿¡¼­ ¸»ÇÑ ÇÁ·Î±×·¥ Æз¯´ÙÀÓµéÀ» ¾Æ¹«·± ¹®Á¦¾øÀÌ ·çºñ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿©·¯ºÐÀº ¿©·¯ºÐÀÌ ¼±È£ÇÏ´Â (ȤÀº ¿©·¯ºÐÀÌ ¹è¿ì±â ½¬¿î) °ÍÀ» Çϳª ¼±ÅÃÇÒ ¼ö ÀÖ°í, ±×°ÍÀ¸·Î ÁøÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ·çºñ´Â ¹æÇØÇÏÁö ¾Ê½À´Ï´Ù. ¸î¸î ´Ù¸¥ ¾ð¾îµé°ú ´Þ¸® ½Ã»ùÇÏÁöµµ ¾Ê°í °´Ã¼¸¦ ¶°³ª¼­ ¹®¹ýÀ» Æı«Çß´Ù°í ¿À·ù¸¦ º¸³»ÁÖÁöµµ ¾ÊÀ¸¸ç ´ë½Å À¯»çÇÑ °ÍÀ» ´ë½ÅÇÏ¿© °è¼Ó ÁøÇàÇϵµ·Ï °áÁ¤ÇÕ´Ï´Ù.

ÀÎÅÍÇÁ¸®ÅÍ ¹æ½Ä ¸¸¾à ¿©·¯ºÐÀÌ ¾î¼Àºí¸®, ÆĽºÄ®, Æ÷Æ®¶õ, C/C++ À» »ç¿ëÇß¾ú´Ù¸é, ¿©·¯ºÐµéÀº ÄÄÆÄÀÏ ¹æ½ÄÀÇ ¾ð¾î¸¦ »ç¿ëÇß´ø °ÍÀÔ´Ï´Ù. "ÄÄÆÄÀÏ ¹æ½Ä" Àº ¿©·¯ºÐµéÀÌ ÀÛÀº ÄÄÆÄÀÏ·¯¸¦ ÅëÇؼ­ ¿©·¯ºÐµéÀÌ ½ÇÇàÇÒ Äڵ带 »ý¼ºÇس»´Â °ÍÀÔ´Ï´Ù. ¿î¿µÃ¼Á¦¿¡ ÀÇÇØ ½ÇÇàµÇ´Â °ÍÀÌ ¾Æ´Ñ ´Ù¸¥ ÄÄÇ»ÅÍ ¿ä¼Ò¿¡ ÀÇÇØ ¼öÇàµÉ ¼ø¼öÇÑ ÄÚµåÀÇ Á¤·ÄÀ» »ý¼ºÇسÀ´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÇ ÇÁ·ÎÁ§Æ®°¡ Ä¿Áö¸é Ä¿Áú¼ö·Ï ÇÁ·Î±×·¥À» »ý¼ºÇϴµ¥ ¼Ò¿äµÇ´Â ½Ã°£µµ Ä¿Áö¸ç, ¶§¶§·Î »ý»ê¼º¿¡ À־ ½É°¢ÇÑ Àå¾Ö°¡ µÉ ¼ö ÀÖ½À´Ï´Ù. ¾Æ, ÇÏÁö¸¸ ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ·çºñ´Â ÀÎÅÍÇÁ¸®ÅÍ ¹æ½ÄÀÇ ¾ð¾îÀÔ´Ï´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÇ Äڵ带 Àд ÀÎÅÍÇÁ¸®ÅÍ°¡ ÀÖÀ¸¸ç, ¿î¿µÃ¼Á¦¿¡ ´ëÇÑ ¼ø¼öÇÑ ÄÚµåÀÇ »ý¼ºÀ» »ý·«ÇÕ´Ï´Ù. ¾Æ¸¶µµ ÀÌ ±×¸²ÀÌ ¿©·¯ºÐµéÀÇ ÀÌÇØ¿¡ ´õ µµ¿òÀÌ µÉ °ÍÀÔ´Ï´Ù.

howrubyworks.jpg
[JPG image (53.83 KB)]

±×¸².1: ·çºñ°¡ ÇÁ·Î±×·¥µéÀ» ¾î¶»°Ô ´Ù·ç´ÂÁö¿¡ ´ëÇÑ °³¿ä

Á» ´õ ¼³¸íÇÏÀÚ¸é ±×¸²¿¡¼­ ¿¹¸¦ µç °ÍÀº, ´ç½ÅÀÌ Á¦ÇÁ°¡ ±×ÀÇ »óÀÚ¿¡¼­ ³ª¿Àµµ·Ï ¼³µæÇÏ´Â °ÍÀÌÁö¸¸, ÀÌ°Ç ÀϹÝÀûÀÎ °³³äÀÔ´Ï´Ù. Äڵ带 ½ÇÇàÇØ µé¾î°¡¸é, ·çºñ´Â ±×°ÍÀ» ¸ðµÎ Àç»ýÇÏ°í, ÇÁ·Î±×·¥ÀÌ ³ªÅ¸³³´Ï´Ù. ·çºñ Äڵ带 ½ÇÇàÇÏ´Â ¹æ¹ýÀ¸·Î ¿©·¯ºÐÀº ¸î¸î ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ù¹ø° ¹æ¹ýÀº ¿©·¯ºÐÀÇ ¼Ò½º Äڵ带 °®´Â ÆÄÀÏÀ» ¸¸µå´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ·çºñ ¸í·É¾î Çà¿¡ ·çºñ ¸í·É¾î ¿É¼ÇÀ¸·Î ±× ÆÄÀÏÀ» ½ÇÇàÇϵµ·Ï ÆÄÀÏ À̸§À» ·çºñ¿¡°Ô Àü´ÞÇÕ´Ï´Ù. ´Ù¸¥ ¹æ¹ýÀ¸·Î ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ÆíÁý±âÀÇ ´ÜÃàÅ°¸¦ »ç¿ëÇÏ¿© ·çºñ ½ÇÇà±â¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, SciTE ´Â F5 Å°¸¦ ´©¸£´Â °ÍÀ¸·Î ÀÌ ¿ä¼Ò¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¶Áö¸· ¹æ¹ýÀº irb ³ª fxri °°Àº ´ëÈ­¹æ½ÄÀÇ ½©À» »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ÀÌ ½©Àº ¿©·¯ºÐµé¿¡°Ô ·çºñ ÄÚµå ÇàµéÀ» ÀÔ·ÂÇÏ¿© ¹Ù·Î ½ÇÇàÇÒ ¼ö ÀÖ´Â "·çºñ ÇÁ·ÒÇÁÆ®"¸¦ Á¦°øÇÕ´Ï´Ù. Àú´Â ÀÌ Ã¥À» ¾²¸é¼­ ±¤¹üÀ§ÇÏ°Ô irb ¸¦ »ç¿ëÇß½À´Ï´Ù. ¿Ö³ÄÇϸé ÆÄÀÏ·Î ½ÇÇàÇÏ´Â °Íº¸´Ù ºü¸¥ ÀÀ´äÀ» ¾òÀ» ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÀÌ ÇÁ·ÒÇÁÆ®µéÀº ·çºñ°¡ ÀÎÅÍÇÁ¸®ÅÍ¿¡¼­ µ¿ÀûÀ¸·Î ½ÇÇàµÇ´Â ¾ð¾îÀ̱⠶§¹®¿¡ °¡´ÉÇÑ °ÍÀÔ´Ï´Ù.

·çºñÀÇ ¹ø¿ªµÈ ³»¿ëÀº ·çºñ¸¦ ÈǸ¢ÇÏ°Ô ¸¸µé ¸¹Àº ¿ä¼Ò¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÄÄÆÄÀÏµÈ ÇÁ·Î±×·¥µéÀº ÀÎÅÍÇÁ¸®Å͸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥Ã³·³ µ¿ÀûÀÏ ¼ö ¾ø½À´Ï´Ù. ÄÄÆÄÀÏ µÈ ÇÁ·Î±×·¥µéÀº º¸Åë ½ÇÇà½Ã Äڵ峪 ÀÀ¿ëÇÁ·Î±×·¥ ½º½º·Î¸¦ º¯°æÇÒ ¼ö ¾ø±â ¶§¹®ÀÔ´Ï´Ù. ÀÎÅÍÇÁ¸®Å͸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥µéÀº ¿øº» ¼Ò½º(ȤÀº ¾ÆÁÖ ÀϺΠÄÄÆÄÀÏ µÈ ¹ÙÀÌÆ® ÄÚµå)·ÎºÎÅÍ ´Ü¼øÇÏ°í ½±°Ô Çؼ®µÉ ¼ö Àֱ⠶§¹®¿¡ ÀÎÅÍÇÁ¸®Å͸¦ ÀÌ¿ëÇÑ ÇÁ·Î±×·¥µéÀº ½ÇÇà½Ã¿¡ ´õ¿í dz¼ºÇÑ »óÈ£ÀÛµ¿À» ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀúÈñ´Â ±× ÀÚüÀÇ ±â´ÉÀ» ´õ¿í ¸¹ÀÌ ¹ß°ßÇÒ ¼ö ÀÖµµ·Ï ¸ðµç ºÎºÐÀ» ´õ ¸¹ÀÌ Åä·ÐÇÒ °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ¿ì¸®´Â ½ÇÁ¦·Î ·çºñ¸¦ °®°í ÀÖ´ÂÁö È®ÀÎÇÒ ÇÊ¿ä°¡ ÀÖ½À´Ï´Ù. ±×·¸Áö ¾Ê´Ù¸é ÀÌ ¿ä¼ÒµéÀº ¿©·¯ºÐµéº¸´Ù ´õ ºü¸£°Ô ºÎ´Â ¹Ù¶÷À» ÂÑ´Â °Í°ú °°À» °ÍÀÔ´Ï´Ù. Àǹ̾ø´Â °ÍÀÌÁÒ!

0.2. ·çºñ ¼³Ä¡Çϱâ

¶§¶§·Î ÇÁ·Î±×·¡¹Ö ȯ°æÀ» ¼³Ä¡ÇÏ´Â °ÍÀº °íÅ뽺·¯¿ï ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ À©µµ¿ìÁî¿¡¼­ GNU ÄÄÆÄÀÏ·¯¸¦ ¼³Ä¡ÇÏ·Á°í ½ÃµµÇغ¸¼Ì´Ù¸é Á¦°¡ ¸»ÇÏ´Â ¹Ù°¡ ¹«¾ùÀÎÁö ¾Æ½Ç°ÍÀÔ´Ï´Ù. ¿îÁÁ°Ôµµ ·çºñ´Â ´ëºÎºÐÀÇ Ç÷§Æû¿¡¼­ »ó´ëÀûÀ¸·Î ¼³Ä¡°¡ ½±½À´Ï´Ù

Windows

À©µµ¿ìÁî¿¡ ¼³Ä¡Çϴ°ÍÀº °£´ÜÇÕ´Ï´Ù. [http]http://www.ruby-lang.org¸¦ ¹æ¹®ÇÏ°í "Download"Ç׸ñ ¾Æ·¡¿¡ ÀÖ´Â "Ruby"¸¦ Ŭ¸¯ÇÏ¸é µË´Ï´Ù. ¿©±â¼­ "Install Ruby under Windows" ¸µÅ©¸¦ µû¶ó°¡¸é µË´Ï´Ù. ÇØ´ç ÆäÀÌÁö´Â ¾î¶»°Ô ·çºñ¸¦ ¼³Ä¡ÇÏ´ÂÁö¿¡ ´ëÇÑ ¹æ¹ýÀÌ Æ÷ÇÔµÈ ¼³Ä¡ÇÁ·Î±×·¥À» µû¶ó°¡µµ·Ï µÇ¾îÀÖ½À´Ï´Ù. (½±°Ô ³»·Á¹Þ°í ¼³Ä¡Çϱ⸸ ÇÏ¸é ±×°É·Î À嶯ÀÌÁÒ).

scite.png
[PNG image (48.01 KB)]

Fig. SciTE

·çºñ ÆÄÀÏÀ» ÆíÁýÇϱâ À§Çؼ­´Â, ÅؽºÆ® ÆíÁý±â¸¸ ÀÖÀ¸¸é µË´Ï´Ù. Notepad ¸¸Å­ °£´ÜÇÏ°í UltraEditó·³ ±Ù»çÇϸé À嶯ÀÔ´Ï´Ù. ·çºñ´Â ÇÏÀ̶óÀÌÆ® ±â´É°ú, Ruby ÆÄÀÏÀ» ¿­°í ÀúÀåÇÏ´Â ±â´ÉÀÌ ºÎ¿©µÈ SciTE ¶ó°í ÇÏ´Â ¿¡µðÅÍ°¡ µþ·Á³ª¿É´Ï´Ù. ÀÌ ÇÁ·Î±×·¥Àº ¶ÇÇÑ ÇÁ·Î±×·¥À» ½ÇÇàÇϴµ¥ ÀÖ¾î ±¦ÂúÀº ±â´ÉµéÀÌ ÀÖ¾î ÀÌ·±(...?)±â´É¿¡ °üÇÑ ÇÑ ¸í·ÉÁÙ¿¡¼­ ÇìÁý°í ¾î½½··°Å¸± ÇÊ¿ä°¡ ¾ø½À´Ï´Ù. ÀÌ°Í ¸»°íµµ ·çºñ¸¦ °³¹ßÇϱâ À§ÇÑ ´Ù¾çÇÑ ÇÁ·Î±×·¥µéÀÌ ÀÖ½À´Ï´Ù. (e.g. FreeRIDE, Arachno, Mondrian, etc.), ±×·¯³ª ÀÌ ¿¹·Î µç ÇÁ·Î±×·¥µéÀº °³¹ßÇϴµ¥ ÀÖ¾î ºÒÇÊ¿äÇÑ ±â´Éµµ ¾øÁö ¾Ê½À´Ï´Ù. (±×·¡¼­ ÇÊÀÚ´Â ±×°ÍµéÀ» ¾²Áö ¾Ê°í ÀÖ½À´Ï´Ù).


¸¸¾à º° ´Ù¸¥ Ư¡ÀÌ ¾ø´Â Notepad ¿Í °°Àº ½ÄÀ¸·Î °£´ÜÇÏ°Ô ¾²±â·Î Çߴٰųª, ÇÁ·Î±×·¥ »ó¿¡¼­ ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇàÇÏ´Â ±â´ÉÀÌ Á¦°øµÇÁö ¾Ê´Â´Ù¸é, ¸í·ÉÁÙ¿¡¼­ ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ·çºñ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ°í °á°ú¸¦ º¸µµ·Ï ÇÕ´Ï´Ù.

¿¹:
ruby mycodefile.rb

ÀÌ·± ±ÍÂúÀº ÀÏÀ» ȸÇÇÇϱâ À§ÇØ SciTE¸¦ ¾²´Â °£´ÜÇÑ ¹æ¹ýÀ» Á¦¾ÈÇÏÁö¸¸ ¾î¶² °æ¿ì¿¡´Â ÀÌ ÆíÁý±âÀÇ »ç¿ëÀÌ ÇÊ¿ä¾ÇÀÏ ¼öµµ ÀÖ½À´Ï´Ù(Ưº°ÇÏ°Ô ´Ù¸¥ ÆíÁý±â¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ´õ ÆíÇÏ°Ô ´À²¸Áø´Ù¸é...).

Mac OS X

Jaguar (10.2) ÀÌÈÄ ¹öÀüÀ» µ¹¸®°í ÀÖ´Ù¸é, ´Ù¸¥ ¹öÀüÀÇ ·çºñ¸¦ ÀÌ¹Ì °¡Áö°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ¸¸¾à ¾î¶² ¹öÀüÀ» °¡Áö°í ÀÖ´ÂÁö ¾Ë°í ½Í´Ù¸é (1.8¹öÀüÀ» ±â¹ÝÀ¸·Î ÇÏ´Â ÀÌ ¹®¼­¿¡¼­¿Í °°ÀÌ È£È¯µÇ°Ô ÇÏ°í ½Í´Ù¸é)..., Å͹̳Πâ¿¡ ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¸é µË´Ï´Ù.:

ruby -v

ÀÌ ¸í·ÉÀ¸·Î ÇÏ¿©±Ý ÇÁ·Î±×·¥¿¡¼­´Â ¾î¶² ¹öÀüÀÌ ¼³Ä¡ µÇ¾ú´Â°¡¸¦ °£´ÜÇÏ°Ô ¾Ë·ÁÁÝ´Ï´Ù. ¸¸¾à 1.8¹öÀüÀÌ ¼³Ä¡ µÇ¾ú´Ù¸é ¾ÆÁÖ ÁÁ½À´Ï´Ù...? (¹«½¼ ±Ù°Å·Î?.. ÇÊÀÚ ÁÖ) ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, 1.8¹öÀüÀ» ¼³Ä¡Çϵµ·Ï ÇÕ´Ï´Ù.

·çºñ¸¦ ¼³Ä¡ÇÏ´Â °¡Àå ½¬¿î ¹æ¹ýÀº DarwinPorts ([http]http://www.darwinports.org/) ¸¦ È°¿ëÇÏ¿© ¼³Ä¡ÇÏ´Â °ÍÀÔ´Ï´Ù. À¥ »çÀÌÆ®¸¦ ¹æ¹®ÇÑ ´ÙÀ½, ´Ù¿î·Îµå ÆäÀÌÁö·Î À̵¿ÇÏ¿© ÀÚ½ÅÀÇ OS ¹öÀü¿¡ ¸Â´Â .dmg ÆÄÀÏ (e.g., Tiger/10.4 ¹öÀü¿¡ ¸Â´Â °ÍÀ» ³»·Á ¹Þ±â À§Çؼ­´Â DarwinPorts-1.2-10.4.dmg¿Í °°Àº ÆÄÀÏÀ» ³»·Á ¹Þ°ÚÁÒ?)À» ³»·Á ¹Þ°í, ´Ã ÇÏ´ø ½Ä´ë·Î ¼³Ä¡¸¦ ÇÕ´Ï´Ù. ±×·¯°í ³ª¼­ Å͹̳¯ âÀ» ¿­°í ´ÙÀ½°ú °°ÀÌ ¸í·ÉÀ» Ä¡¸é µË´Ï´Ù.:
sudo port sync
sudo port install ruby

¸î¸î ÆÄÀÏÀ» ³»·Á ¹Þ°í, ¸î¸î ¿ä¼Ò¸¦ ÄÄÆÄÀÏ Çϸ鼭 󸮵ÇÁö ¾ÊÀº ÆÄÀÏ¿¡ ´ëÇÑ Ã³¸®¼Óµµ¸¦ °è»êÇÏ°í ³ª¸é... (Àå¸é¿¡ ´ëÇؼ­ °¨ÀÌ ÀâÈ÷½ÃÁÒ? ¼³Ä¡¸¶¹ý»ç Âë »ý°¢ÇÏ½Ã¸é µË´Ï´Ù. ¿ªÀÚ ÁÖ) µ¿ÀÛÇÏ´Â ·çºñ¸¦ °®°Ô µË´Ï´Ù! ´ÜÁö ruby -v ¿Í °°Àº °£´ÜÇÑ ¸í·ÉÀÌ ½ÇÇàµÇ¸é ±×°É·Î ³¡ÀÔ´Ï´Ù. ¸¸¾à ½ÇÇàµÇÁö ¾Ê´Â´Ù¸é, Darwin À̽Ŀ¡ °üÇÑ À¥»çÀÌÆ®¸¦ ¹æ¹®ÇÏ°í Áö¿øÇ׸ñ°ú ¸ÞÀϸµ¸®½ºÆ®¿¡¼­ È®ÀÎÇغ¸½Ã±â ¹Ù¶ø´Ï´Ù.

textmate.png
[PNG image (24.25 KB)]

Fig. Textmate

¸¸¾à °£´ÜÇÑ È¯°æÀ» ¼±È£ÇÑ´Ù¸é Mac OSX¿¡¼­ÀÇ ·çºñÆÄÀÏ ÆíÁýÀº ÅؽºÆ® ÆíÁý±â °°Àº ±× ¾î¶² °£´ÜÇÑ ÇÁ·Î±×·¥¿¡¼­µµ °¡´ÉÇÕ´Ï´Ù. ¸¸¾à Áö±Ý °³¹ßȯ°æ¿¡¼­ ±× ÀÌ»óÀÇ °ÍÀ» ÇÊ¿ä·Î ÇÑ´Ù¸é, TextMate¿Í °°Àº ȯ°æ¿¡¼­ ´ç½ÅÀÇ Àç´ÉÀ» ¸¾²¯ »Ë³»º¸ÀÏ ¼öµµ ÀÖ½À´Ï´Ù. (ÇÊÀÚÀÇ Mac ȯ°æÀÇ ¼±ÅÃÀÔ´Ï´Ù...¤»¤»¤»). ¸¸¾à ¿ÀÁ÷ À¯´Ð½º°¡ ¾Æ´Ô ¹è°¶ó½ÄÀÇ Äָܼ¸ ¾²´Â °í¼ö¶ó¸é vi ³ª emacs ¿¡¼­ ÀÛ¾÷ÇÏ´Â°Ô ¾î¼¸é ¿Ïº®ÇÒ °ÍÀ̸ç, ÀÌ°Íµé ¾²´Â°Ô ¸Å¿ì ¸¶À½¿¡ ³»Å²´Ù¸é ´ëºÎºÐÀÇ ÀÛ¾÷Àº ÀÌ ÆíÁý±âµéÀÌ ·çºñ °³¹ßȯ°æ¿¡ ÀÖ¾î ¾µ¸¸ÇÑ °ÍµéÀÌ µÉ ¼ö ÀÖÀ¸¸ç À̰͵é·Î ÇÏ¿©±Ý ¸ðµç °ÍÀ» ³¡Àå³À´Ï´Ù.

Linux

¿©·¯ºÐµéÀÌ ÀÌ¹Ì ¼³Ä¡µÈ ·çºñ¸¦ °¡Áö°í ÀÖ´ÂÁö ¿©ºÎ¸¦ È®ÀÎÇϱâ À§ÇØ, ¸í·ÉÇà¿¡¼­ ruby -v ¶ó°í ÀÔ·ÂÇغ¸½Ê½Ã¿À. ¸¸¾à ¸®´ª½º°¡ ·çºñ¸¦ ãÀ» ¼ö ¾ø´Ù¸é, ¸í·ÉÇà¿¡ which ruby ¸¦ ÀÔ·ÂÇغ¸½Ê½Ã¿À. ¸¸¾à ·çºñ°¡ ¿©·¯ºÐÀÇ ½Ã½ºÅÛ¿¡ ¾ø´Ù´Â »ç½Ç¿¡ Á÷¸éÇÏ°Ô µÈ´Ù¸é, ·çºñ¸¦ ¼³Ä¡ÇÒ Áغñ¸¦ ÇϽʽÿÀ. ¿îÁÁ°Ôµµ, ·çºñ´Â ¸®´ª½º¸¦ ´Ù¾çÇÏ°Ô Áö¿øÇϸç, ¿©·¯ºÐµéÀÇ ¸®´ª½º »ç¿ëȯ°æ¿¡ µû¶ó ´Ù¸£°ÚÁö¸¸, ´ÙÀ½ Áß ÇÑ°¡Áö ¹æ¹ýÀ¸·Î ¼³Ä¡ÇÏ¼Å¾ß ÇÒ °ÍÀÔ´Ï´Ù.

Install from Administrator

¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ÄÄÇ»ÅÍÀÇ °ü¸®ÀÚ°¡ ¾Æ´Ï¶ó¸é, ½Ã½ºÅÛ °ü¸®ÀÚÀÇ ÀÚºñ¸¦ ±¸ÇØ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ´ç½ÅÀ» À§ÇØ ·çºñ¸¦ ¼³Ä¡ÇØ´Þ¶ó°í ±× ȤÀº ±×³à¿¡°Ô ¾Ö°ÉÇϽʽÿÀ. °£½ÄÀ» Á¦°øÇØÁֽʽÿÀ. ¸¸¾à ¼³Ä¡ÇÏÁö ¾ÊÀ¸¸é Ã¥»ó¿¡ ¿ÀÁÜÀ» °¥°Ü¹ö¸®°Ú´Ù°í ¸»ÇϽʽÿÀ. ¾î¶»°Ô Çؼ­µç ·çºñ¸¦ ¼³Ä¡ÇϽʽÿÀ.

Install from Package

ÆÐÅ°Áö¸¦ ÅëÇØ ¼³Ä¡ÇÏ·Á¸é ¹èÆ÷¹®¼­¸¦ Âü°íÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÔ´Ï´Ù. °¢°¢ÀÇ ¹èÆ÷ÆÇ µéÀº °¢±â ´Ù¸¥ ¹æ¹ýÀ¸·Î ¼³Ä¡¸¦ ¼öÇàÇÕ´Ï´Ù¸¸, ¸î¸î ¸®´ª½º ¹èÆ÷ÆÇ¿¡ ÆÐÅ°Áö°¡ ¾ø´Ù¸é, Ãß°¡ÀûÀ¸·Î ¹Þ¾Æ¾ß ÇÒ °ÍÀÔ´Ï´Ù. ¿ì¼±, Dag's, Mind's, Shadoi's, ¶Ç´Â Debian-Unofficial°ú °°Àº ºñ°ø½Ä ¹èÆ÷»çÀÌÆ®¸¦ ÂüÁ¶Çغ¸ÇÕ´Ï´Ù. (¾Æ´Ï¸é, ±¸±ÛÀÇ ¹æ´ëÇÑ ³»¿ëµéÀÌ ±Ã±ÝÁõÀ» ÇØ°áÇØÁÙ °ÍÀÔ´Ï´Ù). ¸¸¾à ÀÌ·± ¹æ¹ýÀ¸·Î ÇØ°á¹æ¹ýÀ» ¸øã°Ú´Ù¸é...

Install from Source

¼Ò½º·Î ¼³Ä¡¸¦ ÇÏ´Â °ÍÀº ¾î¶² »ç¶÷µé¿¡°Ô´Â ¿øÃÊÀû º»´ÉÀÔ´Ï´Ù. ¾à°£ÀÇ ´õ ³ªÀº ¼º´ÉÀ» º¼ ¼öµµ ÀÖ´Ù°í Àå´ãÇÕ´Ï´Ù¸¸, Àü ¼º°ÝÀÌ ±²ÀåÈ÷ ºÒ°°¾Æ¼­ ÃÖ´ëÇÑ »¡¸® °á°ú¸¦ º¸°í ½Í¾îÇÕ´Ï´Ù. Àú°°Àº °æ¿ì´Â ´ÜÁö ÆÐÅ°Áö¸¦ ´Ù¿î ¹Þ¾Æ ¶³±¸°í ¹Ù·Î ½ÇÇàÇÕ´Ï´Ù. ´ç½ÅÀÌ °íÅëÀ» Áñ±â´Â ÆíÀ̰ųª ¼³Ä¡ÇÒ ¼ö ÀÖ´Â ÆÐÅ°Áö¸¦ ãÀ» ¼ö ¾ø´Ù¸é, ¼Ò½º·ÎºÎÅÍ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀ» ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸ÕÀú, [http]http://www.ruby-lang.org ¸¦ ¹æ¹®ÇÏ°í ¼Ò½º ÀڷḦ ³»·Á ¹Þ½À´Ï´Ù. ±×·¯°í ³ª¼­ ´ÙÀ½°ú °°ÀÌ ¼Ò½ºÀÇ ¾ÐÃàÀ» Ç®°í ÇØ´ç ¼Ò½º µð·ºÅ丮·Î ÁøÀÔÇϵµ·Ï ÇÕ´Ï´Ù.:

tar -xvzf ruby-1.8.4.tar.gz
cd ruby-1.8.4

µð·ºÅ丮 ¾ÈÀ» Á» »ìÂ¥±â µÚÁ®º¾½Ã´Ù. ¾Æ¸¶ license³ª README¸¦ ÀÐ°í³ª¼­´Â ¸®´ª½º ¹èÆ÷ȯ°æ¿¡ ¸Â´Â ¿øÇÏ´Â ÇØ°á¹æ¹ýÀÌ ³ª¿ÀÁö ¾ÊÀ» °ÍÀÔ´Ï´Ù. ±×·¯¸é ´ÙÀ½°ú °°ÀÌ È¯°æÀ» ¼³Á¤ÇÏ°í ºôµåÇÏ°í ¼³Ä¡Çϵµ·Ï ÇÕ´Ï´Ù.:

./configure
make
make install
(¾Æ´Ï... À̸® °£´ÜÇÑ ¹æ¹ýÀÌ -_-;;)

¿©±â±îÁö ¿À¼Ì´Ù¸é Âü Àß ¿À½Å °ÍÀÔ´Ï´Ù. ruby -v ¶ó°í ÀÔ·ÂÇÏ¿© Àß ¼³Ä¡µÇ¾ú³ª È®ÀÎÇغ¾´Ï´Ù.

¸®´ª½º¿¡¼­ÀÇ ·çºñ ÆÄÀÏ ÆíÁýÀº ÀÚÁÖ ¾²´Â ÅؽºÆ® ÆíÁý±â¸¦ »ç¿ëÇÏ´Â °Í ¸¸Å­ °£´ÜÇÕ´Ï´Ù. gEdit ³ª ¿©·¯ºÐÀÌ ÁÁ¾ÆÇÏ´Â ÄÜ¼Ö ÆíÁý±â(¿¹¸¦ µé¾î vi, emacs, nano µî), X À©µµ¿ì ȯ°æ¿¡¼­ ¾µ ¼ö ÀÖ´Â xemacs µîÀ» ÆÄÀÏ ÆíÁý¿¡ »ç¿ëÇÕ´Ï´Ù. ÆíÁý±â»Ó¸¸ÀÌ ¾Æ´Ï¶ó jEdit ³ª Arachno Ruby ¿Í °°Àº ´õ¿í ÁÁÀº ȯ°æÀ» ¾òÀ» ¼ö´Â ÀÖ½À´Ï´Ù¸¸, ²À ÇÊ¿äÇÑ °ÍÀº ¾Æ´Õ´Ï´Ù.

0.3. ±×³à¸¦ ºÒ·¯ º¾½Ã´Ù! ¾ÑÈï~ =¤²=)/

ÀÌÁ¦ Ruby¿¡°Ô ¿©±â¿¡ Á¦½ÃµÈ ¸ðµç°É Çغ¸¶ó°í Çغ¾½Ã´Ù. (¾î° ¸»ÀÌ -_-;; ÀÌ»ó...) irb³ª fxri ¸¦ »ç¿ëÇÏ¿© ÆÄÀÏ¿¡ ÀúÀåµÈ ¼Ò½ºÄڵ带 Ä¡°Å³ª Áï¼®¿¡¼­ Çǵå¹éÀ» ¾òÀ» ¼ö ÀÖ°í Ruby¸¦ »ç¿ëÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à FM´ë·Î »ç¿ëÇÏ°í ½Í´Ù¸é, ¸í·ÉÁÙ¿¡¼­ irb¸¦ ÀÔ·ÂÇϵçÁö fxri¸¦ ÇÁ·Î±×·¥ ±×·ì¿¡¼­ ãÀ¸½Ã¸é µË´Ï´Ù. °£´ÜÇÏ°Ô ÀÔ·ÂÇÏ°í ½ÇÇàÇÏ°í ½Í´Ù¸é ±×³É ÀϹÝÀûÀÎ ÆíÁý±â¿¡¼­ ¿­°í ¼­µÑ·¯ ½ÃÀÛÇÏ½Ã¸é µË´Ï´Ù.

puts "Hello, world."

ÀÌ °úÁ¤Àº ¹°·Ð ´ëºÎºÐÀÇ ÇÁ·Î±×·¡¹Ö ¼­Àû¿¡¼­ Á¦ÀÏ ¸ÕÀú ¼Ò°³ µÇ´Â ¿¹½ÃÀÔ´Ï´Ù. ´ëÈ­Çü ½© Áß Çϳª¸¦ ¼±ÅÃÇÏ¿© »ç¿ëÇÏ°í ÀÖ´Ù¸é ÀÎÅÍÇÁ¸®Å͸¦ ÅëÇØ "Hello, world."¸¦ º¸°Ô µÉ °ÍÀÔ´Ï´Ù. ¸¸¾à ÆÄÀÏ ¾È¿¡ ÀÌ ÇÑ ¹®ÀåÀ» ³Ö¾ú´Ù¸é hello.rb ¿Í °°Àº À̸§À¸·Î ÀúÀåÀ» ÇϽðí ruby hello.rb ¸¦ ÀÔ·ÂÇÏ¿© ½ÇÇàÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ÀÌÁ¦ Á» Èï¹Ì·Î¿î°É ¸¸µé¾î º¸µµ·Ï ÇսôÙ.

puts "Hello, world. What is your name?"
myname = gets()
puts "Well, hello there " + myname + "."

ÆÄÀÏÀ» ´Ù½Ã ÀúÀåÇÏ°í ÀÌ°É ´Ù½Ã ½ÇÇàÇغ¾´Ï´Ù(¾Æ´Ï¸é ÀÎÅÍÇÁ¸®ÅÍ¿¡¼­ ÀÌ°É Ãĺ¾´Ï´Ù). Àλ縻À» º¼ ¼ö ÀÖÀ» °ÍÀÌ°í, À̸§À» ¹°¾îº¼ °ÍÀÔ´Ï´Ù. À̸§À» ÀÔ·ÂÇÏ°í ³ª¸é À̸§ÀÌ µé¾î°£ Àλ縻À» º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ°Ô ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö Á¤³ç ÀÌÇظ¦ ¸øÇϽðڴٱ¸¿ä? puts ´Â ÄÜ¼Ö»ó¿¡ ÁÙ±ÛÀ» »Ñ¸®´Â °ÍÀÌ°í gets´Â »ç¿ëÀÚ·Î ºÎÅÍ ÁÙ±ÛÀ» ¾ò¾î³»´Â °ÍÀÔ´Ï´Ù. ÀÌÁ¦ ·çºñÀÇ ÀϺθ¦ Ç㸮Ãã¿¡ ²ç á½À´Ï´Ù. ÀÌÁ¦ [http]1ÀåÀ¸·Î ³Ñ¾î°¡¼Åµµ ÁÁ½À´Ï´Ù.

0.4. ÀÌ Àå¿¡¼­´Â¿ë~*

¹» ¹è¿ü³ª º¼±î¿ë?...?
  • ·çºñÀÇ ¿ª»ç, ¾îµð¼­ºÎÅÍ À¯·¡Çß³ª..?
  • ·çºñ°¡ ¹ºÁö, ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö¿¡ ´ëÇÑ ¿äÁ¡
  • ·çºñ ¼³Ä¡´Â ¾î¶»°Ô ÇÏ´ÂÁö?
  • ·çºñÀÇ ÀϺÎ...

ID
Password
Join
The attacker must vanquish; the defender need only survive.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2007-01-22 12:21:33
Processing time 0.0072 sec