ÆÄÀ̽㠾ð¾î¸¦ »ç¿ëÇÑ È®À强, ÀûÀÀ¼º, ¸ð¹ü »ç·Ê¸¦ °Á¶ÇÏ¸é¼ ´ë±Ô¸ð ¼ÒÇÁÆ®¿þ¾î ½Ã½ºÅÛÀ» ¼³°èÇÏ°í À¯Áö °ü¸®Çϱâ À§ÇÑ Æ÷°ýÀûÀÎ °¡À̵带 Á¦°øÇϴ åÀÌ´Ù. ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó, API µðÀÚÀÎ, µ¥ÀÌÅÍ ¸ðµ¨¸µ, 12°¡Áö ¿ä¼Ò ¾Û ¹æ¹ý·ÐÀ» Æ÷ÇÔÇÑ Çʼö ÁÖÁ¦¸¦ ´Ù·é´Ù. °¢ Àå¿¡¼´Â À¥ ¼¹ö ±¸Á¶, À̺¥Æ® Á᫐ ¾ÆÅ°ÅØó, ¸¶ÀÌÅ©·Î¼ºñ½º¿Í ¸ð³î¸®½Ä, Å×½ºÆ® ¹æ¹ý·Ð, ÆÐÅ°Áö °ü¸®, Áö¼ÓÀûÀÎ À¯Áö º¸¼ö¸¦ ÀÚ¼¼È÷ »ìÆ캻´Ù. °³¹ßÀÚ ¸éÁ¢ Áغñ¿¡µµ µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
01Àå. ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó ¼Ò°³
½Ã½ºÅÛ ±¸Á¶ Á¤ÀÇ
´õ ÀÛÀº ´ÜÀ§·Î ºÐÇÒ
ÇÁ·Î¼¼½º °£ Åë½Å
ÄÜ¿þÀÌ ¹ýÄ¢: ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØó¿¡ ¹ÌÄ¡´Â ¿µÇâ
¾ÖÇø®ÄÉÀÌ¼Ç ¿¹: °³¿ä
¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØóÀÇ º¸¾È Ãø¸é
¿ä¾à
1ºÎ. ¼³°è
02Àå. API ¼³°è
Ãß»óÈ
¿Ã¹Ù¸¥ Ãß»óÈ »ç¿ë
´©¼ö Ãß»óÈ
¸®¼Ò½º¿Í ¾×¼Ç Ãß»óÈ
RESTful ÀÎÅÍÆäÀ̽º
Á» ´õ ½Ç¿ëÀûÀÎ Á¤ÀÇ
HTTP Çì´õ¿Í »óÅ ÄÚµå
¸®¼Ò½º ¼³°è
¸®¼Ò½º¿Í ÆĶó¹ÌÅÍ
ÆäÀÌÁö³×À̼Ç
RESTful API ÇÁ·Î¼¼½º ¼³°è
Open API ¸í¼¼ »ç¿ë
ÀÎÁõ
HTML ÀÎÅÍÆäÀ̽º ÀÎÁõ
RESTful ÀÎÅÍÆäÀ̽º ÀÎÁõ
API ¹öÀü °ü¸®
¿Ö ¹öÀü °ü¸®¸¦ Çϴ°¡?
³»ºÎ ¹× ¿ÜºÎ ¹öÀü °ü¸®
½Ã¸Çƽ ¹öÀü °ü¸®
´Ü¼øÈÇÑ ¹öÀü °ü¸®
ÇÁ·ÐÆ®¿£µå¿Í ¹é¿£µå
¸ðµ¨-ºä-ÄÁÆ®·Ñ·¯ ±¸Á¶
HTML ÀÎÅÍÆäÀ̽º
±âÁ¸ HTML ÀÎÅÍÆäÀ̽º
µ¿Àû ÆäÀÌÁö
½Ì±Û ÆäÀÌÁö ¾ÖÇø®ÄÉÀ̼Ç
ÇÏÀ̺긮µå Á¢±Ù
API ¼³°è ¿¹½Ã
¿£µåÆ÷ÀÎÆ®
¼³°è ¹× ±¸Çö °ËÅä
¿ä¾à
03Àå. µ¥ÀÌÅÍ ¸ðµ¨¸µ
µ¥ÀÌÅͺ£À̽º À¯Çü
°ü°èÇü µ¥ÀÌÅͺ£À̽º
ºñ°ü°èÇü µ¥ÀÌÅͺ£À̽º
¼Ò±Ô¸ð µ¥ÀÌÅͺ£À̽º
µ¥ÀÌÅͺ£À̽º Æ®·£Àè¼Ç
ºÐ»ê °ü°èÇü µ¥ÀÌÅͺ£À̽º
¿øº»/º¹Á¦º»
»þµù
»þµùÀÇ ÀåÁ¡°ú ´ÜÁ¡
½ºÅ°¸¶ ¼³°è
½ºÅ°¸¶ Á¤±ÔÈ
ºñÁ¤±ÔÈ
µ¥ÀÌÅÍ À妽Ì
Ä«µð³Î¸®Æ¼
¿ä¾à
04Àå. µ¥ÀÌÅÍ °èÃþ
¸ðµ¨ °èÃþ
µµ¸ÞÀÎ ÁÖµµ ¼³°è
ORM »ç¿ë
ÀÛ¾÷ ´ÜÀ§ ÆÐÅÏ ¹× µ¥ÀÌÅÍ Ä¸½¶È
Àбâ¿Í ¾²±â¿¡¼ °¢±â ´Ù¸¥ ¸ðµ¨À» »ç¿ëÇÏ´Â CQRS
µ¥ÀÌÅͺ£À̽º ¸¶À̱׷¹À̼Ç
ÇÏÀ§ ȣȯ¼º
°ü°èÇü ½ºÅ°¸¶ º¯°æ
½ºÅ°¸¶¸¦ Àû¿ëÇÏÁö ¾Ê´Â º¯°æ
·¹°Å½Ã µ¥ÀÌÅͺ£À̽º ´Ù·ç±â
µ¥ÀÌÅͺ£À̽º¿¡¼ ½ºÅ°¸¶ °¨Áö
±âÁ¸ ½ºÅ°¸¶¸¦ ORM Á¤ÀÇ¿¡ µ¿±âÈ
¿ä¾à
2ºÎ. ¾ÆÅ°ÅØó ÆÐÅÏ
05Àå. Twelve-Factor ¾Û ¹æ¹ý·Ð
Twelve-Factor ¾Û ¼Ò°³
Áö¼ÓÀûÀÎ ÅëÇÕ(CI)
È®À强
¼³Á¤
Twelve-Factor ¾ÛÀÇ ¿ä¼Ò
ÇÑ ¹ø ºôµå, ¿©·¯ ¹ø ½ÇÇà
ÀÇÁ¸¼º°ú ¼³Á¤
È®À强
¸ð´ÏÅ͸µ°ú ¾îµå¹Î
Twelve-Factor ¾Û ÄÁÅ×À̳ÊÈ
¿ä¾à
06Àå. À¥ ¼¹ö ±¸Á¶
¿äû-ÀÀ´ä
À¥ ¾ÆÅ°ÅØó
À¥ ¼¹ö
¿ÜºÎÀÇ Á¤Àû ÆÄÀÏ ¼ºñ½º
¸®¹ö½º ÇÁ·Ï½Ã
·Î±× ÀúÀå
°í±Þ »ç¿ë¹ý
uWSGI
WSGI ¾ÖÇø®ÄÉÀ̼Ç
À¥ ¼¹ö¿ÍÀÇ »óÈ£ ÀÛ¿ë
ÇÁ·Î¼¼½º
ÇÁ·Î¼¼½º ¼ö¸í ÁÖ±â
ÆÄÀ̽㠿öÄ¿
Àå°í MVT ¾ÆÅ°ÅØó
ºä·Î ¿äû ¶ó¿ìÆÃ
ºä
¹Ìµé¿þ¾î
Àå°í REST ÇÁ·¹ÀÓ¿öÅ©
¿ÜºÎ °èÃþ
¿ä¾à
07Àå. À̺¥Æ® ±â¹Ý ±¸Á¶
À̺¥Æ® Àü´Þ
ºñµ¿±â ÀÛ¾÷
ÀÛ¾÷ ¼¼ºÐÈ
½ºÄÉÁÙ ÀÛ¾÷
Å¥ÀÇ È¿°ú
¸ðµç ¿öÄ¿ÀÇ ´ÜÀÏ ÄÚµå
Ŭ¶ó¿ìµå Å¥¿Í ¿öÄ¿
Celery
Celery ¼³Á¤
Celery ¿öÄ¿
Æ®¸®°Å ÀÛ¾÷
ÀÛ¾÷, ¿öÄ¿µéÀ» ¿¬°áÇϱâ
½ºÄÉÁÙ ÀÛ¾÷
Celery Flower
Flower HTTP API
¿ä¾à
08Àå. °í±Þ À̺¥Æ® ±â¹Ý ±¸Á¶
½ºÆ®¸®¹Ö À̺¥Æ®
ÆÄÀÌÇÁ¶óÀÎ
Áغñ
±âº» ÀÛ¾÷
À̹ÌÁö ÀÛ¾÷
ºñµð¿À ÀÛ¾÷
ÀÛ¾÷ ¿¬°á
ŽºÅ© ½ÇÇà
¹ö½º Á¤ÀÇÇϱâ
´õ º¹ÀâÇÑ ½Ã½ºÅÛ
À̺¥Æ® ±â¹Ý ½Ã½ºÅÛ Å×½ºÆ®
¿ä¾à
09Àå. ¸¶ÀÌÅ©·Î¼ºñ½º ´ë ¸ð³ë¸®½º
¸ð³ë¸®½º ¾ÆÅ°ÅØó
¸¶ÀÌÅ©·Î¼ºñ½º ¾ÆÅ°ÅØó
¾ÆÅ°ÅØó ¼±ÅÃ
À¯»çÇÑ ¼³°è¿¡ ´ëÇÑ Âü°í
ÇÙ½É ¿ä¼Ò: ÆÀ Ä¿¹Â´ÏÄÉÀ̼Ç
¸ð³ë¸®½º¿¡¼ ¸¶ÀÌÅ©·Î¼ºñ½º·ÎÀÇ ¸¶À̱׷¹À̼Ç
¸¶À̱׷¹ÀÌ¼Ç µµÀü °úÁ¦
¸¶À̱׷¹ÀÌ¼Ç ÁøÇà ½Ã ³× °¡Áö °í·Á»çÇ×
¼ºñ½º ÄÁÅ×À̳ÊÈ
À̹ÌÁö ºôµå¿Í ½ÇÇà
À¥ ¼ºñ½º ºôµå¿Í ½ÇÇà
¿ÀÄɽºÆ®·¹À̼ǰú Äí¹ö³×Ƽ½º
¿ä¾à
3ºÎ. ±¸Çö
10Àå. Å×½ºÆ®¿Í TDD
ÄÚµå Å×½ºÆ®
´Ù¾çÇÑ ·¹º§ÀÇ Å×½ºÆ®
´ÜÀ§ Å×½ºÆ®
ÅëÇÕ Å×½ºÆ®
½Ã½ºÅÛ Å×½ºÆ®
Å×½ºÆ® öÇÐ
ÈǸ¢ÇÑ Å×½ºÆ®¸¦ ¼³°èÇÏ´Â ¹æ¹ý
±¸Á¶È Å×½ºÆ®
Å×½ºÆ® ÁÖµµ °³¹ß
½Å±Ô ÆÀ¿¡ TDD ¼Ò°³
¹®Á¦ ¹× Á¦ÇÑ»çÇ×
TDD ÇÁ·Î¼¼½º ¿¹
ÆÄÀ̽ãÀÇ ´ÜÀ§ Å×½ºÆ® ¼Ò°³
ÆÄÀ̽ã unittest
pytest
¿ÜºÎ ÀÇÁ¸¼º Å×½ºÆ®
¸ñÅ·
ÀÇÁ¸¼º ÁÖÀÔ
OOP¿¡¼ÀÇ ÀÇÁ¸¼º ÁÖÀÔ
pytest °í±Þ ±â´É
±×·ì Å×½ºÆ®
ÇȽºÃ³ »ç¿ë
¿ä¾à
11Àå. ÆÐÅ°Áö °ü¸®
»õ·Î¿î ÆÐÅ°ÁöÀÇ »ý¼º
ÆÄÀ̽ãÀÇ ÀϹÝÀûÀÎ ÆÐŰ¡
ÆÄÀ̽ã ÆÐÅ°Áö »ýÅ°è
PyPI
°¡»ó ȯ°æ
ȯ°æ Áغñ
ÆÄÀ̽ã ÆÐÅ°Áö
ÆÐÅ°Áö »ý¼ºÇϱâ
°³¹ß ¸ðµå
¼ø¼ö ÆÄÀ̽ã ÆÐÅ°Áö
»çÀ̽ã
¹ÙÀ̳ʸ® Äڵ尡 Æ÷ÇÔµÈ ÆÄÀ̽ã ÆÐÅ°Áö
PyPI¿¡ ÆÐÅ°Áö ¾÷·ÎµåÇϱâ
ÀÚü »ç¼³ À妽º »ý¼ºÇϱâ
¿ä¾à
4ºÎ. Áö¼ÓÀûÀÎ ¿î¿µ ¾÷¹«
12Àå. ·Î±ë
·Î±× ±âº» ³»¿ë
ÆÄÀ̽㿡¼ ·Î±× »ý¼º
·Î±×¸¦ ÅëÇÑ ¹®Á¦ °¨Áö
¿¹»ó ¿¡·¯ °¨Áö
¿¹»óÇÏÁö ¸øÇÑ ¿¡·¯ ¼öÁý
·Î±× Àü·«
°³¹ß Áß ·Î±× Ãß°¡
·Î±× Á¦ÇÑ
¿ä¾à
13Àå. ¸ÞÆ®¸¯
¸ÞÆ®¸¯°ú ·Î±×
¸ÞÆ®¸¯ Á¾·ù
ÇÁ·Î¸ÞÅ׿콺¸¦ »ç¿ëÇØ ¸ÞÆ®¸¯ »ý¼ºÇϱâ
ȯ°æ Áغñ
Àå°í ÇÁ·Î¸ÞÅ׿콺 ¼³Á¤
¸ÞÆ®¸¯ È®ÀÎ
ÇÁ·Î¸ÞÅ׿콺 ¼¹ö ½ÃÀÛ
ÇÁ·Î¸ÞÅ׿콺 Äõ¸®
¸ÞÆ®¸¯À» »ç¿ëÇØ ´Éµ¿ÀûÀ¸·Î ÀÛ¾÷Çϱâ
°æ°í
¿ä¾à
14Àå. ÇÁ·ÎÆÄÀϸµ
ÇÁ·ÎÆÄÀϸµ ±âº» ³»¿ë
ÇÁ·ÎÆÄÀÏ·¯ À¯Çü
¼Ò¿ä ½Ã°£À» ¾Ë·ÁÁÖ´Â ÇÁ·ÎÆÄÀϸµ ÄÚµå
³»Àå cProfile ¸ðµâ »ç¿ë
¶óÀÎ ÇÁ·ÎÆÄÀÏ·¯
ºÎºÐ ÇÁ·ÎÆÄÀϸµ
¼Ò¼ö¸¦ ¸®ÅÏÇÏ´Â À¥ ¼¹öÀÇ ¿¹
Àüü ÇÁ·Î¼¼½º ÇÁ·ÎÆÄÀϸµ
¿äû¸¶´Ù ÇÁ·ÎÆÄÀϸµ ÆÄÀÏ »ý¼º
¸Þ¸ð¸® ÇÁ·ÎÆÄÀϸµ
memory_profiler »ç¿ë
¸Þ¸ð¸® ÃÖÀûÈ
¿ä¾à
15Àå. µð¹ö±ë
°áÇÔ °¨Áö ¹× ó¸®
ÇÁ·Î´ö¼Ç ȯ°æ ºÐ¼®
ÇÁ·Î´ö¼Ç ȯ°æÀÇ ¹®Á¦ ÀÌÇØ
¿äû ID ·Î±ë
µ¥ÀÌÅÍ ºÐ¼®
·Î±ë Ãß°¡
·ÎÄà ȯ°æ µð¹ö±ë
ÆÄÀ̽ã ÀÎÆ®·Î½ºÆå¼Ç Åø
·Î±×¸¦ »ç¿ëÇÑ µð¹ö±ë
ºê·¹ÀÌÅ©Æ÷ÀÎÆ®¸¦ »ç¿ëÇÑ µð¹ö±ë
¿ä¾à
16Àå. Áö¼ÓÀûÀÎ ¾ÆÅ°ÅØó
¾ÆÅ°ÅØó °³¼±
¿¹Á¤µÈ ´Ù¿îŸÀÓ
À¯Áöº¸¼ö ½Ã°£
Àå¾Ö
Æ÷½ºÆ®¸ðÅÛ ºÐ¼®
ÇÁ¸®¸ðÅÛ ºÐ¼®
ºÎÇÏ Å×½ºÆ®
¹öÀü °ü¸®
ÇÏÀ§ ȣȯ¼º
Á¡ÁøÀû º¯°æ
Áß´Ü ¾ø´Â ¹èÆ÷
±â´É Ç÷¡±×
º¯°æ¿¡ ´ëÇÑ ÆÀ¿öÅ© Ãø¸é
¿ä¾à