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

ÆÄÀ̽ã Ŭ¸° ÄÚµå  : À¯Áöº¸¼ö°¡ ½¬¿î ÆÄÀ̽ã Ŭ¸°Äڵ带 ¸¸µå´Â ºñ°á
ÆÄÀ̽ã Ŭ¸° ÄÚµå : À¯Áöº¸¼ö°¡ ½¬¿î ÆÄÀ̽ã Ŭ¸°Äڵ带 ¸¸µå´Â ºñ°á
  • ÀúÀÚ¸¶¸®¾Æ³ë ¾Æ³ª¾ß Àú/±èâ¼ö ¿ª
  • ÃâÆÇ»çÅÍ´×Æ÷ÀÎÆ®
  • ÃâÆÇÀÏ2022-04-14
  • µî·ÏÀÏ2022-12-16
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 12, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

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

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

ÀúÀÚ¼Ò°³

ÆÄÀ̽ãÀ¸·Î ¼ÒÇÁÆ®¿þ¾î¸¦ ¸¸µé°í µ¿·á ÇÁ·Î±×·¡¸Ó¸¦ °¡¸£Ä¡´Âµ¥ ´ëºÎºÐÀÇ ½Ã°£À» º¸³½ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌ´Ù. ÆÄÀ̽㠿ܿ¡´Â ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö(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 Å¬¸° ¾ÆÅ°ÅØó

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

ÇÑÁÙ ¼­Æò