- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > ´õ źźÇÏ°Ô ¹è¿ì´Â ÆÄÀ̽ã3[¼º¾È´ç]
¿¬½À 53°³, Á¦µå¼îÀÇ À¯¸íÇÑ HARD WAY ½Ã¸®Áî!
°³¹ßÀÚÀÇ Áß¿äÇÑ 6°¡Áö ÁÖÁ¦·Î ÃÖÁ¾ ÇÁ·ÎÁ§Æ®±îÁö À̲ô´Â °³³ä ÀÖ´Â ÆÄÀ̽ã Ã¥!
ÃÊÂ¥¿¡¼ ´ÙÀ½ ´Ü°è, ÁִϾî ÆÄÀ̽㠰³¹ßÀÚ·Î ¾÷±×·¹À̵å!
´õ źźÇÏ°Ô ¹è¿ì´Â ÆÄÀ̽ã3
ÀÌ Ã¥ÀÇ ÀúÀÚ Á¦µå¼î(ZED A. SHAW.)´Â ´Ù¼öÀÇ ¿ÀÇ ¼Ò½º ÇÁ·ÎÁ§Æ®¸¦ â¾ÈÇÑ À¯¸í °³¹ßÀÚÀÌÀÚ 20³â µ¿¾È ÇÁ·Î±×·¡¹Ö°ú ÁýÇÊÀ» ÇØ¿Â À¯¸í ÀúÀÚÀ̱⵵ ÇÏ´Ù. ÇÑ ¹ß ´õ ³ª¾Æ°¡ ±×¸²À̳ª ¿¹¼ú»ç ¿¬±¸¿¡µµ Á¶¿¹°¡ ÀÖ´Â ´ÙÀç´Ù´ÉÇÑ ¸é¸ð¸¦ °®°í ÀÖ´Ù.
ÀÌ Ã¥ÀÇ ÀüÀÛ ÆÄÀ̽ã 3 ÀÔ¹®¼(Learn Python3 the hard way)´Â 3ÆDZîÁö ³ª¿Ô°í, ÀÌ Ã¥Àº ±× ÀÔ¹®¼¸¦ ÅëÇØ ½Ç·ÂÀ» ´ÙÁø µ¶ÀÚµéÀ» ±× ´ÙÀ½ ´Ü°è¸¦ °í¹ÎÇÏ¿© ÁýÇÊÇÑ Ã¥((Learn More Python3 the hard way)À¸·Î °³¹ßÀÚ ±³À°¿¡µµ °ü½ÉÀÌ ¸¹Àº ÀúÀÚ°¡ µ¶ÀÚµéÀ» Áß±Þ ÆÄÀ̽㠰³¹ßÀÚ·Î ½Ç·ÂÀ» ³ô¿©ÁÖ±â À§ÇØ °í¹ÎÇÏ¸ç ¸í·É¾î³ª µ¥ÀÌÅÍ ±¸Á¶, ÇÁ·ÎÁ§Æ® ¼±ÅÃ, µ¥ÀÌÅͺ£À̽º SQL°ú ¸ÊÇÎÇÏ´Â ¹ý µîÀ» ¼Ò°³Çϴ ¥ÀÓ»õ°¡ µ¸º¸À̴ åÀÌ´Ù.
¼¹®¿¡¼ ÀúÀÚ´Â ÇÁ·Î¼¼½º, âÀÇ·Â, Ä÷¸®Æ¼¶ó´Â ¼¼ °¡Áö Å« °³³ä°ú ÇÔ²² ÇÁ·Î±×·¡¸Ó¿¡°Ô Áß¿äÇÑ 6°¡Áö ÁÖÁ¦¿¡ ´ëÇØ ¼¼úÇÑ´Ù. ´Ü¼øÇÑ ÆÄÀ̽㠹®¹ýÀ» ¼Ò°³ÇÏ°í È°¿ëÇϴ åÀÌ ¾Æ´ÔÀ» Á÷°¨ÇÏ°Ô ÇØÁØ´Ù.
ÀúÀÚ´Â ÇнÀ ¸ñÇ¥ 6°¡Áö·Î ½ÃÀÛÇϱâ, µ¥ÀÌÅÍ ±¸Á¶, ¾Ë°í¸®Áò, ÅؽºÆ® ó¸®, µ¥ÀÌÅÍ ¸ðµ¨¸µ, À¯´Ð½º Åø(Ä¿¸Çµå¶óÀÎ Åø) µîÀ» Á¦½ÃÇÏ¸é¼ °³³äÀ» Àû¿ëÇϴµ¥ ÁýÁßÇÑ´Ù. ¸¶Áö¸· ÆÄÆ®¿¡¼ °£´ÜÇÑ À¥ »çÀÌÆ®¸¦ ¸¸µé¾îº¸¸é¼ ¾Õ¼ ¹è¿î ³»¿ëµéÀ» ¸ðµÎ ÅëÇÕÀûÀ¸·Î Àû¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¡®°³³ä Àִ¡¯ Ã¥ÀÌ´Ù.
¶Ç Çϳª. ÀÌ Ã¥ÀÇ ÀúÀÛ±Ç »çÀÎ ÇǾ »çÀÇ µµ¼ Á¤º¸ »çÀÌÆ®¿¡ Á¦Ç° µî·ÏÀ» ÇÏ¸é °£´ÜÇÑ È®ÀÎÀ» °ÅÃÄ ¿Â¶óÀÎ ºñµð¿À¸¦ ½ÇÇàÇÒ ¼ö Àִµ¥, ÀÌ ºñµð¿À¸¦ ÅëÇØ ÆÄÀ̽ã ÄÚµå °í¼öÀÇ ÄÚµå ¼öÁ¤°ú µð¹ö±ë ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ´Ù.
[ÀÌ Ã¥ÀÇ Æ¯Â¡]
¡Ü ÆÄÀ̽ã ÁÖ´Ï¾î °³¹ßÀÚ³ª ¼÷·ÃµÈ °³¹ßÀÚµµ ¿ÀÄÉÀÌ! ÆÄÀ̽ãÀ» ÀÌ¹Ì ½ÃÀÛÇÑ µ¶ÀÚ¶ó¸é Áß±Þ ÀÌ»óÀ¸·Î µµ¿ò´Ý±â¸¦ µµ¿ÍÁ٠åÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ Ã¥Àº µ¶ÀÚµéÀ» ¿Ïº®ÇÏ°Ô ¾÷±×·¹À̵åÇØÁÙ °ÍÀÌ´Ù.
¡Ü °íÇ°Áú ÆÄÀ̽ã ÄÚµå! ÀÌ Ã¥Àº ÇÁ·Î¼¼½º¿¡ ÁßÁ¡À» µÎ°í ½ÇÁ¦ ¹®Á¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ¹è¾çÇÒ ¼ö ÀÖ´Â °íÇ°Áú ÆÄÀ̽ã Äڵ带 ¼Ò°³ÇÔÀ¸·Î½á ÁøÁ¤ÇÑ ÆÄÀ̽㠰í¼ö·Î °Åµì³ª°Ô ÇØÁØ´Ù.
¡Ü ¿Â¶óÀÎ ºñµð¿À?! À¯¸í °³¹ßÀÚÀÎ ÀúÀÚ´Â 12½Ã°£ ºÐ·®ÀÇ ¿Â¶óÀÎ ºñµð¿À¸¦ ÅëÇØ ÆÄÀ̽ã Äڵ带 Á¦´ë·Î ¼öÁ¤ÇÏ°í µð¹ö±ëÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.
°³¹ßÀÚÀÇ Áß¿äÇÑ 6°¡Áö ÁÖÁ¦·Î ÃÖÁ¾ ÇÁ·ÎÁ§Æ®±îÁö À̲ô´Â °³³ä ÀÖ´Â ÆÄÀ̽ã Ã¥!
ÃÊÂ¥¿¡¼ ´ÙÀ½ ´Ü°è, ÁִϾî ÆÄÀ̽㠰³¹ßÀÚ·Î ¾÷±×·¹À̵å!
´õ źźÇÏ°Ô ¹è¿ì´Â ÆÄÀ̽ã3
ÀÌ Ã¥ÀÇ ÀúÀÚ Á¦µå¼î(ZED A. SHAW.)´Â ´Ù¼öÀÇ ¿ÀÇ ¼Ò½º ÇÁ·ÎÁ§Æ®¸¦ â¾ÈÇÑ À¯¸í °³¹ßÀÚÀÌÀÚ 20³â µ¿¾È ÇÁ·Î±×·¡¹Ö°ú ÁýÇÊÀ» ÇØ¿Â À¯¸í ÀúÀÚÀ̱⵵ ÇÏ´Ù. ÇÑ ¹ß ´õ ³ª¾Æ°¡ ±×¸²À̳ª ¿¹¼ú»ç ¿¬±¸¿¡µµ Á¶¿¹°¡ ÀÖ´Â ´ÙÀç´Ù´ÉÇÑ ¸é¸ð¸¦ °®°í ÀÖ´Ù.
ÀÌ Ã¥ÀÇ ÀüÀÛ ÆÄÀ̽ã 3 ÀÔ¹®¼(Learn Python3 the hard way)´Â 3ÆDZîÁö ³ª¿Ô°í, ÀÌ Ã¥Àº ±× ÀÔ¹®¼¸¦ ÅëÇØ ½Ç·ÂÀ» ´ÙÁø µ¶ÀÚµéÀ» ±× ´ÙÀ½ ´Ü°è¸¦ °í¹ÎÇÏ¿© ÁýÇÊÇÑ Ã¥((Learn More Python3 the hard way)À¸·Î °³¹ßÀÚ ±³À°¿¡µµ °ü½ÉÀÌ ¸¹Àº ÀúÀÚ°¡ µ¶ÀÚµéÀ» Áß±Þ ÆÄÀ̽㠰³¹ßÀÚ·Î ½Ç·ÂÀ» ³ô¿©ÁÖ±â À§ÇØ °í¹ÎÇÏ¸ç ¸í·É¾î³ª µ¥ÀÌÅÍ ±¸Á¶, ÇÁ·ÎÁ§Æ® ¼±ÅÃ, µ¥ÀÌÅͺ£À̽º SQL°ú ¸ÊÇÎÇÏ´Â ¹ý µîÀ» ¼Ò°³Çϴ ¥ÀÓ»õ°¡ µ¸º¸À̴ åÀÌ´Ù.
¼¹®¿¡¼ ÀúÀÚ´Â ÇÁ·Î¼¼½º, âÀÇ·Â, Ä÷¸®Æ¼¶ó´Â ¼¼ °¡Áö Å« °³³ä°ú ÇÔ²² ÇÁ·Î±×·¡¸Ó¿¡°Ô Áß¿äÇÑ 6°¡Áö ÁÖÁ¦¿¡ ´ëÇØ ¼¼úÇÑ´Ù. ´Ü¼øÇÑ ÆÄÀ̽㠹®¹ýÀ» ¼Ò°³ÇÏ°í È°¿ëÇϴ åÀÌ ¾Æ´ÔÀ» Á÷°¨ÇÏ°Ô ÇØÁØ´Ù.
ÀúÀÚ´Â ÇнÀ ¸ñÇ¥ 6°¡Áö·Î ½ÃÀÛÇϱâ, µ¥ÀÌÅÍ ±¸Á¶, ¾Ë°í¸®Áò, ÅؽºÆ® ó¸®, µ¥ÀÌÅÍ ¸ðµ¨¸µ, À¯´Ð½º Åø(Ä¿¸Çµå¶óÀÎ Åø) µîÀ» Á¦½ÃÇÏ¸é¼ °³³äÀ» Àû¿ëÇϴµ¥ ÁýÁßÇÑ´Ù. ¸¶Áö¸· ÆÄÆ®¿¡¼ °£´ÜÇÑ À¥ »çÀÌÆ®¸¦ ¸¸µé¾îº¸¸é¼ ¾Õ¼ ¹è¿î ³»¿ëµéÀ» ¸ðµÎ ÅëÇÕÀûÀ¸·Î Àû¿ëÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â ¡®°³³ä Àִ¡¯ Ã¥ÀÌ´Ù.
¶Ç Çϳª. ÀÌ Ã¥ÀÇ ÀúÀÛ±Ç »çÀÎ ÇǾ »çÀÇ µµ¼ Á¤º¸ »çÀÌÆ®¿¡ Á¦Ç° µî·ÏÀ» ÇÏ¸é °£´ÜÇÑ È®ÀÎÀ» °ÅÃÄ ¿Â¶óÀÎ ºñµð¿À¸¦ ½ÇÇàÇÒ ¼ö Àִµ¥, ÀÌ ºñµð¿À¸¦ ÅëÇØ ÆÄÀ̽ã ÄÚµå °í¼öÀÇ ÄÚµå ¼öÁ¤°ú µð¹ö±ë ¹æ¹ýÀ» ¹è¿ï ¼ö ÀÖ´Ù.
[ÀÌ Ã¥ÀÇ Æ¯Â¡]
¡Ü ÆÄÀ̽ã ÁÖ´Ï¾î °³¹ßÀÚ³ª ¼÷·ÃµÈ °³¹ßÀÚµµ ¿ÀÄÉÀÌ! ÆÄÀ̽ãÀ» ÀÌ¹Ì ½ÃÀÛÇÑ µ¶ÀÚ¶ó¸é Áß±Þ ÀÌ»óÀ¸·Î µµ¿ò´Ý±â¸¦ µµ¿ÍÁ٠åÀÌ ÇÊ¿äÇÏ´Ù. ÀÌ Ã¥Àº µ¶ÀÚµéÀ» ¿Ïº®ÇÏ°Ô ¾÷±×·¹À̵åÇØÁÙ °ÍÀÌ´Ù.
¡Ü °íÇ°Áú ÆÄÀ̽ã ÄÚµå! ÀÌ Ã¥Àº ÇÁ·Î¼¼½º¿¡ ÁßÁ¡À» µÎ°í ½ÇÁ¦ ¹®Á¦ ÇØ°áÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» ¹è¾çÇÒ ¼ö ÀÖ´Â °íÇ°Áú ÆÄÀ̽ã Äڵ带 ¼Ò°³ÇÔÀ¸·Î½á ÁøÁ¤ÇÑ ÆÄÀ̽㠰í¼ö·Î °Åµì³ª°Ô ÇØÁØ´Ù.
¡Ü ¿Â¶óÀÎ ºñµð¿À?! À¯¸í °³¹ßÀÚÀÎ ÀúÀÚ´Â 12½Ã°£ ºÐ·®ÀÇ ¿Â¶óÀÎ ºñµð¿À¸¦ ÅëÇØ ÆÄÀ̽ã Äڵ带 Á¦´ë·Î ¼öÁ¤ÇÏ°í µð¹ö±ëÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.
ÀúÀÚ: Á¦µå ¼î
Preface 1¤ýÀúÀÚ ¼¹®
ÇÁ·Î¼¼½º, âÀÇ·Â, Ä÷¸®Æ¼¿Í ÇÁ·Î±×·¡¸Ó¿¡°Ô Áß¿äÇÑ 6°¡Áö ÁÖÁ¦ ¤ý9
½º½º·ÎÀÇ ´É·ÂÀ» Å°¿ì´Â µ¥ ÇÊ¿äÇÑ ³»¿ëµé ¤ý11 ºñµð¿À »ç¿ë ¹æ¹ý ¤ý12
Preface 2¤ý¿ªÀÚ ¼¹®
ÆÄÀ̽ã°úÀÇ Àο¬ ¤ý15
PART 1 ±âÃÊ Áö½Ä
¸¸¾à Á¦µåÀÇ µÐÇÑ ÇÁ·Î¼¼½º¸¦ µû¸£°í ½ÍÁö ¾Ê´Ù¸é? ¤ý22
³»°Ô ½É°¢ÇÑ ¹®Á¦°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÈ´Ù¸é? ¤ý22
¿¬½À 00 ÁغñÇϱâ
ÇÁ·Î±×·¡¸ÓµéÀÌ ¾²´Â ¿¡µðÅÍ ¤ý24 ÆÄÀ̽ã 3.6 ¤ý25 Å͹̳ηΠÀÛ¾÷Çϱ⠤ý26
pip¿Í virtualenv·Î ÀÛ¾÷ ȯ°æ ¸¸µé±â ¤ý26 ¿¬±¸ ³ëÆ® ÀÛ¼º ¤ý27
±êÇãºê °èÁ¤ ¤ý27 ±ê(git) ¤ý28 ¿É¼Ç: È¸é ·¹ÄÚµù ¼ÒÇÁÆ®¿þ¾î ¤ý28
Ãß°¡ ÇнÀ ¤ý29
¿¬½À 01 ÇÁ·Î¼¼½º¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý33 ÈÆ·Ã ¤ý34 Ãß°¡ ÇнÀ ¤ý34
¿¬½À 02 âÀǼº¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý36 ÈÆ·Ã ¤ý38
¿¬½À 03 Ä÷¸®Æ¼¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý42 ÈÆ·Ã ¤ý43
PART 2 ºü¸£°Ô ÇØÅ·Çϱâ
âÁ¶ÇÏ´Â °Í ¿¬½ÀÇϱ⠤ý47 Ãʺ¸ ÄÚ´õ¸¦ À§ÇÑ ÇÁ·Î¼¼½º ¤ý50
Ãʺ¸ ÄÚ´õÀÇ ÄÚµù ÇÁ·Î¼¼½º ¤ý51
¿¬½À 04 Ä¿¸Çµå ¶óÀÎ ¾Æ±Ô¸ÕÆ® ó¸®Çϱâ
µµÀü °úÁ¦ ¤ý54 ¼Ö·ç¼Ç ¤ý55 ÈÆ·Ã ¤ý56
¿¬½À 05 cat
µµÀü °úÁ¦ ¤ý58 ¼Ö·ç¼Ç ¤ý59 ½Ç½À ¤ý60 Ãß°¡ ÇнÀ ¤ý60
¿¬½À 06 find
µµÀü °úÁ¦ ¤ý63 ÈÆ·Ã ¤ý64 Ãß°¡ ÇнÀ ¤ý65
¿¬½À 07 grep
µµÀü °úÁ¦ ¤ý67 ÈÆ·Ã ¤ý68 Ãß°¡ ÇнÀ ¤ý68
¿¬½À 08 cut
µµÀü °úÁ¦ ¤ý71 ÈÆ·Ã ¤ý71 Ãß°¡ ÇнÀ ¤ý72
¿¬½À 09 sed
µµÀü °úÁ¦ ¤ý74 ÈÆ·Ã ¤ý75 Ãß°¡ ÇнÀ ¤ý76
¿¬½À 10 sort
µµÀü °úÁ¦ ¤ý78 ÈÆ·Ã ¤ý79 Ãß°¡ ÇнÀ ¤ý80
¿¬½À 11 uniq
µµÀü °úÁ¦ ¤ý82 ÈÆ·Ã ¤ý83 Ãß°¡ ÇнÀ ¤ý83
¿¬½À 12 ¸®ºä
µµÀü °úÁ¦ ¤ý85 ÈÆ·Ã ¤ý86 Ãß°¡ ÇнÀ ¤ý87
PART 3 µ¥ÀÌÅÍ ±¸Á¶
µ¥ÀÌÅÍ ±¸Á¶·Î Ç°Áú ¹è¿ì±â ¤ý92 µ¥ÀÌÅÍ ±¸Á¶¸¦ ¹è¿ì´Â ¹æ¹ý ¤ý93
¿¬½À 13 ½Ì±Û ¸µÅ©µå ¸®½ºÆ®
¼³¸í ¤ý97 ÄÁÆ®·Ñ·¯ ¤ý100 Å×½ºÆ® ¤ý102 ¿Àµ÷(Audit)¿¡ ´ëÇؼ ¤ý105
µµÀü °úÁ¦ ¤ý107 ¿Àµ÷ ¤ý108 Ãß°¡ ÇнÀ ¤ý108
¿¬½À 14 ´õºí ¸µÅ©µå ¸®½ºÆ®
ºÒº¯ Á¶°ÇÀ̶õ? ¤ý111 µµÀü °úÁ¦ ¤ý113 ÈÆ·Ã ¤ý114
¿¬½À 15 ½ºÅðú Å¥
µµÀü °úÁ¦ ¤ý116 ÄÚµå ±úºÎ¼ö±â ¤ý118 Ãß°¡ ÇнÀ ¤ý119
¿¬½À 16 ¹öºí, Äü ±×¸®°í ÇÕº´ Á¤·Ä
µµÀü °úÁ¦ ¤ý121 ¹öºí Á¤·Ä °øºÎÇϱ⠤ý124 ÇÕº´ Á¤·Ä ¤ý125
ÇÕº´ Á¤·ÄÀÇ cheat ¸ðµå ¤ý127 Äü Á¤·Ä(Quick Sort) ¤ý129 ÈÆ·Ã ¤ý130
¿¬½À 17 µñ¼Å³Ê¸®
µµÀü °úÁ¦ ¤ý131 ¸¶½ºÅÍ Ä«ÇÇ Çغ¸±â ¤ý132 ÄÚµå º¹»çÇϱ⠤ý133
Äڵ忡 ÁÖ¼® ´Þ±â ¤ý138 µ¥ÀÌÅÍ ±¸Á¶ ¿ä¾àÇϱ⠤ý139 ¿ä¾àÇÑ °Í ±â¾ïÇϱ⠤ý140
±â¾ï¸¸À¸·Î ±¸ÇöÇϱ⠤ý141 ¹Ýº¹Çϱ⠤ý142 ÈÆ·Ã ¤ý143 ÄÚµå ±úºÎ¼ö±â ¤ý143
¿¬½À 18 ¼º´É ÃøÁ¤Çϱâ
ºÐ¼® Åø ¤ý145 timeit ¤ý145 cProfile°ú profile ¤ý146 ¼º´É ºÐ¼® ¤ý149
µµÀü °úÁ¦ ¤ý151 ÈÆ·Ã ¤ý152 ÄÚµå ±úºÎ¼ö±â ¤ý152 Ãß°¡ ÇнÀ ¤ý152
¿¬½À 19 ¼º´É °³¼±Çϱâ
µµÀü °úÁ¦ ¤ý155 Ãß°¡ ÇнÀ ¤ý156
¿¬½À 20 ÀÌÁø °Ë»ö Æ®¸®
BSTreeÀÇ ¿ä±¸ Á¶°Ç ¤ý157 ³ëµå »èÁ¦Çϱ⠤ý159 µµÀü °úÁ¦ ¤ý160 ÈÆ·Ã ¤ý161
¿¬½À 21 ÀÌÁø Ž»ö
µµÀü °úÁ¦ ¤ý162 ÈÆ·Ã ¤ý163 Ãß°¡ ÇнÀ ¤ý164
¿¬½À 22 Á¢¹Ì»ç ¹è¿
µµÀü °úÁ¦ ¤ý167 ÈÆ·Ã ¤ý168 Ãß°¡ ÇнÀ ¤ý168
¿¬½À 23 »ïÁø °Ë»ö Æ®¸®
µµÀü °úÁ¦ ¤ý170 ÈÆ·Ã ¤ý172
¿¬½À 24 ºü¸£°Ô URL °Ë»öÇϱâ
µµÀü °úÁ¦ ¤ý173 ÈÆ·Ã ¤ý175 Ãß°¡ ÇнÀ ¤ý175
PART 4 Àӽà ÇÁ·ÎÁ§Æ®
¿À·ù ÃßÀûÇϱ⠤ý179
¿¬½À 25 xargs
µµÀü °úÁ¦ ¤ý180 ÈÆ·Ã ¤ý181
¿¬½À 26 hexdump
µµÀü °úÁ¦ ¤ý183 ÈÆ·Ã ¤ý185 Ãß°¡ ÇнÀ ¤ý185
¿¬½À 27 tr
µµÀü °úÁ¦ ¤ý187 ºñÆÇÀûÀ¸·Î 45ºÐ º¸±â ¤ý188 ÈÆ·Ã ¤ý189
¿¬½À 28 sh
µµÀü °úÁ¦ ¤ý191 ÈÆ·Ã ¤ý192 Ãß°¡ ÇнÀ ¤ý192
¿¬½À 29 diff¿Í patch
µµÀü °úÁ¦ ¤ý193 ÈÆ·Ã ¤ý195 Ãß°¡ ÇнÀ ¤ý195
PART 5 ÅؽºÆ® ÆĽÌ
ÄÚµå Ä¿¹ö¸®Áö ¤ý199
¿¬½À 30 À¯ÇÑ »óÅ ¸Ó½Å(FSM)
µµÀü °úÁ¦ ¤ý203 ÈÆ·Ã ¤ý207 Ãß°¡ ÇнÀ ¤ý207
¿¬½À 31 Á¤±Ô Ç¥Çö½Ä
µµÀü °úÁ¦ ¤ý210 ÈÆ·Ã ¤ý211 Ãß°¡ ÇнÀ ¤ý211
¿¬½À 32 ½ºÄ³³Ê
´Ü¼øÇÑ ÆÄÀ̽㠽ºÄ³³Ê ¤ý215 µµÀü °úÁ¦ ¤ý217 ÈÆ·Ã ¤ý218 Ãß°¡ ÇнÀ ¤ý218
¿¬½À 33 Æļ
Àç±Í ÇÏÇâ ÆĽÌ(RDP) ¤ý222 BNF ¹®¹ý ¤ý223 Äü µ¥¸ð ÇØÅ· Æļ ¤ý226
µµÀü °úÁ¦ ¤ý229 ÈÆ·Ã ¤ý230 Ãß°¡ ÇнÀ ¤ý230
¿¬½À 34 ºÐ¼®
¹æ¹®ÀÚ ÆÐÅÏ ¤ý232 ª°í ´Ü¼øÇÑ ÆÄÀ̽㠺м®±â ¤ý233 Æļ vs. ºÐ¼®±â ¤ý238
µµÀü °úÁ¦ ¤ý238 ÈÆ·Ã ¤ý239 Ãß°¡ ÇнÀ ¤ý240
¿¬½À 35 ÀÎÅÍÇÁ¸®ÅÍ
ÀÎÅÍÇÁ¸®ÅÍ vs. ÄÄÆÄÀÏ·¯ ¤ý241 ÆÄÀ̽ãÀº ÄÄÆÄÀÏ·¯ÀÌ¸é¼ ÀÎÅÍÇÁ¸®ÅÍ ¤ý243
ÀÎÅÍÇÁ¸®ÅÍ ÀÛ¼ºÇϱ⠤ý244 µµÀü °úÁ¦ ¤ý244 ÈÆ·Ã ¤ý245 Ãß°¡ ÇнÀ ¤ý245
¿¬½À 36 °£´ÜÇÑ °è»ê±â
µµÀü °úÁ¦ ¤ý246 ÈÆ·Ã ¤ý248 Ãß°¡ ÇнÀ ¤ý248
¿¬½À 37 ¸®Æ² º£ÀÌÁ÷
µµÀü °úÁ¦ ¤ý250 ÈÆ·Ã ¤ý251
PART 6 SQL°ú °´Ã¼ °ü°èÇü ¸ÊÇÎ
SQLÀ» ÀÌÇØÇÏ´Â °ÍÀº Å×À̺íÀ» ÀÌÇØÇÏ´Â °Í ¤ý255 ¹è¿ì°Ô µÉ °Íµé ¤ý256
¿¬½À 38 SQL ¼Ò°³
SQLÀº ¹«¾ùÀΰ¡? ¤ý259 µ¥ÀÌÅͺ£À̽º ÁغñÇϱ⠤ý261 SQL ¿ë¾î ¹è¿ì±â ¤ý262
SQL ¹®¹ý ¤ý263 Ãß°¡ ÇнÀ ¤ý264
¿¬½À 39 SQL·Î »ý¼ºÇϱâ
Å×ÀÌºí »ý¼º ¤ý265 ¿©·¯ °³ÀÇ Å×ÀÌºí »ý¼ºÇϱ⠤ý266 µ¥ÀÌÅÍ Ãß°¡Çϱ⠤ý268
ÂüÁ¶ µ¥ÀÌÅÍ Ãß°¡Çϱ⠤ý269 µµÀü °úÁ¦ ¤ý269 Ãß°¡ ÇнÀ ¤ý270
¿¬½À 40 SQL·Î µ¥ÀÌÅÍ Àбâ
¿©·¯ Å×À̺íÀÇ µ¥ÀÌÅ͸¦ SELECT Çϱ⠤ý272 µµÀü °úÁ¦ ¤ý274 Ãß°¡ ÇнÀ ¤ý274
¿¬½À 41 SQL·Î µ¥ÀÌÅÍ °»½ÅÇϱâ
º¹ÀâÇÑ µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ® ¤ý276 µ¥ÀÌÅÍ ±³Ã¼Çϱ⠤ý277 µµÀü °úÁ¦ ¤ý278
Ãß°¡ ÇнÀ ¤ý278
¿¬½À 42 SQL·Î »èÁ¦Çϱâ
´Ù¸¥ Å×À̺íÀ» ÀÌ¿ëÇØ »èÁ¦Çϱ⠤ý280 µµÀü °úÁ¦ ¤ý282 Ãß°¡ ÇнÀ ¤ý282
¿¬½À 43 SQL °ü¸®Çϱâ
Å×À̺íÀ» »èÁ¦ÇÏ°í º¯°æÇϱ⠤ý283 µ¥ÀÌÅÍ ÀÌÀü ¹× µ¥ÀÌÅÍ ÁøÈ ¤ý285
µµÀü °úÁ¦ ¤ý286 Ãß°¡ ÇнÀ ¤ý287
¿¬½À 44 ÆÄÀ̽㠵¥ÀÌÅͺ£À̽º API »ç¿ëÇϱâ
API ¹è¿ì±â ¤ý288 µµÀü °úÁ¦ ¤ý290 Ãß°¡ ÇнÀ ¤ý290
¿¬½À 45 ORM ¸¸µé±â
µµÀü °úÁ¦ ¤ý291 Ãß°¡ ÇнÀ ¤ý293
PART 7 ¸¶Áö¸· ÇÁ·ÎÁ§Æ®
¿©·¯ºÐÀÌ ÀÏÇÏ´Â ÇÁ·Î¼¼½º´Â ¹«¾ùÀΰ¡? ¤ý297
¿¬½À 46 ºí·Î±×
µµÀü °úÁ¦ ¤ý299 ÈÆ·Ã ¤ý301
¿¬½À 47 bc
µµÀü °úÁ¦ ¤ý302 ÈÆ·Ã ¤ý304
¿¬½À 48 ed
µµÀü °úÁ¦ ¤ý305 ÈÆ·Ã ¤ý307
¿¬½À 49 sed
µµÀü °úÁ¦ ¤ý309 ÈÆ·Ã ¤ý310
¿¬½À 50 vi
µµÀü °úÁ¦ ¤ý312 ÈÆ·Ã ¤ý313
¿¬½À 51 lessweb
µµÀü °úÁ¦ ¤ý314 ÄÚµå ±úºÎ¼ö±â ¤ý315 ÈÆ·Ã ¤ý316
¿¬½À 52 moreweb
µµÀü °úÁ¦ ¤ý317 ÄÚµå ±úºÎ¼ö±â ¤ý319 Ãß°¡ ÇнÀ ¤ý319
Index¤ýã¾Æº¸±â ¤ý320
ÇÁ·Î¼¼½º, âÀÇ·Â, Ä÷¸®Æ¼¿Í ÇÁ·Î±×·¡¸Ó¿¡°Ô Áß¿äÇÑ 6°¡Áö ÁÖÁ¦ ¤ý9
½º½º·ÎÀÇ ´É·ÂÀ» Å°¿ì´Â µ¥ ÇÊ¿äÇÑ ³»¿ëµé ¤ý11 ºñµð¿À »ç¿ë ¹æ¹ý ¤ý12
Preface 2¤ý¿ªÀÚ ¼¹®
ÆÄÀ̽ã°úÀÇ Àο¬ ¤ý15
PART 1 ±âÃÊ Áö½Ä
¸¸¾à Á¦µåÀÇ µÐÇÑ ÇÁ·Î¼¼½º¸¦ µû¸£°í ½ÍÁö ¾Ê´Ù¸é? ¤ý22
³»°Ô ½É°¢ÇÑ ¹®Á¦°¡ ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÈ´Ù¸é? ¤ý22
¿¬½À 00 ÁغñÇϱâ
ÇÁ·Î±×·¡¸ÓµéÀÌ ¾²´Â ¿¡µðÅÍ ¤ý24 ÆÄÀ̽ã 3.6 ¤ý25 Å͹̳ηΠÀÛ¾÷Çϱ⠤ý26
pip¿Í virtualenv·Î ÀÛ¾÷ ȯ°æ ¸¸µé±â ¤ý26 ¿¬±¸ ³ëÆ® ÀÛ¼º ¤ý27
±êÇãºê °èÁ¤ ¤ý27 ±ê(git) ¤ý28 ¿É¼Ç: È¸é ·¹ÄÚµù ¼ÒÇÁÆ®¿þ¾î ¤ý28
Ãß°¡ ÇнÀ ¤ý29
¿¬½À 01 ÇÁ·Î¼¼½º¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý33 ÈÆ·Ã ¤ý34 Ãß°¡ ÇнÀ ¤ý34
¿¬½À 02 âÀǼº¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý36 ÈÆ·Ã ¤ý38
¿¬½À 03 Ä÷¸®Æ¼¿¡ ´ëÇؼ
µµÀü °úÁ¦ ¤ý42 ÈÆ·Ã ¤ý43
PART 2 ºü¸£°Ô ÇØÅ·Çϱâ
âÁ¶ÇÏ´Â °Í ¿¬½ÀÇϱ⠤ý47 Ãʺ¸ ÄÚ´õ¸¦ À§ÇÑ ÇÁ·Î¼¼½º ¤ý50
Ãʺ¸ ÄÚ´õÀÇ ÄÚµù ÇÁ·Î¼¼½º ¤ý51
¿¬½À 04 Ä¿¸Çµå ¶óÀÎ ¾Æ±Ô¸ÕÆ® ó¸®Çϱâ
µµÀü °úÁ¦ ¤ý54 ¼Ö·ç¼Ç ¤ý55 ÈÆ·Ã ¤ý56
¿¬½À 05 cat
µµÀü °úÁ¦ ¤ý58 ¼Ö·ç¼Ç ¤ý59 ½Ç½À ¤ý60 Ãß°¡ ÇнÀ ¤ý60
¿¬½À 06 find
µµÀü °úÁ¦ ¤ý63 ÈÆ·Ã ¤ý64 Ãß°¡ ÇнÀ ¤ý65
¿¬½À 07 grep
µµÀü °úÁ¦ ¤ý67 ÈÆ·Ã ¤ý68 Ãß°¡ ÇнÀ ¤ý68
¿¬½À 08 cut
µµÀü °úÁ¦ ¤ý71 ÈÆ·Ã ¤ý71 Ãß°¡ ÇнÀ ¤ý72
¿¬½À 09 sed
µµÀü °úÁ¦ ¤ý74 ÈÆ·Ã ¤ý75 Ãß°¡ ÇнÀ ¤ý76
¿¬½À 10 sort
µµÀü °úÁ¦ ¤ý78 ÈÆ·Ã ¤ý79 Ãß°¡ ÇнÀ ¤ý80
¿¬½À 11 uniq
µµÀü °úÁ¦ ¤ý82 ÈÆ·Ã ¤ý83 Ãß°¡ ÇнÀ ¤ý83
¿¬½À 12 ¸®ºä
µµÀü °úÁ¦ ¤ý85 ÈÆ·Ã ¤ý86 Ãß°¡ ÇнÀ ¤ý87
PART 3 µ¥ÀÌÅÍ ±¸Á¶
µ¥ÀÌÅÍ ±¸Á¶·Î Ç°Áú ¹è¿ì±â ¤ý92 µ¥ÀÌÅÍ ±¸Á¶¸¦ ¹è¿ì´Â ¹æ¹ý ¤ý93
¿¬½À 13 ½Ì±Û ¸µÅ©µå ¸®½ºÆ®
¼³¸í ¤ý97 ÄÁÆ®·Ñ·¯ ¤ý100 Å×½ºÆ® ¤ý102 ¿Àµ÷(Audit)¿¡ ´ëÇؼ ¤ý105
µµÀü °úÁ¦ ¤ý107 ¿Àµ÷ ¤ý108 Ãß°¡ ÇнÀ ¤ý108
¿¬½À 14 ´õºí ¸µÅ©µå ¸®½ºÆ®
ºÒº¯ Á¶°ÇÀ̶õ? ¤ý111 µµÀü °úÁ¦ ¤ý113 ÈÆ·Ã ¤ý114
¿¬½À 15 ½ºÅðú Å¥
µµÀü °úÁ¦ ¤ý116 ÄÚµå ±úºÎ¼ö±â ¤ý118 Ãß°¡ ÇнÀ ¤ý119
¿¬½À 16 ¹öºí, Äü ±×¸®°í ÇÕº´ Á¤·Ä
µµÀü °úÁ¦ ¤ý121 ¹öºí Á¤·Ä °øºÎÇϱ⠤ý124 ÇÕº´ Á¤·Ä ¤ý125
ÇÕº´ Á¤·ÄÀÇ cheat ¸ðµå ¤ý127 Äü Á¤·Ä(Quick Sort) ¤ý129 ÈÆ·Ã ¤ý130
¿¬½À 17 µñ¼Å³Ê¸®
µµÀü °úÁ¦ ¤ý131 ¸¶½ºÅÍ Ä«ÇÇ Çغ¸±â ¤ý132 ÄÚµå º¹»çÇϱ⠤ý133
Äڵ忡 ÁÖ¼® ´Þ±â ¤ý138 µ¥ÀÌÅÍ ±¸Á¶ ¿ä¾àÇϱ⠤ý139 ¿ä¾àÇÑ °Í ±â¾ïÇϱ⠤ý140
±â¾ï¸¸À¸·Î ±¸ÇöÇϱ⠤ý141 ¹Ýº¹Çϱ⠤ý142 ÈÆ·Ã ¤ý143 ÄÚµå ±úºÎ¼ö±â ¤ý143
¿¬½À 18 ¼º´É ÃøÁ¤Çϱâ
ºÐ¼® Åø ¤ý145 timeit ¤ý145 cProfile°ú profile ¤ý146 ¼º´É ºÐ¼® ¤ý149
µµÀü °úÁ¦ ¤ý151 ÈÆ·Ã ¤ý152 ÄÚµå ±úºÎ¼ö±â ¤ý152 Ãß°¡ ÇнÀ ¤ý152
¿¬½À 19 ¼º´É °³¼±Çϱâ
µµÀü °úÁ¦ ¤ý155 Ãß°¡ ÇнÀ ¤ý156
¿¬½À 20 ÀÌÁø °Ë»ö Æ®¸®
BSTreeÀÇ ¿ä±¸ Á¶°Ç ¤ý157 ³ëµå »èÁ¦Çϱ⠤ý159 µµÀü °úÁ¦ ¤ý160 ÈÆ·Ã ¤ý161
¿¬½À 21 ÀÌÁø Ž»ö
µµÀü °úÁ¦ ¤ý162 ÈÆ·Ã ¤ý163 Ãß°¡ ÇнÀ ¤ý164
¿¬½À 22 Á¢¹Ì»ç ¹è¿
µµÀü °úÁ¦ ¤ý167 ÈÆ·Ã ¤ý168 Ãß°¡ ÇнÀ ¤ý168
¿¬½À 23 »ïÁø °Ë»ö Æ®¸®
µµÀü °úÁ¦ ¤ý170 ÈÆ·Ã ¤ý172
¿¬½À 24 ºü¸£°Ô URL °Ë»öÇϱâ
µµÀü °úÁ¦ ¤ý173 ÈÆ·Ã ¤ý175 Ãß°¡ ÇнÀ ¤ý175
PART 4 Àӽà ÇÁ·ÎÁ§Æ®
¿À·ù ÃßÀûÇϱ⠤ý179
¿¬½À 25 xargs
µµÀü °úÁ¦ ¤ý180 ÈÆ·Ã ¤ý181
¿¬½À 26 hexdump
µµÀü °úÁ¦ ¤ý183 ÈÆ·Ã ¤ý185 Ãß°¡ ÇнÀ ¤ý185
¿¬½À 27 tr
µµÀü °úÁ¦ ¤ý187 ºñÆÇÀûÀ¸·Î 45ºÐ º¸±â ¤ý188 ÈÆ·Ã ¤ý189
¿¬½À 28 sh
µµÀü °úÁ¦ ¤ý191 ÈÆ·Ã ¤ý192 Ãß°¡ ÇнÀ ¤ý192
¿¬½À 29 diff¿Í patch
µµÀü °úÁ¦ ¤ý193 ÈÆ·Ã ¤ý195 Ãß°¡ ÇнÀ ¤ý195
PART 5 ÅؽºÆ® ÆĽÌ
ÄÚµå Ä¿¹ö¸®Áö ¤ý199
¿¬½À 30 À¯ÇÑ »óÅ ¸Ó½Å(FSM)
µµÀü °úÁ¦ ¤ý203 ÈÆ·Ã ¤ý207 Ãß°¡ ÇнÀ ¤ý207
¿¬½À 31 Á¤±Ô Ç¥Çö½Ä
µµÀü °úÁ¦ ¤ý210 ÈÆ·Ã ¤ý211 Ãß°¡ ÇнÀ ¤ý211
¿¬½À 32 ½ºÄ³³Ê
´Ü¼øÇÑ ÆÄÀ̽㠽ºÄ³³Ê ¤ý215 µµÀü °úÁ¦ ¤ý217 ÈÆ·Ã ¤ý218 Ãß°¡ ÇнÀ ¤ý218
¿¬½À 33 Æļ
Àç±Í ÇÏÇâ ÆĽÌ(RDP) ¤ý222 BNF ¹®¹ý ¤ý223 Äü µ¥¸ð ÇØÅ· Æļ ¤ý226
µµÀü °úÁ¦ ¤ý229 ÈÆ·Ã ¤ý230 Ãß°¡ ÇнÀ ¤ý230
¿¬½À 34 ºÐ¼®
¹æ¹®ÀÚ ÆÐÅÏ ¤ý232 ª°í ´Ü¼øÇÑ ÆÄÀ̽㠺м®±â ¤ý233 Æļ vs. ºÐ¼®±â ¤ý238
µµÀü °úÁ¦ ¤ý238 ÈÆ·Ã ¤ý239 Ãß°¡ ÇнÀ ¤ý240
¿¬½À 35 ÀÎÅÍÇÁ¸®ÅÍ
ÀÎÅÍÇÁ¸®ÅÍ vs. ÄÄÆÄÀÏ·¯ ¤ý241 ÆÄÀ̽ãÀº ÄÄÆÄÀÏ·¯ÀÌ¸é¼ ÀÎÅÍÇÁ¸®ÅÍ ¤ý243
ÀÎÅÍÇÁ¸®ÅÍ ÀÛ¼ºÇϱ⠤ý244 µµÀü °úÁ¦ ¤ý244 ÈÆ·Ã ¤ý245 Ãß°¡ ÇнÀ ¤ý245
¿¬½À 36 °£´ÜÇÑ °è»ê±â
µµÀü °úÁ¦ ¤ý246 ÈÆ·Ã ¤ý248 Ãß°¡ ÇнÀ ¤ý248
¿¬½À 37 ¸®Æ² º£ÀÌÁ÷
µµÀü °úÁ¦ ¤ý250 ÈÆ·Ã ¤ý251
PART 6 SQL°ú °´Ã¼ °ü°èÇü ¸ÊÇÎ
SQLÀ» ÀÌÇØÇÏ´Â °ÍÀº Å×À̺íÀ» ÀÌÇØÇÏ´Â °Í ¤ý255 ¹è¿ì°Ô µÉ °Íµé ¤ý256
¿¬½À 38 SQL ¼Ò°³
SQLÀº ¹«¾ùÀΰ¡? ¤ý259 µ¥ÀÌÅͺ£À̽º ÁغñÇϱ⠤ý261 SQL ¿ë¾î ¹è¿ì±â ¤ý262
SQL ¹®¹ý ¤ý263 Ãß°¡ ÇнÀ ¤ý264
¿¬½À 39 SQL·Î »ý¼ºÇϱâ
Å×ÀÌºí »ý¼º ¤ý265 ¿©·¯ °³ÀÇ Å×ÀÌºí »ý¼ºÇϱ⠤ý266 µ¥ÀÌÅÍ Ãß°¡Çϱ⠤ý268
ÂüÁ¶ µ¥ÀÌÅÍ Ãß°¡Çϱ⠤ý269 µµÀü °úÁ¦ ¤ý269 Ãß°¡ ÇнÀ ¤ý270
¿¬½À 40 SQL·Î µ¥ÀÌÅÍ Àбâ
¿©·¯ Å×À̺íÀÇ µ¥ÀÌÅ͸¦ SELECT Çϱ⠤ý272 µµÀü °úÁ¦ ¤ý274 Ãß°¡ ÇнÀ ¤ý274
¿¬½À 41 SQL·Î µ¥ÀÌÅÍ °»½ÅÇϱâ
º¹ÀâÇÑ µ¥ÀÌÅÍ ¾÷µ¥ÀÌÆ® ¤ý276 µ¥ÀÌÅÍ ±³Ã¼Çϱ⠤ý277 µµÀü °úÁ¦ ¤ý278
Ãß°¡ ÇнÀ ¤ý278
¿¬½À 42 SQL·Î »èÁ¦Çϱâ
´Ù¸¥ Å×À̺íÀ» ÀÌ¿ëÇØ »èÁ¦Çϱ⠤ý280 µµÀü °úÁ¦ ¤ý282 Ãß°¡ ÇнÀ ¤ý282
¿¬½À 43 SQL °ü¸®Çϱâ
Å×À̺íÀ» »èÁ¦ÇÏ°í º¯°æÇϱ⠤ý283 µ¥ÀÌÅÍ ÀÌÀü ¹× µ¥ÀÌÅÍ ÁøÈ ¤ý285
µµÀü °úÁ¦ ¤ý286 Ãß°¡ ÇнÀ ¤ý287
¿¬½À 44 ÆÄÀ̽㠵¥ÀÌÅͺ£À̽º API »ç¿ëÇϱâ
API ¹è¿ì±â ¤ý288 µµÀü °úÁ¦ ¤ý290 Ãß°¡ ÇнÀ ¤ý290
¿¬½À 45 ORM ¸¸µé±â
µµÀü °úÁ¦ ¤ý291 Ãß°¡ ÇнÀ ¤ý293
PART 7 ¸¶Áö¸· ÇÁ·ÎÁ§Æ®
¿©·¯ºÐÀÌ ÀÏÇÏ´Â ÇÁ·Î¼¼½º´Â ¹«¾ùÀΰ¡? ¤ý297
¿¬½À 46 ºí·Î±×
µµÀü °úÁ¦ ¤ý299 ÈÆ·Ã ¤ý301
¿¬½À 47 bc
µµÀü °úÁ¦ ¤ý302 ÈÆ·Ã ¤ý304
¿¬½À 48 ed
µµÀü °úÁ¦ ¤ý305 ÈÆ·Ã ¤ý307
¿¬½À 49 sed
µµÀü °úÁ¦ ¤ý309 ÈÆ·Ã ¤ý310
¿¬½À 50 vi
µµÀü °úÁ¦ ¤ý312 ÈÆ·Ã ¤ý313
¿¬½À 51 lessweb
µµÀü °úÁ¦ ¤ý314 ÄÚµå ±úºÎ¼ö±â ¤ý315 ÈÆ·Ã ¤ý316
¿¬½À 52 moreweb
µµÀü °úÁ¦ ¤ý317 ÄÚµå ±úºÎ¼ö±â ¤ý319 Ãß°¡ ÇнÀ ¤ý319
Index¤ýã¾Æº¸±â ¤ý320