ÄÁÅÙÃ÷»ó¼¼º¸±â

ÆÄÀ̽ã Ŭ¸° ÄÚµå - À¯Áöº¸¼ö°¡ ½¬¿î ÆÄÀ̽ã Äڵ带 ¸¸µå´Â ºñ°á (Ä¿¹öÀ̹ÌÁö)
¾Ë¶óµò
ÆÄÀ̽ã Ŭ¸° ÄÚµå - À¯Áöº¸¼ö°¡ ½¬¿î ÆÄÀ̽ã Äڵ带 ¸¸µå´Â ºñ°á
  • ÆòÁ¡ÆòÁ¡Á¡Æò°¡¾øÀ½
  • ÀúÀÚ¸¶¸®¾Æ³ë ¾Æ³ª¾ß ÁöÀ½, ±èâ¼ö ¿Å±è 
  • ÃâÆÇ»çÅÍ´×Æ÷ÀÎÆ® 
  • ÃâÆÇÀÏ2019-02-24 
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 0, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

°ß°íÇϸ鼭µµ È®?强À?¶Ù¾î³­ ÆÄÀ̽ã Äڵ带 ¸¸µå´Â ºñ¹ý

ÆÄÀ̽ãÀº ´©±¸³ª ½±°Ô ½ÃÀÛÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÌ´Ù. ±×·¯³ª ÀÌ Ã¥¿¡¼­ ¼Ò°³ÇÏ´Â ´ÙÀ½ ³»¿ëÀ» Á¦´ë·Î ¼÷ÁöÇÏÁö ¾Ê°í °³¹ßÀ» ÇÏ´Ùº¸¸é ´õ ÀÌ»óÀº ¼öÁ¤ÀÌ ºÒ°¡´ÉÇÑ Äڵ带 ¸¶ÁÖÇÏ°Ô µÈ´Ù. ¾îµð¼­ºÎÅÍ ¹«¾ùÀÌ À߸øµÈ °É±î? ÀÌ Ã¥À» ÅëÇØ ÆÄÀ̽ãÀÇ Ã¶ÇÐÀ» µû¸£´Â ÆÄÀ̽㽺·¯¿î Ŭ¸° Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æº¸ÀÚ.

* Ŭ¸° ÄÚµå¶õ ¹«¾ùÀΰ¡?
* ÆÄÀ̽㽺·¯¿î(pythonic) ÄÚµå¶õ ¹«¾ùÀΰ¡?
* ÆÄÀ̽㿡¼­ ¹ØÁÙÀÇ ÀǹÌ
* yield¿Í returnÀÇ Â÷ÀÌ
* ÀÌÅÍ·¯ºí°ú ÀÌÅÍ·¹ÀÌÅÍ, Á¦³Ê·¹ÀÌÅÍÀÇ Â÷ÀÌ
* ÄÚ·çƾÀ» »ç¿ëÇÑ ºñµ¿±â ÇÁ·Î±×·¡¹Ö
* LBYL - ÄÚµå ½ÇÇà Àü¿¡ ¹®Á¦¸¦ °Ë»çÇØ¾ß ÇÒ±î? ¾Æ´Ï¸é EAFP - ÀÏ´Ü ½ÇÇà ÈÄ ¹ß»ýÇÑ ¿¹¿Ü¸¦ Àâ¾Æ¾ß ÇÒ±î?
* SOLID ¿øÄ¢À» µû¸£´Â °ß°íÇÏ°í È®À强ÀÌ ¶Ù¾î³­ °´Ã¼ ¸¸µé±â
* ÆÄÀ̽ãÀÇ ´ö ŸÀÌÇÎ (Duck Typing)
* µ¥ÄÚ·¹ÀÌÅ͸¦ »ç¿ëÇØ ³» ¸¾´ë·Î °´Ã¼ ²Ù¹Ì±â
* µ¥ÀÌÅÍ µð½ºÅ©¸³ÅÍ¿Í ºñµ¥ÀÌÅÍ µð½ºÅ©¸³ÅÍÀÇ Â÷ÀÌ
* ÆÄÀ̽㿡¼­µµ GoFÀÇ µðÀÚÀÎ ÆÐÅÏÀ» »ç¿ëÇØ¾ß ÇÒ±î?
* ¸ùÅ° ÆÐÄ¡´Â ¿Ö ¸ùÅ° ÆÐÄ¡¶ó ÇÒ±î?
* "¼ÒÇÁÆ®¿þ¾î °øÇÐÀÇ »ç½Ç°ú ¿À·ù" ºÎÅÍ "¼º´ç°ú ½ÃÀå"¿¡ À̸£´Â °í¼­ÀÇ ÀλçÀÌÆ® ¿³º¸±â

ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ
ÀÌ Ã¥Àº ¼ÒÇÁÆ®¿þ¾î µðÀÚÀο¡ °ü½ÉÀÌ Àְųª ÆÄÀ̽㿡 ´ëÇØ º¸´Ù ÀÚ¼¼È÷ ¾Ë°í ½ÍÀº ¸ðµç °³¹ß ½Ç¹«ÀÚ¿¡°Ô ÀûÇÕÇÏ´Ù.

ÆÄÀ̽ãÀÇ °üÁ¡¿¡¼­¸¸ º¸¸é ÀÌ Ã¥Àº ¸ðµç ¼öÁØ¿¡ °³¹ßÀÚ¿¡°Ô ÀûÇÕÇÏ´Ù. °¢ ÀåÀÇ ³»¿ëÀº Á¡Á¡ º¹ÀâÇØÁö´Â ±¸Á¶À̱⠶§¹®¿¡ Â÷·Ê·Î ÇнÀÇϱ⿡ ÁÁ´Ù. ¼÷·ÃµÈ °³¹ßÀÚ¿¡°Ôµµ µµ¿òÀÌ µÈ´Ù. µ¥ÄÚ·¹ÀÌÅÍ, µð½ºÅ©¸³ÅÍ¿Í ºñµ¿±â ÇÁ·Î±×·¡¹Ö °°Àº ÆÄÀ̽㠰í±Þ ÁÖÁ¦¸¦ ´Ù·é´Ù. ÀϺΠÁÖÁ¦´Â ¾ð¾î ³»ºÎÀÇ µ¿ÀÛ ¿ø¸®ºÎÅÍ ºÐ¼®Çϱ⠶§¹®¿¡ ÆÄÀ̽ãÀ» Á» ´õ ±íÀÌ ÀÌÇØÇϴµ¥ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ëµé
1Àå ¼Ò°³, ÄÚµå Æ÷¸ËÆðú µµ±¸
ÆÄÀ̽㿡¼­ °³¹ß ȯ°æÀ» ¼³Á¤ÇÏ´Â µ¥ ÇÊ¿äÇÑ ÁÖ¿ä µµ±¸¿¡ ´ëÇØ ¼Ò°³ÇÑ´Ù. ÆÄÀ̽㠰³¹ßÀÚ°¡ ÀÛ¾÷À» ½ÃÀÛÇϱâ À§ÇØ ¾Ë¾Æ¾ß ÇÒ ±âÃÊ Áö½Ä»Ó¸¸ ¾Æ´Ï¶ó Á¤Àû ºÐ¼®, ¹®¼­È­, ŸÀÔ °Ë»ç¿Í ÄÚµå Æ÷¸ËÆðú °°Àº µµ±¸¸¦ »ç¿ëÇØ °¡µ¶¼ºÀÌ ³ôÀº Äڵ带 ÀÛ¼ºÇϱâ À§ÇÑ °¡À̵å¶óÀÎÀ» Á¦½ÃÇÑ´Ù.

2Àå ÆÄÀ̽㽺·¯¿î(Pythonic) ÄÚµå
ÆÄÀ̽ãÀÇ Æ¯Á¤ ±â´ÉÀ» »ìÆ캸°í À̵éÀÌ ¾î¶»°Ô »ç¿ëµÇ°í ÀÖ´ÂÁö »ìÆ캻´Ù. Ç°Áú ÁÁÀº Äڵ带 ¸¸µé°Ô ÇÏ´Â ÆÄÀ̽㽺·¯¿î Äڵ忡 ´ëÇÑ ±Ùº» ¾ÆÀ̵ð¾î¸¦ »ìÆ캻´Ù.

3Àå ÁÁÀº ÄÚµåÀÇ ÀϹÝÀûÀΠƯ¡
À¯Áöº¸¼ö°¡ ½¬¿î ÄÚµå ÀÛ¼º¿¡ ÃÊÁ¡À» µÎ°í ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î¸µÀÇ ÀϹÝÀûÀÎ ¿øÄ¢À» °ËÅäÇÑ´Ù. ¾î¶² °³³äµéÀÌ ÀÖ´ÂÁö »ìÆ캸°í µµ±¸¸¦ »ç¿ëÇØ ÇØ´ç °³³äÀ» Àû¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇؼ­µµ ¾Ë¾Æº»´Ù.

4Àå SOLID ¿øÄ¢
°´Ã¼ÁöÇâ ¼ÒÇÁÆ®¿þ¾î¸¦ À§ÇÑ µðÀÚÀÎ ¿øÄ¢¿¡ ´ëÇØ ´Ù·é´Ù. ÀÌ ¾àÀÚ´Â ¼ÒÇÁÆ®¿þ¾î °øÇп¡¼­ »ç¿ëµÇ´Â ¿ë¾î·Î °¢°¢À» ÆÄÀ̽㿡 ¾î¶»°Ô Àû¿ëÇÏ´ÂÁö »ìÆ캻´Ù.

5Àå µ¥ÄÚ·¹ÀÌÅ͸¦ »ç¿ëÇÑ ÄÚµå °³¼±
ÆÄÀ̽ãÀÇ °¡Àå ÈǸ¢ÇÑ ±â´É Áß ÇϳªÀÎ µ¥ÄÚ·¹ÀÌÅ͸¦ »ìÆ캻´Ù. ÇÔ¼ö ¶Ç´Â Ŭ·¡½º¸¦ À§ÇÑ µ¥ÄÚ·¹ÀÌÅ͸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ» ÀÌÇØÇÑ ´ÙÀ½¿¡ µ¥ÄÚ·¹ÀÌÅ͸¦ ÄÚµå Àç»ç¿ë, Ã¥ÀÓ ºÐ¸®, ±â´É ¼¼ºÐÈ­¿¡ ¾î¶»°Ô »ç¿ëÇÏ´ÂÁö »ìÆ캻´Ù.

6Àå µð½ºÅ©¸³ÅÍ·Î ´õ ¸ÚÁø °´Ã¼ ¸¸µé±â
°´Ã¼ÁöÇâ µðÀÚÀÎÀÇ ¼öÁØÀ» »õ·Î¿î Â÷¿øÀ¸·Î ²ø¾î¿Ã¸° ÆÄÀ̽ãÀÇ µð½ºÅ©¸³ÅÍ¿¡ ´ëÇØ ¾Ë¾Æº»´Ù. ÀÌ ±â´ÉÀº ÇÁ·¹ÀÓ¿öÅ©³ª µµ±¸¿¡ °¡±î¿î ±â´ÉÀε¥ µð½ºÅ©¸³Å͸¦ »ç¿ëÇϸé ÄÚµåÀÇ °¡µ¶¼ºÀ» ³ôÀÌ°í Àç»ç¿ë¼ºÀ» ³ôÀÏ ¼ö ÀÖ´Ù.

7Àå Á¦³Ê·¹ÀÌÅÍ »ç¿ëÇϱâ
Á¦³×·¹ÀÌÅÍ´Â ¾Æ¸¶µµ ÆÄÀ̽㿡¼­ °¡Àå ¸ÚÁø ±â´ÉÀÏ °ÍÀÌ´Ù. ¹Ýº¹(iteration)À̶ó´Â ÆÄÀ̽ãÀÇ ÇÙ½É °³³äÀ» »ç¿ëÇØ »õ·Î¿î ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀ» Á¦½ÃÇÑ´Ù. Á¦³Ê·¹ÀÌÅÍ¿Í ÀÌÅÍ·¹ÀÌÅ͸¦ »ç¿ëÇØ ÇÁ·Î±×·¥À» ÀÛ¼ºÇغ¸°í À̸¦ ÅëÇØ ¾Ë°Ô µÈ ³»¿ëÀ» Åä´ë·Î ÄÚ·çƾ(coroutine)°ú ºñµ¿±â ÇÁ·Î±×·¡¹ÖÀÇ ±âÃÊ¿¡ ´ëÇØ ¾Ë¾Æº»´Ù.

8Àå À¯´Ö Å×½ºÆ®¿Í ¸®ÆÑÅ丵
À¯Áöº¸¼ö°¡ ÇÊ¿äÇÑ Äڵ忡 ´ëÇØ ´ÜÀ§ Å×½ºÆ®°¡ ¾ó¸¶³ª Áß¿äÇÑÁö¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. ÀÌ Àå¿¡¼­´Â ´ÜÀ§ Å×½ºÆ®ÀÇ Á߿伺¿¡ ´ëÇØ »ìÆ캸°í À̸¦ Áö¿øÇÏ´Â ÁÖ¿ä ÇÁ·¹ÀÓ¿öÅ©ÀÎ unittest¿Í pytest¸¦ »ìÆ캻´Ù.

9Àå ÀϹÝÀûÀÎ µðÀÚÀÎ ÆÐÅÏ
¹®Á¦ ÇØ°áÀÇ °üÁ¡ÀÌ ¾Æ´Ï¶ó À¯Áöº¸¼ö¼ºÀÇ °üÁ¡¿¡¼­ ¾î¶² ½ÄÀ¸·Î ÆÄÀ̽ã Äڵ带 µðÀÚÀÎÇÏ´Â °ÍÀÌ ÁÁÀºÁö °ËÅäÇÑ´Ù. ÆÄÀ̽㿡¼­ µðÀÚÀÎ ÆÐÅÏÀ» ±¸ÇöÇϱâ À§ÇÑ ½Ç¿ëÀûÀÎ Á¢±Ù¹ýÀ» »ìÆ캻´Ù.

10Àå Ŭ¸° ¾ÆÅ°ÅØó
Ŭ¸° ÄÚµå´Â ÈǸ¢ÇÑ ¾ÆÅ°ÅØóÀÇ ±âº»ÀÌ´Ù. ù ¹ø° Àå¿¡¼­ºÎÅÍ ¾ð±ÞµÈ ¸ðµç °ÍµéÀ» Àü¹ÝÀûÀ¸·Î »ìÆ캸´Â °ÍÀº »ó¿ë ¹èÆ÷¸¦ ÇÒ ¶§ Áß¿äÇÑ ¿ªÇÒÀ» ÇÒ °ÍÀÌ´Ù.

ÀúÀÚ¼Ò°³

¸¶¸®¾Æ³ë ¾Æ³ª¾ß´Â ÆÄÀ̽ãÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé°í µ¿·á ÇÁ·Î±×·¡¸Ó¸¦ °¡¸£Ä¡´Âµ¥ ´ëºÎºÐÀÇ ½Ã°£À» º¸³½ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌ´Ù. ÆÄÀ̽㠿ܿ¡´Â ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö(functional programming), ºÐ»ê ½Ã½ºÅÛ°ú ÄÁÆÛ·±½º ¹ßÇ¥¿¡ °ü½ÉÀ» °¡Áö°í ÀÖ´Ù.

Euro Python 2016°ú 2017¿¡¼­ ¿¬»ç·Î È°µ¿Çß´Ù. ÀúÀÚ¿¡ ´ëÇØ ´õ ÀÚ¼¼È÷ ¾Ë±â ¿øÇÑ´Ù¸é GitHub¿¡¼­ rmariano °èÁ¤À¸·Î °Ë»öÇÒ ¼ö ÀÖ´Ù.

¹ßÇ¥ ÀڷḦ °øÀ¯ÇÏ´Â http://speakerdeck.com »çÀÌÆ®ÀÇ »ç¿ëÀÚ À̸§Àº rmarianoÀÌ´Ù.

¸ñÂ÷

¼­¹®
chapter 1 ¼Ò°³, ÄÚµå Æ÷¸ÅÆðú µµ±¸
Ŭ¸° ÄÚµåÀÇ ÀǹÌ
Ŭ¸° ÄÚµåÀÇ Á߿伺
Ŭ¸° Äڵ忡¼­ ÄÚµå Æ÷¸ÅÆÃÀÇ ¿ªÇÒ
ÇÁ·ÎÁ§Æ® ÄÚµù ½ºÅ¸ÀÏ °¡À̵å Áؼö
Docstring°ú ¾î³ëÅ×À̼Ç
Docstring
¾î³ëÅ×À̼Ç
¾î³ëÅ×À̼ÇÀº docstringÀ» ´ëüÇÏ´Â °ÍÀϱî?
±âº» Ç°Áú Çâ»óÀ» À§ÇÑ µµ±¸ ¼³Á¤
¿ä¾à

chapter 2 ÆÄÀ̽㽺·¯¿î(pythonic) ÄÚµå
À妽º¿Í ½½¶óÀ̽º
ÀÚü ½ÃÄö½º »ý¼º
ÄÁÅؽºÆ® °ü¸®ÀÚ(context manager)
ÄÁÅؽºÆ® °ü¸®ÀÚ ±¸Çö
ÇÁ·ÎÆÛƼ, ¼Ó¼º°ú °´Ã¼ ¸Þ¼­µåÀÇ ´Ù¸¥ ŸÀÔµé
ÆÄÀ̽㿡¼­ÀÇ ¹ØÁÙ
ÇÁ·ÎÆÛƼ
ÀÌÅÍ·¯ºí °´Ã¼
ÀÌÅÍ·¯ºí °´Ã¼ ¸¸µé±â
½ÃÄö½º ¸¸µé±â
ÄÁÅ×ÀÌ³Ê °´Ã¼
°´Ã¼ÀÇ µ¿ÀûÀÎ ¼Ó¼º
È£ÃâÇü(callable) °´Ã¼
¸ÅÁ÷ ¸Þ¼­µå ¿ä¾à
ÆÄÀ̽㿡¼­ À¯ÀÇÇÒ Á¡
º¯°æ °¡´É??mutable) ÆĶó¹ÌÅÍÀÇ ±âº» °ª
³»Àå(built-in) ŸÀÔ È®Àå
¿ä¾à
Âü°í ÀÚ·á

chapter 3 ÁÁÀº ÄÚµåÀÇ ÀϹÝÀûÀΠƯ¡
°è¾à¿¡ ÀÇÇÑ µðÀÚÀÎ
»çÀüÁ¶°Ç(precondition)
»çÈÄÁ¶°Ç(postcondition)
ÆÄÀ̽㽺·¯¿î °è¾à
°è¾à¿¡ ÀÇÇÑ µðÀÚÀÎ(DbC) - °á·Ð
¹æ¾îÀû(defensive) ÇÁ·Î±×·¡¹Ö
¿¡·¯ Çڵ鸵
ÆÄÀ̽㿡¼­ ¾î¼³¼Ç »ç¿ëÇϱâ
°ü½É»çÀÇ ºÐ¸®
ÀÀÁý·Â(cohesion)°ú °áÇÕ·Â(coupling)
°³¹ß Áöħ ¾à¾î
DRY/OAOO
YAGNI
KIS
EAFP/LBYL
ÄÄÆ÷Áö¼Ç°ú »ó¼Ó
»ó¼ÓÀÌ ÁÁÀº ¼±ÅÃÀÎ °æ¿ì
»ó¼Ó ¾ÈƼÆÐÅÏ
ÆÄÀ̽ãÀÇ ´ÙÁß»ó¼Ó
ÇÔ¼ö¿Í ¸Þ¼­µåÀÇ ÀÎÀÚ
ÆÄÀ̽ãÀÇ ÇÔ¼ö ÀÎÀÚ µ¿ÀÛ¹æ½Ä
ÇÔ¼ö ÀÎÀÚÀÇ °³¼ö
¼ÒÇÁÆ®¿þ¾î µðÀÚÀÎ ¿ì¼ö »ç·Ê °á·Ð
¼ÒÇÁÆ®¿þ¾îÀÇ µ¶¸³¼º(orthogonality)
ÄÚµå ±¸Á¶
¿ä¾à
Âü°í ÀÚ·á

chapter 4 SOLID ¿øÄ¢
´ÜÀÏ Ã¥ÀÓ ¿øÄ¢
³Ê¹« ¸¹Àº Ã¥ÀÓÀ» °¡Áø Ŭ·¡½º
Ã¥ÀÓ ºÐ»ê
°³¹æ/Æó¼â ¿øÄ¢
°³¹æ/Æó¼â ¿øÄ¢À» µû¸£Áö ¾ÊÀ» °æ¿ì À¯Áöº¸¼öÀÇ ¾î·Á¿ò
??强À?°¡Áø À̺¥Æ® ½Ã½ºÅÛÀ¸·Î ¸®ÆÑÅ丵
À̺¥Æ® ½Ã½ºÅÛ È®Àå
OCP ÃÖÁ¾ Á¤¸®
¸®½ºÄÚÇÁ ġȯ ¿øÄ¢(LSP)
µµ±¸¸¦ »ç¿ëÇØ LSP ¹®Á¦ °Ë»çÇϱâ
¾Ö¸ÅÇÑ LSP À§¹Ý »ç·Ê
LSP ÃÖÁ¾ Á¤¸®
ÀÎÅÍÆäÀ̽º ºÐ¸® ¿øÄ¢
³Ê¹« ¸¹Àº ÀÏÀ» ÇÏ´Â ÀÎÅÍÆäÀ̽º
ÀÎÅÍÆäÀ̽º´Â ÀÛÀ»¼ö·Ï ÁÁ´Ù.
ÀÎÅÍÆäÀ̽º´Â ¾ó¸¶³ª ÀÛ¾Æ¾ß ÇÒ±î?
ÀÇÁ¸¼º ¿ªÀü
¾ö°ÝÇÑ ÀÇÁ¸ÀÇ ¿¹
ÀÇÁ¸¼ºÀ» °Å²Ù·Î
¿ä¾à
Âü°í ÀÚ·á

chapter 5 µ¥ÄÚ·¹ÀÌÅ͸¦ »ç¿ëÇÑ ÄÚµå °³¼±
ÆÄÀ̽ãÀÇ µ¥ÄÚ·¹ÀÌÅÍ
ÇÔ¼ö µ¥ÄÚ·¹ÀÌÅÍ
Ŭ·¡½º µ¥ÄÚ·¹ÀÌÅÍ
´Ù¸¥ À¯ÇüÀÇ µ¥ÄÚ·¹ÀÌÅÍ
µ¥ÄÚ·¹ÀÌÅÍ¿¡ ÀÎÀÚ Àü´Þ
µ¥ÄÚ·¹ÀÌÅÍ È°¿ë ¿ì¼ö »ç·Ê
µ¥ÄÚ·¹ÀÌÅÍÀÇ È°¿ë - ÈçÇÑ ½Ç¼ö ÇÇÇϱâ
·¡ÇÎµÈ ¿øº» °´Ã¼ÀÇ µ¥ÀÌÅÍ º¸Á¸
µ¥ÄÚ·¹ÀÌÅÍ ºÎÀÛ¿ë ó¸®
¾î´À °÷¿¡¼­³ª µ¿ÀÛÇÏ´Â µ¥ÄÚ·¹ÀÌÅÍ ¸¸µé±â
µ¥ÄÚ·¹ÀÌÅÍ¿Í DRY ¿øÄ¢
µ¥ÄÚ·¹ÀÌÅÍ¿Í °ü½É»çÀÇ ºÐ¸®
ÁÁÀº µ¥ÄÚ·¹ÀÌÅÍ ºÐ¼®
¿ä¾à
Âü°í ÀÚ·á

chapter 6 µð½ºÅ©¸³ÅÍ·Î ´õ ¸ÚÁø °´Ã¼ ¸¸µé±â
µð½ºÅ©¸³ÅÍ °³¿ä
µð½ºÅ©¸³ÅÍ ¸ÞÄ¿´ÏÁò
µð½ºÅ©¸³ÅÍ ÇÁ·ÎÅäÄÝÀÇ ¸Þ¼­µå Ž»ö
µð½ºÅ©¸³ÅÍÀÇ À¯Çü
ºñµ¥ÀÌÅÍ(non-data) µð½ºÅ©¸³ÅÍ
µ¥ÀÌÅÍ µð½ºÅ©¸³ÅÍ
µð½ºÅ©¸³ÅÍ ½ÇÀü
µð½ºÅ©¸³Å͸¦ »ç¿ëÇÑ ¾ÖÇø®ÄÉÀ̼Ç
´Ù¸¥ ÇüÅÂÀÇ µð½ºÅ©¸³ÅÍ
µð½ºÅ©¸³ÅÍ¿¡ ´ëÇÑ Ãß°¡ °í·Á»çÇ×
µð½ºÅ©¸³ÅÍ ºÐ¼®
ÆÄÀ̽㠳»ºÎ¿¡¼­ÀÇ µð½ºÅ©¸³ÅÍ È°¿ë
µ¥ÄÚ·¹ÀÌÅ͸¦ µð½ºÅ©¸³ÅÍ·Î ±¸ÇöÇϱâ
¿ä¾à
Âü°í ÀÚ·á

chapter 7 Á¦³Ê·¹ÀÌÅÍ »ç¿ëÇϱâ
±â¼úÀû ¿ä±¸»çÇ×
Á¦³Ê·¹ÀÌÅÍ ¸¸µé±â
Á¦³Ê·¹ÀÌÅÍ °³¿ä
Á¦³Ê·¹ÀÌÅÍ Ç¥Çö½Ä
ÀÌ»óÀûÀÎ ¹Ýº¹
°ü¿ëÀûÀÎ ¹Ýº¹ ÄÚµå
ÆÄÀ̽ãÀÇ ÀÌÅÍ·¹ÀÌÅÍ ÆÐÅÏ
ÄÚ·çƾ(coroutine)
Á¦³Ê·¹ÀÌÅÍ ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µå
ÄÚ·çƾ °í±Þ ÁÖÁ¦
ÀÛÀº ÄÚ·çƾ¿¡ À§ÀÓÇϱâ - yield from ±¸¹®
ºñµ¿±â ÇÁ·Î±×·¡¹Ö
¿ä¾à
Âü°í ÀÚ·á

chapter 8 ´ÜÀ§ Å×½ºÆ®¿Í ¸®ÆÑÅ丵
µðÀÚÀÎ ¿øÄ¢°ú ´ÜÀ§ Å×½ºÆ®
ÀÚµ¿È­µÈ Å×½ºÆ®ÀÇ ´Ù¸¥ ÇüÅÂ
´ÜÀ§ Å×½ºÆ®¿Í ¾ÖÀÚÀÏ ¼ÒÇÁÆ®¿þ¾î °³¹ß
´ÜÀ§ Å×½ºÆ®¿Í ¼ÒÇÁÆ®¿þ¾î µðÀÚÀÎ
Å×½ºÆ®ÀÇ °æ°è Á¤Çϱâ
Å×½ºÆ®¸¦ À§ÇÑ ÇÁ·¹?Ó¿öÅ©¿?µµ±¸
´ÜÀ§ Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©¿Í ¶óÀ̺귯¸®
ÄÚµå Ä¿¹ö¸®Áö
¸ðÀÇ(mock) °´Ã¼
¸®ÆÑÅ丵
ÄÚµåÀÇ ÁøÈ­
»ó¿ë Äڵ常 ÁøÈ­ÇÏ´Â °ÍÀÌ ¾Æ´Ï´Ù.
´ÜÀ§ Å×½ºÆ®¿¡ ´ëÇÑ Ãß°¡ ³íÀÇ
¼Ó¼º ±â¹Ý Å×½ºÆ®
º¯Çü Å×½ºÆ®
Å×½ºÆ® ÁÖµµ °³¹ß °£·« ¼Ò°³
¿ä¾à
Âü°í

chapter 9 ÀϹÝÀûÀÎ µðÀÚÀÎ ÆÐÅÏ
ÆÄÀ̽㿡 µðÀÚÀÎ ÆÐÅÏ Àû¿ë ½Ã °í·Á»çÇ×
½ÇÀü ¼ÓÀÇ µðÀÚÀÎ ÆÐÅÏ
»ý¼º(creational) ÆÐÅÏ
±¸Á¶(structural) ÆÐÅÏ
Çൿ(behavioral) ÆÐÅÏ
Null °´Ã¼ ÆÐÅÏ
µðÀÚÀÎ ÆÐÅÏ¿¡ ´ëÇÑ ÃÖÁ¾ Á¤¸®
µðÀÚÀο¡ ´ëÇÑ ÆÐÅÏÀÇ ¿µÇ⼺
¸ðµ¨ÀÇ À̸§
¿ä¾à
Âü°í

chapter 10 Ŭ¸° ¾ÆÅ°ÅØó
Ŭ¸° Äڵ忡¼­ Ŭ¸° ¾ÆÅ°ÅØó·Î
°ü½É»çÀÇ ºÐ¸®
Ãß»óÈ­
¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®
ÆÐÅ°Áö
ÄÁÅ×À̳Ê
À¯½ºÄÉÀ̽º
ÄÚµå
¼­ºñ½º
ºÐ¼®
¿ä¾à
Âü°í

ÇÑÁÙ ¼­Æò