ÄÜÅÙÃ÷ »ó¼¼º¸±â
ÆÄÀ̽ã Ŭ¸° ÄÚµå


ÆÄÀ̽ã Ŭ¸° ÄÚµå

ÆÄÀ̽ã Ŭ¸° ÄÚµå

<¸¶¸®¾Æ³ë ¾Æ³ª¾ß> Àú/<±èâ¼ö> ¿ª | ÅÍ´×Æ÷ÀÎÆ®

Ãâ°£ÀÏ
2022-04-14
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
9 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 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 Ŭ¸° ¾ÆÅ°ÅØó

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