´ë·®±¸¸ÅȨ >
Àü°øµµ¼­/´ëÇб³Àç
>
°øÇа迭
>
ÄÄÇ»ÅÍ°øÇÐ

ÆîÃ帱â
ÇÔ¼öÇü ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö : ÆÄÀ̽ãÀ¸·Î ¹è¿ì´Â ½¬¿î ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö (¿øÁ¦:Functional Python Programming: Create succinct and expressive implementations with functional progra)
Á¤°¡ 30,000¿ø
ÆǸŰ¡ 27,000¿ø (10% , 3,000¿ø)
I-Æ÷ÀÎÆ® 1,500P Àû¸³(6%)
ÆǸŻóÅ ÆǸÅÁß
ºÐ·ù ÄÄÇ»ÅÍ°øÇÐ
ÀúÀÚ ½ºÆ¼ºì ·ÎÆ® , ½ºÆ¼ºì ·ÎÆ® ( ¿ªÀÚ : ¿ÀÇö¼®, ¿ÀÇö¼® )
ÃâÆÇ»ç/¹ßÇàÀÏ ¿¡ÀÌÄÜÃâÆÇ / 2017.02.28
ÆäÀÌÁö ¼ö 436 page
ISBN 9788960779761
»óÇ°ÄÚµå 264764143
°¡¿ëÀç°í Àç°íºÎÁ·À¸·Î ÃâÆÇ»ç ¹ßÁÖ ¿¹Á¤ÀÔ´Ï´Ù.
 
ÁÖ¹®¼ö·® :
´ë·®±¸¸Å Àü¹® ÀÎÅÍÆÄÅ© ´ë·®ÁÖ¹® ½Ã½ºÅÛÀ» ÀÌ¿ëÇÏ½Ã¸é °ßÀû¿¡¼­ºÎÅÍ ÇàÁ¤¼­·ù±îÁö Æí¸®ÇÏ°Ô ¼­ºñ½º¸¦ ¹ÞÀ¸½Ç ¼ö ÀÖ½À´Ï´Ù.
µµ¼­¸¦ °ßÀûÇÔ¿¡ ´ãÀ¸½Ã°í ½Ç½Ã°£ °ßÀûÀ» ¹ÞÀ¸½Ã¸é ±â´Ù¸®½Ç ÇÊ¿ä¾øÀÌ ÇÒÀιÞÀ¸½Ç ¼ö ÀÖ´Â °¡°ÝÀ» È®ÀÎÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.
¸ÅÁÖ ¹ß¼ÛÇØ µå¸®´Â ÀÎÅÍÆÄÅ©ÀÇ ½Å°£¾È³» Á¤º¸¸¦ ¹Þ¾Æº¸½Ã¸é »óÇ°ÀÇ ¼±Á¤À» ´õ¿í Æí¸®ÇÏ°Ô ÇÏ½Ç ¼ö ÀÖ½À´Ï´Ù.

 ´ë·®±¸¸ÅȨ  > Àü°øµµ¼­/´ëÇб³Àç  > °øÇа迭  > ÄÄÇ»ÅÍ°øÇÐ

 
Go ¸¶½ºÅÍÇϱâ 40,500¿ø (10%)
ÇÙ½ÉÀ» Á¤¸®ÇÑ Swift 3 27,000¿ø (10%)
ÇÔ¼öÇü ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö 27,000¿ø (10%)
ÇÏÀ̺ê ÇÙ½ÉÁ¤¸® 18,000¿ø (10%)
µû¶óÇÏ¸ç ¹è¿ì´Â ÇϵӰú ºòµ¥ÀÌÅÍ ºÐ¼® ½Ç¹« 27,000¿ø (10%)
          
 

 
Ã¥³»¿ë
¡Ú ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¡Ú ¡á ÆÄÀ̽ãÀÇ Á¦³×·¹ÀÌÅÍ ÇÔ¼ö¿Í Á¦³×·¹ÀÌÅÍ ½ÄÀ» »ç¿ëÇØ ¾ö°ÝÇÏÁö ¾ÊÀº ¹æ¹ýÀ¸·Î(Áö¿¬ °è»êÀ» È°¿ë) Ä÷º¼ÇÀ» ´Ù·ç´Â ¹æ¹ý ¡á itertools, functools, multiprocessing, concurrent.futures µî ÆÄÀ̽㠶óÀ̺귯¸® ¸ðµâÀ» »ç¿ëÇÑ È¿À²ÀûÀÎ ÇÔ¼öÇü ÇÁ·Î±×·¥ ÀÛ¼º ¹æ¹ý ¡á °´Ã¼ÁöÇâÀûÀÎ ÀüÀ§ Ç¥±â¹ý°ú ÈÄÀ§ Ç¥±â¹ýÀ» ÅëÇØ ÆÄÀ̽㠹®ÀÚ¿­À» È°¿ëÇÏ´Â ¹æ¹ý ¡á Æ©Çà Á¾·ù¸¦ È°¿ëÇØ »óÅ°¡ Àִ Ŭ·¡½º »ç¿ëÀ» ÇÇÇÏ´Â ¹æ¹ý ¡á ÇÕ¼º ÇÔ¼ö¸¦ ¸¸µé±â À§ÇØ µ¥ÄÚ·¹ÀÌÅ͸¦ ¼³°èÇÏ°í ±¸ÇöÇÏ´Â ¹æ¹ý ¡á max(), min(), map(), filter(), sorted()¿Í °°Àº ÇÔ¼ö¸¦ »ç¿ëÇÏ´Â ¹æ¹ý ¡á °íÂ÷ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý ¡Ú ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¡Ú ÀÌ Ã¥Àº ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡¼­ µðÀÚÀÎ ÆÐÅÏ°ú ±â¹ýÀ» ºô·Á °£°áÇÏ°í ÀÌÇØÇϱ⠽¬¿î ÆÄÀ̽ã ÇÁ·Î±×·¥À» ÀÛ¼ºÇÏ°íÀÚ ÇÏ´Â ÇÁ·Î±×·¡¸Ó¸¦ À§ÇÑ °ÍÀÌ´Ù. ÇÔ¼öÇü ½ºÅ¸ÀÏÀ» »ç¿ëÇϸé ÀϺΠ¾Ë°í¸®ÁòÀ» ¿ì¾ÆÇÏ°Ô ±â¼úÇÒ ¼ö ÀÖ´Ù. ±×·¯ÇÑ ¾Ë°í¸®ÁòÀ» »ç¿ëÇÏ´Â °æ¿ì¿¡´Â ÆÄÀ̽ã ÇÁ·Î±×·¥ÀÇ °¡µ¶¼ºÀ» ³ôÀÌ°í À¯Áö º¸¼ö¸¦ ½±°Ô Çϱâ À§ÇØ ÇÔ¼öÇü ½ºÅ¸ÀÏÀ» äÅÃÇÒ ¼ö ÀÖ°í, äÅà Çؾ߸¸ ÇÑ´Ù. ¾î¶² ¹®Á¦¸¦ ÇÔ¼öÇüÀ¸·Î Á¢±ÙÇÏ¸é ¸Å¿ì ¼º´ÉÀÌ ¶Ù¾î³­ ¾Ë°í¸®ÁòÀ» ¸¸µé ¼ö ÀÖ´Â °æ¿ì°¡ ÀÖ´Ù. ÆÄÀ̽㿡¼­´Â ¸Þ¸ð¸®¿Í ó¸® ½Ã°£À» ³ôÀÏ °¡´É¼ºÀÌ ÀÖ´Â Å« Áß°£ µ¥ÀÌÅÍ ±¸Á¶¸¦ ¸¸µé¾î ³»±â°¡ ½±´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö µðÀÚÀÎ ÆÐÅÏÀ» È°¿ëÇϸé, Å« ¸®½ºÆ®¸¦ °°Àº ³»¿ëÀ» ½±°Ô Ç¥ÇöÇϸ鼭µµ ÈξÀ ´õ ÀÛÀº ¸Þ¸ð¸®¸¦ Â÷ÁöÇÏ°í ½ÇÇà ½Ã°£µµ ´õ ªÀº Á¦³×·¹ÀÌÅÍ ½ÄÀ¸·Î ¹Ù²Ü ¼ö ÀÖ´Ù. ¡Ú ÀÌ Ã¥ÀÇ ±¸¼º ¡Ú 1Àå, ¡®ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³¡¯¿¡¼­´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Ư¡Áþ´Â ¸î °¡Áö ±â¹ýÀ» ¼Ò°³ÇÑ´Ù. °¢°¢À» ÆÄÀ̽ãÀ¸·Î ±¸ÇöÇÏ´Â ¸î °¡Áö ¹æ¹ýÀ» ½Äº°ÇÏ°í, ÆÄÀ̽㠾ÖÇø®ÄÉÀ̼ÇÀ» ¸¸µé±â À§ÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ µðÀÚÀÎ ÆÐÅÏÀ» µµÀÔÇϸç, ±× ÀåÁ¡À» »ì¸± ¼ö ÀÖ´Â ¸î °¡Áö ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. 2Àå, ¡®ÇÔ¼öÇü ±â´É ¼Ò°³¡¯¿¡¼­´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀÇ ¿©¼¸ °¡Áö ÁÖ¿ä Ư¡À» »ìÆ캻´Ù. °¢°¢À» ÆÄÀ̽ãÀ¸·Î ±¸ÇöÇÏ´Â ¹æ¹ýÀ» ÀÚ¼¼È÷ »ìÆ캻´Ù. ¶ÇÇÑ Æ¯Â¡ Áß ÀϺδ ÆÄÀ̽㿡 Àß µé¾î¸ÂÁö ¾Ê´Â´Ù´Â °ÍÀ» º¸¿©ÁÙ °ÍÀÌ´Ù. ¿¹¸¦ µé¸é, ¸¹Àº ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡´Â ÄÄÆÄÀÏ°ú ÃÖÀûÈ­¸¦ Áö¿øÇϱâ À§ÇÑ º¹ÀâÇÑ Å¸ÀÔ ÁöÁ¤ ±ÔÄ¢ÀÌ ÀÖÁö¸¸, ÆÄÀ̽ãÀº ±×·¸Áö ¾Ê´Ù. 3Àå, ¡®ÇÔ¼ö, ¹Ýº¹ÀÚ, Á¦³×·¹ÀÌÅÍ¡¯¿¡¼­´Â ºÒº¯ÀûÀÎ ÆÄÀ̽㠰´Ã¼¿Í Á¦³×·¹ÀÌÅÍ ½ÄÀ» È°¿ëÇÏ°í, ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ÆÄÀ̽㿡 µµÀÔÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ³»Àå ÆÄÀ̽ã Ä÷º¼ÇÀ» »ìÆ캸°í, À̸¦ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³ä¿¡¼­ Å©°Ô ¹þ¾î³ªÁö ¾Ê°í È°¿ëÇÏ´Â ¹æ¹ýµµ »ìÆ캻´Ù. 4Àå, ¡®Ä÷º¼ÇÀ¸·Î ÀÛ¾÷Çϱ⡯¿¡¼­´Â ³»Àå ÆÄÀ̽ã ÇÔ¼ö¸¦ »ç¿ëÇØ µ¥ÀÌÅÍÀÇ Ä÷º¼Ç¿¡ ´ëÇÑ ÀÛ¾÷À» ¼öÇàÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ÀÌ ÀåÀº any(), all()°ú °°Àº, °ªÀÇ Ä÷º¼ÇÀ» Ãà¾àÇØ ´ÜÀÏ °ªÀ» ¸¸µé¾î ³»´Â »ó´ëÀûÀ¸·Î °£´ÜÇÑ ÇÔ¼ö ¸î °¡Áö¿¡ ÃÊÁ¡À» ¸ÂÃâ °ÍÀÌ´Ù. 5Àå, ¡®°íÂ÷ ÇÔ¼ö¡¯¿¡¼­´Â map()°ú filter()¿Í °°ÀÌ ÀϹÝÀûÀ¸·Î »ç¿ëÇÏ´Â °íÂ÷ ÇÔ¼ö¸¦ »ìÆ캻´Ù. ¶ÇÇÑ ´Ù¸¥ °íÂ÷ ÇÔ¼öµµ ¸î °¡Áö ´Ù·ç°í, ¿ì¸® ½º½º·Î °íÂ÷ ÇÔ¼ö¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­µµ ¼³¸íÇÒ °ÍÀÌ´Ù. 6Àå, ¡®Àç±Í¿Í Ãà¾à¡¯¿¡¼­´Â Àç±Í¸¦ »ç¿ëÇÏ´Â ¾Ë°í¸®ÁòÀ» ¼³°èÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ°í, À̸¦ °í¼º´É for ·çÇÁ¸¦ »ç¿ëÇØ ÃÖÀûÈ­ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. ¶ÇÇÑ collections.Counter()¸¦ Æ÷ÇÔÇÑ ¿©·¯ °¡Áö Ãà¾à ÇÔ¼öµµ »ìÆ캻´Ù. 7Àå, ¡®Æ©ÇÃÀ» »ç¿ëÇÏ´Â ´Ù¸¥ ±â¹ý¡¯¿¡¼­´Â ºÒº¯ Æ©Çðú À̸§ ÀÖ´Â Æ©ÇÃÀ» »óÅ°¡ ÀÖ´Â °´Ã¼ ´ë½Å È°¿ëÇÏ´Â ¿©·¯ °¡Áö ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ºÒº¯ °´Ã¼´Â ÈξÀ ´Ü¼øÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÑ´Ù. ±×·¡¼­ ¾ÖÆ®¸®ºäÆ®¸¦ À߸ø »ç¿ëÇϰųª °´Ã¼¸¦ ÀÏ°ü¼ºÀÌ ¾ø°Å³ª À߸øµÈ »óÅ·Π¸¸µé °¡´É¼º¿¡ ´ëÇØ °ÆÁ¤ÇÏÁö ¾Ê¾Æµµ µÈ´Ù. 8Àå, ¡®itertools ¸ðµâ¡¯¿¡¼­´Â itertools Ç¥ÁØ ¶óÀ̺귯¸® ¸ðµéÀÌ Á¦°øÇÏ´Â ¸î °¡Áö ÇÔ¼ö¸¦ »ìÆ캻´Ù. À̵éÀ» È°¿ëÇϸé Ä÷º¼ÇÀ̳ª Á¦³×·¹ÀÌÅÍ ÇÔ¼ö¸¦ ´Ù·ç´Â ÇÁ·Î±×·¥À» ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù. 9Àå, ¡®´õ ¸¹Àº itertools »ç¿ë ±â¹ý¡¯¿¡¼­´Â itertools ¸ðµâÀÌ Á¦°øÇÏ´Â Á¶ÇÕ ÇÔ¼ö¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. ÀÌ·¯ÇÑ ÇÔ¼öµéÀº Á¶±Ý ´ú À¯¿ëÇÏ´Ù. ÀÌ Àå¿¡¼­´Â ÀÌ·¯ÇÑ ÇÔ¼ö¸¦ ºÎÁÖÀÇÇÏ°Ô »ç¿ëÇÔÀ¸·Î½á Á¶ÇÕÀ¸·Î ÀÎÇÑ Æø¹ßÀûÀÎ º¹Àâµµ Áõ°¡°¡ ¹ß»ýÇÏ´Â °æ¿ì¸¦ º¸¿©ÁÖ´Â ¿¹Á¦¸¦ ´Ù·é´Ù. 10Àå, ¡®functools ¸ðµâ¡¯¿¡¼­´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» À§ÇØ ±× ¸ðµâ¿¡ ÀÖ´Â ÇÔ¼ö¸¦ È°¿ëÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ÀÌ ¸ðµâ¿¡ ÀÖ´Â ÇÔ¼ö Áß ¸î °¡Áö´Â µ¥Ä¿·¹ÀÌÅ͸¦ ¸¸µé ¶§ »ç¿ëÇϱâ ÀûÇÕÇϹǷΠ11Àå¿¡¼­ ´Ù·é´Ù. ÇÏÁö¸¸ ³ª¸ÓÁö ÇÔ¼ö´Â ÇÔ¼öÇü ÇÁ·Î±×·¥À» ¼³°èÇÏ°í ±¸ÇöÇÒ ¼ö ÀÖ´Â ¸î °¡Áö ¹æ¹ýÀ» Á¦°øÇÑ´Ù. 11Àå, ¡®µ¥Ä¿·¹ÀÌÅÍ ¼³°è ±â¹ý¡¯¿¡¼­´Â µ¥Ä¿·¹ÀÌÅ͸¦ ÇÕ¼º ÇÔ¼ö Á¦ÀÛÀ» À§ÇÑ ¹æ¹ýÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁØ´Ù. ÀÌ·¯ÇÑ »ç¿ë ¹æ¹ýÀº »ó´çÇÑ À¯¿¬¼ºÀ» °¡Áö°í ÀÖÁö¸¸, °³³äÀûÀÎ ÇÑ°èµµ Á¸ÀçÇÑ´Ù. ¶ÇÇÑ Áö³ªÄ¡°Ô º¹ÀâÇÑ µ¥Ä¿·¹ÀÌÅÍ°¡ À¯¿ë¼ºÀ» Á¦°øÇϱ⠺¸´Ù´Â È¥µ¿À» ¾ß±âÇÒ ¼ö ÀÖ´Â ¸î °¡Áö ÀÌÀ¯¸¦ »ìÆ캻´Ù. 12Àå, ¡®´ÙÁß ÇÁ·Î¼¼½º¿Í ½º·¹µå ¸ðµâ¡¯¿¡¼­´Â ÇÔ¼öÇü ¼³°è¸¦ Àß Çϸé, ±× °á°ú·Î ó¸® ºÎÇϸ¦ ºÐ»ê½Ãų ¼ö ÀÖ´Ù´Â »ç½ÇÀ» ¾Ë·ÁÁØ´Ù. ºÒº¯ °´Ã¼¸¦ »ç¿ëÇÑ´Ù´Â °ÍÀº À߸ø µ¿±âÈ­ÇÑ ¾²±â ¿¬»êÀ¸·Î ÀÎÇØ °´Ã¼°¡ ¿À¿°µÇ´Â ÀÏÀÌ ¾ø´Ù´Â ¶æÀÌ´Ù. 13Àå, ¡®Á¶°Ç½Ä°ú ¿¬»êÀÚ ¸ðµâ¡¯¿¡¼­´Â ÆÄÀ̽ãÀÇ ¾ö°ÝÇÑ Æò°¡ ¼ø¼­¸¦ ±ý ¼ö ÀÖ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù. ÇÏÁö¸¸ ±×·¯ÇÑ ¹æ¸é¿¡¼­ ¿ì¸®°¡ ÇÒ ¼ö ÀÖ´Â ÀÏÀº ÇÑ°è°¡ ÀÖ´Ù. ¶ÇÇÑ operator ¸ðµâÀ» »ìÆ캸°í, ¸î °¡Áö °£´ÜÇÑ Ã³¸®¸¦ ¼öÇàÇÒ ¶§ ±× ¸ðµâÀ» »ç¿ëÇÏ¸é ´õ ¸íÈ®ÇÏ°Ô ÇÁ·Î±×·¥À» © ¼ö ÀÖÀ½À» º¸¿©ÁØ´Ù. 14Àå, ¡®PyMonad ¶óÀ̺귯¸®¡¯¿¡¼­´Â PyMonad ¶óÀ̺귯¸®ÀÇ ±â´ÉÀ» ÀϺΠ»ìÆ캻´Ù. PyMonad´Â ¸î °¡Áö ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ±â´ÉÀ» Ãß°¡ Á¦°øÇÑ´Ù. ¶ÇÇÑ ÀÌ ¶óÀ̺귯¸®¸¦ È°¿ëÇÏ¿© ¸ð³ªµå¸¦ ¹è¿ï ¼ö ÀÖ´Ù. ÀϺΠÇÔ¼öÇü ¾ð¾î¿¡¼­´Â ÃÖÀûÈ­ ½Ã ¿øÇÏÁö ¾Ê´Â ¼ø¼­·Î µÚ¼¯ÀÏ ¼ö ÀÖ´Â ¿¬»êÀÇ ¼ø¼­¸¦ Á¤È®ÇÏ°Ô ÁöÁ¤Çϱâ À§ÇØ ¸ð³ªµå¸¦ »ç¿ëÇؾ߸¸ ÇÑ´Ù. ÇÏÁö¸¸ ÆÄÀ̽ãÀº ÀÌ¹Ì ½Ä°ú ¹®ÀåÀÇ ¾ö°ÝÇÑ ½ÇÇà ¼ø¼­¸¦ ÁöÅ°±â ¶§¹®¿¡ ¸ð³ªµå¸¦ ¹è¿ì´Â °ÍÀº ½Ç¿ë¼ºÀ» À§Çؼ­¶ó±âº¸´Ù´Â ±³À°ÀûÀÎ ¸ñÀûÀ» À§Çؼ­´Ù. 15Àå, ¡®À¥ ¼­ºñ½º¿¡ ´ëÇÑ ÇÔ¼öÀû Á¢±Ù¡¯¿¡¼­´Â À¥ ¼­ºñ½º¸¦ ¿äûÀ» ÀÀ´äÀ¸·Î º¯°æÇÏ´Â ¿©·¯ °¡Áö ÇÔ¼ö¸¦ ³»Æ÷ÇÏ´Â Ä÷º¼ÇÀ¸·Î Á¤ÀÇÇÒ ¼ö ÀÖ´Ù´Â »ç½ÇÀ» È®ÀÎÇÑ´Ù. ¶ÇÇÑ µ¿ÀûÀ¸·Î »ç¿ëÀÚ ¿äû¿¡ ÀÀ´äÇÏ´Â À¥ ÄÜÅÙÃ÷¸¦ ¸¸µé ¶§ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» È°¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 16Àå, ¡®ÃÖÀûÈ­¿Í °³¼±¡¯¿¡¼­´Â ¼º´É°ú ÃÖÀûÈ­¸¦ À§ÇÑ Á¶¾ðÀ» Á¦°øÇÑ´Ù. ±¸ÇöÇϱ⠽±°í, (¿Ã¹Ù¸¥ ¸Æ¶ô¿¡¼­ È°¿ëÇϱ⸸ Çϸé) ¼º´ÉÀ» ±ØÀûÀ¸·Î Çâ»ó½ÃÄÑÁÙ ¼ö ÀÖ´Â ¸Þ¸ð¶óÀÌÁ¦À̼Ç(memorization) µîÀÇ ±â¹ýÀ» °­Á¶ÇÒ °ÍÀÌ´Ù.
¸ñÂ÷
1Àå, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³ __Æз¯´ÙÀÓ ±¸º°Çϱâ __¸í·ÉÇü Æз¯´ÙÀÓ ±¸ºÐÇϱâ __ÇÔ¼öÇü Æз¯´ÙÀÓ »ç¿ëÇϱâ __ÇÔ¼öÇü È¥ÇÕü »ç¿ëÇϱâ __°´Ã¼ »ý¼º »ìÆ캸±â __°ÅºÏÀÌÀÇ ½ºÅà __ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °íÀüÀûÀÎ ¿¹Á¦ __Ž»öÀû ÀÚ·á ºÐ¼® __¿ä¾à 2Àå, ÇÔ¼öÇü ±â´É ¼Ò°³ __ÀÏ±Þ °èÃþ ÇÔ¼ö ____¼ø¼ö ÇÔ¼ö ____°íÂ÷ ÇÔ¼ö __º¯°æ ºÒ°¡´ÉÇÑ µ¥ÀÌÅÍ __¾ö°ÝÇÑ Æò°¡¿Í ¾ö°ÝÇÏÁö ¾ÊÀº Æò°¡ __¸í½ÃÀû ·çÇÁ »óÅ ´ë½Å Àç±Í »ç¿ë __ÇÔ¼öÇü ŸÀÔ ½Ã½ºÅÛ __³¸ÀÍÀº ¿µ¿ª __¾î·Á¿î °³³ä ³²°ÜµÎ±â __¿ä¾à 3Àå, ÇÔ¼ö, ¹Ýº¹ÀÚ, Á¦³×·¹ÀÌÅÍ __¼ø¼ö ÇÔ¼ö ÀÛ¼ºÇϱâ __ÀÏ±Þ °èÃþ °´Ã¼ÀÎ ÇÔ¼ö __¹®ÀÚ¿­ »ç¿ëÇϱâ __tuple°ú namedtuple »ç¿ëÇϱâ ____Á¦³×·¹ÀÌÅÍ ½Ä »ç¿ëÇϱâ ____Á¦³×·¹ÀÌÅÍÀÇ ÇÑ°è ____Á¦³×·¹ÀÌÅÍ ½Ä Á¶ÇÕÇϱâ __Á¦³×·¹ÀÌÅÍ ÇÔ¼ö¸¦ »ç¿ëÇØ ¿øÀÚ·á Á¤¸®Çϱâ __list, dict, set »ç¿ëÇϱâ ____»óÅ°¡ ÀÖ´Â ¸ÅÇÎ »ç¿ëÇϱâ ____bisect ¸ðµâÀ» »ç¿ëÇØ ¸ÅÇÎ ¸¸µé±â ____»óÅ°¡ ÀÖ´Â ÁýÇÕ »ç¿ëÇϱâ __¿ä¾à 4Àå, Ä÷º¼ÇÀ¸·Î ÀÛ¾÷Çϱâ __ÇÔ¼öÀÇ ´Ù¾ç¼º¿¡ ´ëÇÑ Á¤¸® __¹Ýº¹ °¡´É °´Ã¼·Î ÀÛ¾÷Çϱâ ____XML ÆÄÀÏ ±¸¹® ºÐ¼®Çϱâ ____ÆÄÀÏÀ» »óÀ§ ¼öÁØ¿¡¼­ ±¸¹® ºÐ¼®Çϱâ ____½ÃÄö½ºÀÇ ¿ø¼Ò¸¦ µÑ¾¿ ¦ Áþ±â ____iter() ÇÔ¼ö¸¦ ¸í½ÃÀûÀ¸·Î »ç¿ëÇϱâ ____´Ü¼øÇÑ ·çÇÁ È®ÀåÇϱâ ____Á¦³×·¹ÀÌÅÍ ½ÄÀ» ½ºÄ®¶ó ÇÔ¼ö¿¡ Àû¿ëÇϱâ ____Ãà¾àÀ¸·Î any()¿Í all()À» »ç¿ëÇϱâ ____len()°ú sum() »ç¿ëÇϱâ ____Åë°è¿¡ ÇÕ°è¿Í ¿ø¼Ò °³¼ö È°¿ëÇϱâ __zip()À» »ç¿ëÇØ ½ÃÄö½º¸¦ ±¸Á¶È­Çϰųª ÆîÄ¡±â ____Æ©Ç÷Π¹­Àº ½ÃÄö½º¸¦ ´Ù½Ã Ç®±â ____½ÃÄö½º ÆîÄ¡±â ____ÆòÆòÇÑ ½ÃÄö½º ±¸Á¶È­Çϱâ ____Æò¸é ½ÃÄö½º ±¸Á¶È­Çϱâ - ´Ù¸¥ ¹æ¹ý __¼ø¼­¸¦ ¹Ù²Ù±â À§ÇØ reversed() »ç¿ëÇϱâ __enumerate()¸¦ »ç¿ëÇØ À妽º ¹øÈ£ Æ÷ÇÔ½ÃÅ°±â __¿ä¾à 5Àå, °íÂ÷ ÇÔ¼ö __max()¿Í min()À» »ç¿ëÇØ ÃÖ´ñ°ª, ÃÖ¼Ú°ª ¾Ë¾Æ³»±â __ÆÄÀ̽ãÀÇ ¶÷´Ù ½Ä »ç¿ëÇϱâ __¶÷´Ù¿Í ¶÷´Ù´ë¼ö __map() ÇÔ¼ö¸¦ »ç¿ëÇØ ÇÔ¼ö¸¦ Ä÷º¼Ç¿¡ Àû¿ëÇϱâ ____map()¿¡ ¶÷´Ù Çü½Ä »ç¿ëÇϱâ __map()À» ¿©·¯ ½ÃÄö½º¿¡ È°¿ëÇϱâ __filter()¸¦ »ç¿ëÇØ µ¥ÀÌÅ͸¦ ¹Þ¾ÆµéÀ̰ųª °ÅºÎÇϱâ __filter()¸¦ »ç¿ëÇØ ÀÌ»ó°ª ½Äº°Çϱâ __iter() ÇÔ¼ö¿Í ³¡À» Ç¥½ÃÇϴ Ưº°ÇÑ °ª »ç¿ëÇϱâ __sorted()¸¦ »ç¿ëÇØ µ¥ÀÌÅÍ Á¤·ÄÇϱâ __°íÂ÷ ÇÔ¼ö ÀÛ¼ºÇϱâ __°íÂ÷ ¸ÅÇΰú ÇÊÅÍ ÀÛ¼ºÇϱâ ____¸ÅÇÎÇϸ鼭 µ¥ÀÌÅÍ Ç®±â ____¸ÅÇÎÇϸ鼭 Ãß°¡ µ¥ÀÌÅ͸¦ °¨½Î±â ____¸ÅÇÎÇϸ鼭 µ¥ÀÌÅ͸¦ ÆîÄ¡±â ____°É·¯³»¸é¼­ µ¥ÀÌÅÍ ±¸Á¶È­Çϱâ __Á¦³×·¹ÀÌÅÍ ÇÔ¼ö ÀÛ¼ºÇϱâ __Callable·Î °íÂ÷ ÇÔ¼ö ¸¸µé±â ____ÁÁÀº ÇÔ¼öÇü ¼³°è¸¦ º¸ÀåÇϱâ __µðÀÚÀÎ ÆÐÅÏ »ìÆ캸±â __¿ä¾à 6Àå, Àç±Í¿Í Ãà¾à __¼ö¸¦ °è»êÇÏ´Â °£´ÜÇÑ Àç±Í ____²¿¸®Àç±Í È£Ãâ ±¸ÇöÇϱâ ____Àç±Í¸¦ ±×´ë·Î ³²°ÜµÎ±â ____ó¸®Çϱ⠾î·Á¿î ²¿¸®Àç±Í ´Ù·ç±â ____Àç±Í¸¦ »ç¿ëÇØ Ä÷º¼Ç ó¸®Çϱâ ____Ä÷º¼Ç¿¡ ´ëÇÑ ²¿¸® È£Ãâ ÃÖÀûÈ­ ____Ãà¾à°ú °ãÄ¡±â - ¸¹Àº °ªÀ» ÇÑ °¡Áö °ªÀ¸·Î ÁÙÀ̱â __±×·ì ¸¸µé±â Ãà¾à - ¸¹Àº °ªÀ» Á» ´õ ÀûÀº °ªÀ¸·Î ÁÙÀ̱â ____Counter·Î ¸ÅÇÎ ¸¸µé±â ____Á¤·ÄÀ» »ç¿ëÇØ ¸ÅÇÎ ¸¸µé±â ____Å° °ª¿¡ µû¶ó µ¥ÀÌÅ͸¦ ±×·ìÈ­Çϰųª ºÐÇÒÇϱâ ____´õ ÀϹÝÀûÀÎ ±×·ìÈ­ Ãà¾à ÀÛ¼ºÇϱâ ____°íÂ÷ Ãà¾à ÇÔ¼ö ÀÛ¼ºÇϱâ ____ÆÄÀÏ ±¸¹® ºÐ¼®±â ÀÛ¼ºÇϱâ ________CSV ÆÄÀÏ ±¸¹® ºÐ¼®Çϱâ ________Çì´õ°¡ ÀÖ´Â ÀÏ¹Ý ÅؽºÆ® ÆÄÀÏ ±¸¹® ºÐ¼®Çϱâ __¿ä¾à 7Àå, Æ©ÇÃÀ» »ç¿ëÇÏ´Â ´Ù¸¥ ±â¹ý __º¯°æ ºÒ°¡´ÉÇÑ À̸§ ÀÖ´Â Æ©ÇÃÀ» ·¹ÄÚµå·Î »ç¿ëÇϱâ __ÇÔ¼öÇü »ý¼ºÀÚ·Î À̸§ ÀÖ´Â Æ©Çà ¸¸µé±â __»óÅ°¡ Àִ Ŭ·¡½º »ç¿ëÀ» ÇÇÇϱâ À§ÇØ Æ©Çà »ç¿ëÇϱâ ____Åë°èÀûÀÎ ¼øÀ§ ÇÒ´çÇϱâ ____»óŸ¦ ¹Ù²Ù´Â ´ë½Å °¨½Î±â ____»óŸ¦ ¹Ù²Ù´Â ´ë½Å ´Ù½Ã °¨½Î±â ____½ºÇǾî¸Ç ¼øÀ§ »ó°ü°è¼ö °è»êÇϱâ __´ÙÇü¼º°ú ÆÄÀ̽ã´Ù¿î ÆÐÅÏ ¸ÅÄ¡ __¿ä¾à 8Àå, itertools ¸ðµâ __¹«ÇÑ ¹Ýº¹ÀÚ·Î ÀÛ¾÷Çϱâ ____count()·Î °³¼ö ¼¼±â ____cycle()À» »ç¿ëÇØ ¼øȯµÇ´Â ¿ø¼Ò¸¦ °è¼Ó ¹Ýº¹Çϱâ ____repeat()·Î ´ÜÀÏ °ª ¹Ýº¹Çϱâ __À¯ÇÑÇÑ ¹Ýº¹ÀÚ »ç¿ëÇϱâ ____enumerate()·Î ¼ö ÇÒ´çÇϱâ ____accumulate()·Î ÇöÀç±îÁöÀÇ ÇÕ°è ±¸Çϱâ ____chain()À¸·Î ¹Ýº¹ÀÚ Á¶ÇÕÇϱâ ____groupby()·Î ¹Ýº¹ÀÚ ºÐÇÒÇϱâ ____zip_longest(), zip()À» »ç¿ëÇØ ¹Ýº¹ °¡´É °´Ã¼ ÇÕÄ¡±â ____compress()·Î °É·¯³»±â ____islice()·Î ºÎºÐ ÁýÇÕ ¼±ÅÃÇϱâ ____dropwhile()°ú takewhile()·Î »óŸ¦ »ç¿ëÇØ °É·¯³»±â ____°É·¯³»±â À§ÇÑ µÎ °¡Áö Á¢±Ù ¹æ¹ýÀÎ filterfalse()¿Í filter() ____starmap()°ú map()À» »ç¿ëÇØ ÇÔ¼ö¸¦ µ¥ÀÌÅÍ¿¡ Àû¿ëÇϱâ __tee()¸¦ »ç¿ëÇØ ¹Ýº¹ÀÚ º¹Á¦Çϱâ __itertools ¿ä¸®¹ý __¿ä¾à 9Àå, ´õ ¸¹Àº itertools »ç¿ë ±â¹ý __µ¥Ä«¸£Æ® °ö ¿­°ÅÇϱâ __°öÀ» Ãà¾àÇϱâ ____°Å¸® °è»êÇϱâ ____¸ðµç Çȼ¿°ú ¸ðµç »ö ¾ò±â ____¼º´É ºÐ¼® ____¹®Á¦¸¦ ´Ù½Ã ¹è¿­Çϱâ ____µÎ °¡Áö º¯È¯ Á¶ÇÕÇϱâ __°ªÀÇ Ä÷º¼Ç ¼ø¿­ ±¸Çϱâ __¸ðµç Á¶ÇÕ ±¸Çϱâ __¿ä¸®¹ý __¿ä¾à 10Àå, functools ¸ðµâ __ÇÔ¼ö µµ±¸ lru_cache·Î °á°ú ij½ÃÇϱâ __¿ÏÀüÇÑ ¼ø¼­°¡ Á¤ÇØÁ® Àִ Ŭ·¡½º Á¤ÀÇÇϱâ ____¼ö Ŭ·¡½º Á¤ÀÇÇϱâ __partial()·Î ÀÎÀÚ Áß ÀϺθ¸ Àû¿ëÇϱâ __µ¥ÀÌÅÍ ÁýÇÕÀ» reduce()¸¦ »ç¿ëÇØ Ãà¾àÇϱâ ____map()°ú reduce() Á¶ÇÕÇϱâ ____reduce()¿Í partial() »ç¿ëÇϱâ ____¿øµ¥ÀÌÅ͸¦ Á¤¸®Çϱâ À§ÇØ map()°ú reduce() »ç¿ëÇϱâ ____groupby()¿Í reduce() »ç¿ëÇϱâ __¿ä¾à 11Àå, µ¥Ä¿·¹ÀÌÅÍ ¼³°è ±â¹ý __°íÂ÷ ÇÔ¼ö·Î¼­ÀÇ µ¥Ä¿·¹ÀÌÅÍ ____functoolsÀÇ update_wrapper() ÇÔ¼ö »ç¿ëÇϱâ __Ⱦ´Ü °ü½É»ç __ÇÕ¼º ¼³°è ____À߸øµÈ µ¥ÀÌÅÍ Ã³¸®Çϱâ __¸Å°³º¯¼ö¸¦ µ¥Ä¿·¹ÀÌÅÍ¿¡ Ãß°¡Çϱâ __Á» ´õ º¹ÀâÇÑ µ¥Ä¿·¹ÀÌÅÍ ±¸ÇöÇϱâ __¼³°èÀÇ ÇѰ踦 ÀνÄÇϱâ __¿ä¾à 12Àå, ´ÙÁß ÇÁ·Î¼¼½º¿Í ½º·¹µå ¸ðµâ ____µ¿½Ã¼ºÀÇ ÁøÁ¤ÇÑ Àǹ̴ ¹«¾ùÀΰ¡? ____°æ°è Á¶°Ç ____ÇÁ·Î¼¼½º³ª ½º·¹µå »çÀÌ¿¡ ÀÚ¿ø °øÀ¯Çϱâ ____¾îµð¼­ ÀÌÀÍÀÌ ´©ÀûµÇ´Â°¡? __´ÙÁß ÇÁ·Î¼¼½Ì Ç®°ú ÀÛ¾÷ »ç¿ëÇϱâ ____¿©·¯ Å« ÆÄÀÏ Ã³¸®Çϱâ ____·Î±× ÆÄÀÏ ±¸¹® ºÐ¼®Çϱâ - Çà ¼öÁýÇϱâ ____·Î±× Ç׸ñÀ» À̸§ ÀÖ´Â Æ©Ç÷Π¸¸µé±â ____Access °´Ã¼ÀÇ Ãß°¡ ÇÊµå ±¸¹® ºÐ¼®Çϱâ ____ÀÚ¼¼ÇÑ Á¢±Ù Á¤º¸ °É·¯³»±â ____ÀÚ¼¼ÇÑ Á¢±Ù Á¤º¸ ºÐ¼®Çϱâ ____¿ÏÀüÇÑ ºÐ¼® ÇÁ·Î¼¼½º __µ¿½Ã 󸮿¡ ´ÙÁß ÇÁ·Î¼¼½º Ç®À» »ç¿ëÇϱâ ____apply()¸¦ »ç¿ëÇØ ´ÜÀÏ ¿äû ¸¸µé±â ____map_async(), starmap_async(), apply_async() »ç¿ëÇϱâ ____´õ º¹ÀâÇÑ ´ÙÁß ÇÁ·Î¼¼½º ±¸Á¶ ____concurrent.futures ¸ðµâ »ç¿ëÇϱâ ____concurrent.futures ½º·¹µå Ç® »ç¿ëÇϱâ ____½º·¹µå¿Í Å¥ ¸ðµâ »ç¿ëÇϱâ ____µ¿½Ã ó¸® ¼³°èÇϱâ __¿ä¾à 13Àå, Á¶°Ç½Ä°ú ¿¬»êÀÚ ¸ðµâ __Á¶°Ç½Ä Æò°¡Çϱâ ____¾ö°ÝÇÏÁö ¾ÊÀº µñ¼Å³Ê¸® ±ÔÄ¢ È°¿ëÇϱâ ____ÂüÀÎ Á¶°Ç½Ä Ä÷¯³»±â __¶÷´Ù ´ë½Å operator ¸ðµâ »ç¿ëÇϱâ ____°íÂ÷ ÇÔ¼ö¸¦ »ç¿ëÇÒ ¶§ À̸§ ÀÖ´Â ¾ÖÆ®¸®ºäÆ® °¡Á®¿À±â __¿¬»êÀÚ¸¦ »ç¿ëÇÑ starmap __¿¬»êÀÚ¸¦ »ç¿ëÇØ Ãà¾àÇϱâ __¿ä¾à 14Àå, PyMonad ¶óÀ̺귯¸® __´Ù¿î·Îµå ¹× ¼³Ä¡Çϱâ __ÇÔ¼öÀû ÇÕ¼º°ú Ä¿¸µ ____Ä¿¸µÇÑ °íÂ÷ ÇÔ¼ö »ç¿ëÇϱâ ____´õ ¾î·Á¿î ¹æ½ÄÀ¸·Î Ä¿¸µÇϱâ __ÇÔ¼öÀû ÇÕ¼º°ú PyMonad °ö¼À ¿¬»êÀÚ __ÆãÅÍ¿Í Àû¿ë °¡´É ÆãÅÍ ____Áö¿¬ List() ÆãÅÍ »ç¿ëÇϱâ __¸ð³ªµåÀÇ °³³ä°ú bind() ÇÔ¼ö, ÀÌÁø ¿À¸¥ÂÊ ½ÃÇÁÆ® ¿¬»êÀÚ(>>) __¸ð³ªµå¸¦ »ç¿ëÇØ ½Ã¹Ä·¹ÀÌ¼Ç ±¸ÇöÇϱâ __Ãß°¡ PyMonad ±â´Éµé __¿ä¾à 15Àå, À¥ ¼­ºñ½º¿¡ ´ëÇÑ ÇÔ¼öÀû Á¢±Ù __HTTP ¿äû-ÀÀ´ä ¸ðµ¨ ____ÄíÅ°·Î »óÅ ÁÖÀÔÇϱâ ____¼­¹ö¸¦ ÇÔ¼öÇüÀ¸·Î ¼³°èÇϱâ ____ÇÔ¼öÀûÀÎ °üÁ¡¿¡¼­ ´õ ±íÀÌ »ìÆ캸±â ____¼­ºñ½º ³»Æ÷½ÃÅ°±â __WSGI Ç¥ÁØ ____WSGI ó¸® µµÁß¿¡ ¿¹¿Ü ¹ß»ý½ÃÅ°±â ____½Ç¿ëÀûÀÎ WSGI ¾ÖÇø®ÄÉÀÌ¼Ç __À¥ ¼­ºñ½º¸¦ ÇÔ¼ö·Î Á¤ÀÇÇϱâ ____WSGI ¾ÖÇø®ÄÉÀÌ¼Ç ¸¸µé±â ____¿øµ¥ÀÌÅÍ ¾ò±â ____ÇÊÅÍ Àû¿ëÇϱâ ____°á°ú Á÷·ÄÈ­Çϱâ ____µ¥ÀÌÅ͸¦ JSONÀ̳ª CSV·Î Á÷·ÄÈ­Çϱâ ____µ¥ÀÌÅ͸¦ XML·Î Á÷·ÄÈ­Çϱâ ____HTML·Î µ¥ÀÌÅÍ Á÷·ÄÈ­Çϱâ __»ç¿ë·® ÃßÀûÇϱâ __¿ä¾à 16Àå, ÃÖÀûÈ­¿Í °³¼± __¸Þ¸ðÀÌÁ¦À̼ǰú ij½Ì __¸Þ¸ðÀÌÁ¦ÀÌ¼Ç Æ¯È­½ÃÅ°±â ____²¿¸®Àç±Í ÃÖÀûÈ­ __¸Þ¸ð¸® ÃÖÀûÈ­ __Á¤È®µµ ÃÖÀûÈ­ ____°í°´ÀÇ ¿ä±¸¿¡ ¸ÂÃç Á¤È®µµ¸¦ °¨¼Ò½ÃÅ°±â __»ç·Ê ºÐ¼® - Ä«ÀÌ Á¦°öÀ» »ç¿ëÇÑ °áÁ¤ ____¿øµ¥ÀÌÅ͸¦ Counter °´Ã¼¸¦ »ç¿ëÇØ °É·¯³»°í Ãà¾àÇϱâ ____¿ä¾àÇÑ µ¥ÀÌÅÍ Àбâ ____Counter °´Ã¼¿¡¼­ È®·ü °è»êÇϱâ ____´Ù¸¥ ¿ä¾à ¹æ¹ý __¿¹»ó °ªÀ» °è»êÇÏ°í ºÐÇÒÇ¥ Ç¥½ÃÇϱâ ____Ä«ÀÌ Á¦°ö °ª °è»êÇϱâ ____Ä«ÀÌ Á¦°ö ¹®Åΰª °è»êÇϱâ ____ºÎºÐ °¨¸¶ ÇÔ¼ö °è»êÇϱâ ____¿ÏÀüÇÑ °¨¸¶ °ª °è»êÇϱâ ____ÀÓÀÇÀûÀÎ ºÐÆ÷ÀÇ È®·ü °è»êÇϱâ __¿ä¾à

ÀúÀÚ
½ºÆ¼ºì ·ÎÆ®
ÄÄÇ»ÅÍ°¡ Å©°í ºñ½Î¸ç µå¹°´ø 70³â´ëºÎÅÍ ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇßÀ¸¸ç, ÇÁ¸®·£¼­ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ ¹× ¾ÆÅ°ÅØÆ®·Î¼­ ´Ù¾çÇÑ ±Ô¸ðÀÇ ¼ö¸¹Àº ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇß´Ù. 10³â ÀÌ»ó ºñÁî´Ï½º ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÆÄÀ̽ãÀ» »ç¿ëÇØ¿Ô´Ù. ÇöÀç ÆÄÀ̽ãÀ» È°¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¿Í ETL ÆÄÀÌÇÁ¶óÀÎÀ» ±¸ÇöÇÏ°í ÀÖÀ¸¸ç, [°´Ã¼ÁöÇâ ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö](¿¡ÀÌÄÜ, 2017), [ÇÔ¼öÇü ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö](¿¡ÀÌÄÜ, 2017), [À¯ÄèÇÑ ÆÄÀ̽ã](¿¡ÀÌÄÜ, 2015), [Python Essentials](packt, 2015) µîÀ» Àú¼úÇß´Ù.
   À¯ÄèÇÑ ÆÄÀ̽ã | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ
   ¸ð´ø ÆÄÀ̽ã ÄîºÏ | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ
   Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle | ½ºÆ¼ºì ·ÎÆ® | Packt Publishing
   Python Object-Oriented Programming | ½ºÆ¼ºì ·ÎÆ® | Packt Publishing
½ºÆ¼ºì ·ÎÆ®
½ºÆ¼ºì ·ÎÆ®´Â ÄÄÇ»ÅÍ°¡ Å©°í ºñ½Î¸ç µå¹°´ø 70³â´ëºÎÅÍ ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇßÀ¸¸ç, ÇÁ¸®·£¼­ ¼ÒÇÁÆ®¿þ¾î °³¹ßÀÚ ¹× ¾ÆÅ°ÅØÆ®·Î¼­ ´Ù¾çÇÑ ±Ô¸ðÀÇ ¼ö¸¹Àº ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇß´Ù. 10³â ÀÌ»ó ºñÁî´Ï½º ¹®Á¦¸¦ ÇØ°áÇϱâ À§ÇØ ÆÄÀ̽ãÀ» »ç¿ëÇØ¿Ô´Ù. ÇöÀç ÆÄÀ̽ãÀ» È°¿ëÇØ ¸¶ÀÌÅ©·Î¼­ºñ½º¿Í ETL ÆÄÀÌÇÁ¶óÀÎÀ» ±¸ÇöÇÏ°í ÀÖÀ¸¸ç, ¡º°´Ã¼ÁöÇâ ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö¡»(¿¡ÀÌÄÜ, 2017), ¡ºÇÔ¼öÇü ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö¡»(¿¡ÀÌÄÜ, 2017), ¡ºÀ¯ÄèÇÑ ÆÄÀ̽㡻(¿¡ÀÌÄÜ, 2015), ¡ºPython Essentials¡»(packt, 2015) µîÀ» Àú¼úÇß´Ù.
   À¯ÄèÇÑ ÆÄÀ̽ã | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ
   °´Ã¼ÁöÇâ ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ
   ÆÄÀ̽㠰´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ
   ¸ð´ø ÆÄÀ̽ã ÄîºÏ | ½ºÆ¼ºì ·ÎÆ® | ¿¡ÀÌÄÜÃâÆÇ

¿ªÀÚ
¿ÀÇö¼®
ºñ»çÀ̵å¼ÒÇÁÆ®(BSIDESOFT) ÀÌ»ç·Î ÀÏÇϸ鼭 ¸ÅÀÏ °í°´ÀÇ ¿äû¿¡ µû¶ó Äڵ带 ¸¸µé°í ÀÖ´Â Çö¾÷ °³¹ßÀÚ´Ù. ¾î¸± ¶§ óÀ½ Á¢ÇÑ ÄÄÇ»ÅÍ¿¡ ¸ÅȤµÈ ÈÄ °æ±â°úÇаíµîÇб³, KAIST Àü»êÇÐ Çлç¿Í ÇÁ·Î±×·¡¹Ö ¾ð¾î Àü°ø ¼®»ç¸¦ ÃëµæÇÏ¸ç °è¼Ó ÄÄÇ»Å͸¦ »ç¿ëÇØ¿Ô´Ù. Á÷Àå¿¡¼­´Â ÁÖ·Î ÄÚƲ¸°À̳ª ÀÚ¹Ù¸¦ »ç¿ëÇÑ ¼­¹ö ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í, ÁÖ¸»À̳ª ºó ½Ã°£¿¡´Â ¹ø¿ªÀ» Çϰųª °øºÎÇϸ鼭 Áñ°Å¿òÀ» ã´Â´Ù. ½Ã°£ÀÌ ¾ÆÁÖ ¸¹ÀÌ ³²À» ¶§´Â ½Ã¹Ä·¹ÀÌ¼Ç °ÔÀÓÀ» Çϸ鼭 ¸Ó¸®¸¦ ½ÄÈ÷¸ç, ¾î¶»°Ô ÇÏ¸é ¸·µÕÀ̸¦ ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î ²ø¾îµéÀÏ ¼ö ÀÖÀ»Áö °í¹Î ÁßÀÎ ¾ÆºüÀ̱⵵ ÇÏ´Ù.

¡ºKotlin in Action¡»(¿¡ÀÌÄÜ, 2017), ¡º¹è¿ö¼­ ¹Ù·Î ¾²´Â ½ºÇÁ¸µ ÇÁ·¹ÀÓ¿öÅ©¡»(ÇѺû¹Ìµð¾î, 2020), ¡ºProgramming in Scala 4/e¡»(¿¡ÀÌÄÜ, 2021), ¡ºÇÑ ±ÇÀ¸·Î Àд ÄÄÇ»ÅÍ ±¸Á¶¿Í ÇÁ·Î±×·¡¹Ö¡»(Ã¥¸¸, 2021) µî 20±Ç ÀÌ»óÀÇ Ã¥À» ¹ø¿ªÇß´Ù.
   ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö ±âÃʺÎÅÍ ÀÀ¿ë±îÁö ¼¼Æ® | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   ÆÄÀ̽ã ÀÎ ÇÁ·¢Æ¼½º | ¿ÀÇö¼® | À§Å°ºÏ½º
   À¯ÄèÇÑ ÆÄÀ̽ã | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   ½ºÄ®¶ó µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   ÇÁ·Î±×·¡¹Ö ½ºÄ®¶ó | ¿ÀÇö¼® | ÇѺû¹Ìµð¾î
¿ÀÇö¼®
ÀúÀÚ ¿ÀÇö¼®Àº ºñ»çÀ̵å¼ÒÇÁÆ®(BSIDESOFT) ÀÌ»ç·Î ÀÏÇϸ鼭 ¸ÅÀϸÅÀÏ °í°´ÀÇ ¿äû¿¡ µû¶ó Äڵ带 ¸¸µé¾î³»°í ÀÖ´Â Çö¾÷ °³¹ßÀÚ´Ù. ¾î¸± ¶§ óÀ½ ÄÄÇ»Å͸¦ Á¢ÇÏ°í ¸ÅȤµÈ ÈÄ °æ±â°úÇаí, KAIST Àü»êÇаú(ÇÁ·Î±×·¡¹Ö ¾ð¾î Àü°ø ¼®»ç)¸¦ °ÅÄ¡¸é¼­ °è¼Ó ÄÄÇ»Å͸¦ »ç¿ëÇØ¿Ô´Ù. Á÷Àå¿¡¼­´Â ÁÖ·Î ÄÚƲ¸°À̳ª ÀÚ¹Ù¸¦ »ç¿ëÇÑ ¼­¹ö ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í, ÁÖ¸»À̳ª ºó ½Ã°£¿¡´Â ¹ø¿ªÀ» Çϰųª °øºÎ¸¦ Çϸ鼭 Áñ°Å¿òÀ» ã´Â´Ù. ½Ã°£ÀÌ ¾ÆÁÖ ¸¹ÀÌ ³²À» ¶§´Â ½Ã¹Ä·¹ÀÌ¼Ç °ÔÀÓÀ» Çϸ鼭 ¸Ó¸®¸¦ ½ÄÈ÷°í ³î°í, ¾î¶»°Ô ÇÏ¸é ¸·³»ÀÚ½ÄÀ» ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î ²ø¾îµéÀÏ ¼ö ÀÖÀ»±î °í¹Î ÁßÀÎ ¾ÆºüÀ̱⵵ ÇÏ´Ù. ¡ºÄÚ¾î ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö Core Python Applications Programming Third Edition¡»(¿¡ÀÌÄÜÃâÆÇ, 2014)À» ½ÃÀÛÀ¸·Î ¡ºKotlin in Action¡»(¿¡ÀÌÄÜÃâÆÇ, 2017), ¡ºÇÑ ±ÇÀ¸·Î Àд ÄÄÇ»ÅÍ ±¸Á¶¿Í ÇÁ·Î±×·¡¹Ö¡»(Ã¥¸¸, 2021), ¡ºÆÄÀ̽ãÀ¸·Î »ìÆ캸´Â ¾ÆÅ°ÅØó ÆÐÅÏ¡»(ÇѺû¹Ìµð¾î, 2021), ¡ºProgramming in Scala 4/e¡»(¿¡ÀÌÄÜÃâÆÇ, 2021) µî 30¿© ±ÇÀÇ Ã¥À» ¹ø¿ªÇß´Ù.
   ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö ±âÃʺÎÅÍ ÀÀ¿ë±îÁö ¼¼Æ® | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   À¯ÄèÇÑ ÆÄÀ̽ã | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   ½ºÄ®¶ó µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö | ¿ÀÇö¼® | ¿¡ÀÌÄÜÃâÆÇ
   ÇÁ·Î±×·¡¹Ö ½ºÄ®¶ó | ¿ÀÇö¼® | ÇѺû¹Ìµð¾î
   ÇÔ¼öÇü ¹ÝÀÀÇü ÇÁ·Î±×·¡¹Ö | ¿ÀÇö¼® | ÇѺû¹Ìµð¾î

ÀÌ ÃâÆÇ»çÀÇ °ü·Ã»óÇ°
¾ð¸®¾ó ¿£Áø 5 ¼ÎÀÌ´õ¿Í ÀÌÆåÆ® 2/e | ºê¶óÀ̽º ºê·»¶ó ¶ó¸ð½º,±è±âµ· | ¿¡ÀÌÄÜÃâÆÇ
µ¥ºê¿É½º ÇÚµåºÏ 2/e | Nicole Forsgren,Á¸ Àª¸®½º,Patrick Debois,Jez Humble,Áø Å´ ¿Ü | ¿¡ÀÌÄÜÃâÆÇ
È®·ü·ÐÀû ¸Ó½Å·¯´× | ÀÌÆÇÈ£,Murphy, Kevin P. | ¿¡ÀÌÄÜÃâÆÇ
¾çÀÚ ÄÄÇ»ÆÃÀÇ ÀÌÇØ | ³²±âȯ | ¿¡ÀÌÄÜÃâÆÇ
¸Ö¿þ¾î ºÐ¼®°ú ¸®¹ö½º ¿£Áö´Ï¾î¸µ | Saldanha, Anoop,Mohanta, Abhijit | ¿¡ÀÌÄÜÃâÆÇ

ÀÌ ºÐ¾ß ½Å°£ °ü·Ã»óÇ°
¿ÀÅäijµå(Auto Cad) ±âÃʺÎÅÍ È°¿ë±îÁö | ¸¶Áö¿ø
ÄÚµù Å×½ºÆ® ÇÕ°ÝÀÚ µÇ±â(C++ Æí) | ¹Ú°æ·Ï | °ñµç·¡ºø(ÁÖ)
¸¸µé¸é¼­ ¹è¿ì´Â ¾ÆµÎÀ̳ë IoT »ç¹°ÀÎÅͳݰú 40°³ÀÇ ÀÛÇ°µé | À幮ö | ¾Ø½áºÏ
Tkinter¸¦ »ç¿ëÇÑ ÆÄÀ̽ã GUI ÇÁ·Î±×·¡¹Ö | Moore, Alan D.,ÀÌÅ»ó | ¿¡ÀÌÄÜÃâÆÇ
¸®¾×Æ®¿Í ÇÔ²² ÇÏ´Â À¥ µðÀÚÀÎ | ¼Õ½ÂÀÏ | 21¼¼±â»ç
 
µµ¼­¸¦ ±¸ÀÔÇϽŠ°í°´ ¿©·¯ºÐµéÀÇ ¼­ÆòÀÔ´Ï´Ù.
ÀÚÀ¯·Î¿î ÀÇ°ß ±³È¯ÀÌ °¡´ÉÇÕ´Ï´Ù¸¸, ¼­ÆòÀÇ ¼º°Ý¿¡ ¸ÂÁö ¾Ê´Â ±ÛÀº »èÁ¦µÉ ¼ö ÀÖ½À´Ï´Ù.

µî·ÏµÈ ¼­ÆòÁß ºÐ¾ß¿Í »ó°ü¾øÀÌ ¸ÅÁÖ ¸ñ¿äÀÏ 5ÆíÀÇ ¿ì¼öÀÛÀ» ¼±Á¤ÇÏ¿©, S-Money 3¸¸¿øÀ» Àû¸³Çص帳´Ï´Ù.
ÃÑ 0°³ÀÇ ¼­ÆòÀÌ ÀÖ½À´Ï´Ù.