ÄÜÅÙÃ÷ »ó¼¼º¸±â
FastAPI¸¦ »ç¿ëÇÑ ÆÄÀ̽ã À¥ °³¹ß


FastAPI¸¦ »ç¿ëÇÑ ÆÄÀ̽ã À¥ °³¹ß

FastAPI¸¦ »ç¿ëÇÑ ÆÄÀ̽ã À¥ °³¹ß

<¾ÐµÑ¶óÁöÁî ¾ÐµÑ¶óÁöÁî ¾Æµ¥½Ã³ª> Àú/<±è¿Ï¼·> | ÇѺû¹Ìµð¾î

Ãâ°£ÀÏ
2023-03-20
ÆÄÀÏÆ÷¸Ë
ePub
¿ë·®
4 M
Áö¿ø±â±â
PC½º¸¶Æ®ÆùÅÂºí¸´PC
ÇöȲ
½Åû °Ç¼ö : 0 °Ç
°£·« ½Åû ¸Þ¼¼Áö
ÄÜÅÙÃ÷ ¼Ò°³
ÀúÀÚ ¼Ò°³
¸ñÂ÷
ÇÑÁÙ¼­Æò

ÄÜÅÙÃ÷ ¼Ò°³

FastAPIÀÇ ÇÙ½É ±â´É°ú 5°¡Áö ±â¼ú ½ºÅÃ(¸ù°íDB, µµÄ¿, pydantic, SQLModel, pytest)À¸·Î

À̺¥Æ® Ç÷¡³Ê ¾ÖÇø®ÄÉÀ̼ÇÀ» óÀ½ºÎÅÍ ³¡±îÁö ¿Ï¼ºÇغ»´Ù!



ÀÌ Ã¥ÀÇ °­Á¡Àº ¡®À̺¥Æ® Ç÷¡³Ê ¾ÖÇø®ÄÉÀÌ¼Ç ¿Ï¼º¡¯À̶ó´Â ¸ñÇ¥¸¦ °¡Áö°í ¶ó¿ìÆúÎÅÍ µ¥ÀÌÅͺ£À̽º ¿¬°á, ÀÎÁõ, Å×½ºÆ®, ¹èÆ÷±îÁö FastAPIÀÇ ÇÙ½É ±â´ÉÀ» ´Ü°èº°·Î Àû¿ëÇغ»´Ù´Â Á¡ÀÔ´Ï´Ù. ¶ÇÇÑ ½±°Ô ½Ç½ÀÀ» ÁøÇàÇÒ ¼ö ÀÖµµ·Ï À©µµ¿ì¿Í ¸®´ª½º ¸í·É¾î¸¦ °¢°¢ Á¦°øÇÕ´Ï´Ù.



½Ç½À ÄÚµå´Â °£°áÇÏ°í ¸íÈ®ÇÕ´Ï´Ù. Çöó½ºÅ©, Àå°í °°Àº À¥ ÇÁ·¹ÀÓ¿öÅ©º¸´Ù ¹è¿ì±â ½¬¿î FastAPIÀÇ ÀåÁ¡ÀÌ Àß ¹Ý¿µµÇ¾î Àֱ⠶§¹®ÀÌÁÒ. ¹Ý´ë·Î ÇÙ½É ±â´É°ú Äڵ忡 °üÇÑ ¼³¸íÀº FastAPI °ø½Ä ¹®¼­º¸´Ù ²Ä²ÄÇÏ°í ÀÚ¼¼ÇÕ´Ï´Ù. µû¶ó¼­ À¥ °³¹ß Ãʺ¸ÀÚµµ, ´Ù¸¥ ÇÁ·¹ÀÓ¿öÅ©·Î À¥ °³¹ßÀ» °æÇèÇغ» ±âÁ¸ °³¹ßÀÚµµ À¥ °³¹ß ½Ç·ÂÀ» ÇÑÃþ ´õ ³ôÀÏ ¼ö ÀÖ½À´Ï´Ù.





FastAPI¿¡ Àͼ÷ÇØÁø ÈÄ¿¡´Â ÀúÀÚ°¡ ºí·Î±×¿¡¼­ Á¦°øÇÏ´Â ½Ç½À ÀÚ·á(Okteto¸¦ »ç¿ëÇÑ ¹æ¸í·Ï ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà°ú ¸ù°íDB, JWT ÀÎÁõ, ¸®¾×Æ®¸¦ È°¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Ãà ¿¹Á¦)¸¦ ÅëÇØ Ãß°¡ ÇнÀµµ ÁøÇàÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÀúÀÚ¼Ò°³

¼÷·ÃµÈ ÆÄÀ̽㠰³¹ßÀÚÀÌÀÚ ¼ÒÇÁÆ®¿þ¾î ¹é¿£µå ¿£Áö´Ï¾î´Ù. ±â¼ú ÀúÀڷεµ È°µ¿Çϸç Æø³ÐÀº °æÇè°ú ±â¼úÀ» Áö´Ï°í ÀÖ´Ù. ¸í·ÉÁÙ ¾ÖÇø®ÄÉÀ̼ǻӸ¸ ¾Æ´Ï¶ó FastAPI¸¦ »ç¿ëÇÑ ¹é¿£µå ¾ÖÇø®ÄÉÀ̼Ç, ¾Ë°í¸®Áò ±â¹Ý º¸¹°Ã£±â µµ±¸ µîÀ» °³¹ßÇß´Ù. ¶ÇÇÑ ºí·Î±×¿¡¼­ ÆÄÀ̽ãÀ» °¡¸£Ä¡°í ¼öÇÐ ¹®Á¦ Ǫ´Â °ÍÀ» Áñ±ä´Ù. 2022³â±îÁö´Â ¼öÀÚ¿ø ¹× ȯ°æ°øÇÐ ÇÁ·ÎÁ§Æ®¿¡ Âü¿©ÇßÀ¸¸ç Áö±ÝÀº Auth0, LogRocket, Okteto µîÀÇ ÃÊ´ë ±â¼ú ÀúÀÚ·Î È°µ¿ÇÏ°í ÀÖ´Ù.

¸ñÂ÷

PART 1 FastAPI ½ÃÀÛÇϱâ



CHAPTER 1 FastAPI ¼Ò°³

1.1 Git ±âÃÊ

_Git ¼³Ä¡

_Git ½ÇÇà

_Git ºê·£Ä¡

1.2 virtualenv¸¦ »ç¿ëÇÑ °³¹ß ȯ°æ ±¸Ãà

_°¡»ó ȯ°æ »ý¼º

_°¡»ó ȯ°æ È°¼ºÈ­/ºñÈ°¼ºÈ­

1.3 pipÀ» »ç¿ëÇÑ ÆÐÅ°Áö °ü¸®

_pip ¼³Ä¡

_±âº» ¸í·É

1.4 µµÄ¿ ¼³Á¤

_µµÄ¿ÆÄÀÏ

1.5 °£´ÜÇÑ FastAPI ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß

Á¤¸®Çϱâ



CHAPTER 2 ¶ó¿ìÆÃ

2.1 FastAPIÀÇ ¶ó¿ìÆÃ

_¶ó¿ìÆà ¿¹

2.2 APIRouter Ŭ·¡½º¸¦ »ç¿ëÇÑ ¶ó¿ìÆÃ

2.3 pydantic ¸ðµ¨À» »ç¿ëÇÑ ¿äû ¹Ùµð °ËÁõ

_Áßø ¸ðµ¨

2.4 °æ·Î ¸Å°³º¯¼ö¿Í Äõ¸® ¸Å°³º¯¼ö

_°æ·Î ¸Å°³º¯¼ö

_Äõ¸® ¸Å°³º¯¼ö

2.5 ¿äû ¹Ùµð

_FastAPI ÀÚµ¿ ¹®¼­È­

2.6 °£´ÜÇÑ CRUD ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß

Á¤¸®Çϱâ



CHAPTER 3 ÀÀ´ä ¸ðµ¨°ú ¿À·ù ó¸®

3.1 FastAPIÀÇ ÀÀ´ä

3.2 ÀÀ´ä ¸ðµ¨ ÀÛ¼º

3.3 ¿À·ù ó¸®

Á¤¸®Çϱâ



CHAPTER 4 ÅÛÇø´ÆÃ

4.1 Jinja

_ÇÊÅÍ

_if¹®

_¹Ýº¹¹®

_¸ÅÅ©·Î

_ÅÛÇø´ »ó¼Ó

4.2 FastAPI¿¡¼­ Jinja¸¦ »ç¿ëÇÏ´Â ¹æ¹ý

Á¤¸®Çϱâ



PART 2 FastAPI ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ßÇϱâ



CHAPTER 5 ±¸Á¶È­

5.1 FastAPI ¾ÖÇø®ÄÉÀÌ¼Ç ±¸Á¶È­

_À̺¥Æ® Ç÷¡³Ê ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß

_¸ðµ¨ ±¸Çö

_¶ó¿ìÆ® ±¸Çö

Á¤¸®Çϱâ



CHAPTER 6 µ¥ÀÌÅͺ£À̽º ¿¬°á

½Ç½À ȯ°æ

6.1 SQLModel ¼³Á¤

_Å×À̺í

_·Î¿ì

_¼¼¼Ç

6.2 µ¥ÀÌÅͺ£À̽º »ý¼º

_À̺¥Æ® »ý¼º

_À̺¥Æ® Á¶È¸

_À̺¥Æ® º¯°æ

_À̺¥Æ® »èÁ¦

6.3 ¸ù°íDB ¼³Á¤

_¹®¼­

_µ¥ÀÌÅͺ£À̽º ÃʱâÈ­

6.4 CRUD ó¸®

_»ý¼º ó¸®

_Á¶È¸ ó¸®

_º¯°æ ó¸®

_»èÁ¦ ó¸®

_routes/events.py

_routes/users.py

Á¤¸®Çϱâ



CHAPTER 7 º¸¾È

7.1 FastAPIÀÇ ÀÎÁõ ¹æ½Ä

_ÀÇÁ¸¼º ÁÖÀÔ

_ÀÇÁ¸ ¶óÀ̺귯¸® »ý¼º

7.2 OAuth2¿Í JWT¸¦ »ç¿ëÇÑ ¾ÖÇø®ÄÉÀÌ¼Ç º¸¾È

_Æнº¿öµå ÇؽÌ

_¾×¼¼½º ÅäÅ« »ý¼º°ú °ËÁõ

_»ç¿ëÀÚ ÀÎÁõ

7.3 ¾ÖÇø®ÄÉÀÌ¼Ç º¯°æ

_·Î±×ÀÎ ¶ó¿ìÆ® º¯°æ

_À̺¥Æ® ¶ó¿ìÆ® º¯°æ

_À̺¥Æ® ¹®¼­ Ŭ·¡½º¿Í ¶ó¿ìÆ® º¯°æ

7.4 CORS ¼³Á¤

Á¤¸®Çϱâ



PART 3 FastAPI ¾ÖÇø®ÄÉÀÌ¼Ç Å×½ºÆ® ¹× ¹èÆ÷Çϱâ



CHAPTER 8 Å×½ºÆ®

8.1 pytest¸¦ »ç¿ëÇÑ ´ÜÀ§ Å×½ºÆ®

_ÇȽºÃ³¸¦ »ç¿ëÇÑ ¹Ýº¹ Á¦°Å

8.2 Å×½ºÆ® ȯ°æ ±¸Ãà

8.3 REST API ¶ó¿ìÆ® Å×½ºÆ® ÀÛ¼º

_»ç¿ëÀÚ µî·Ï ¶ó¿ìÆ® Å×½ºÆ®

_·Î±×ÀÎ ¶ó¿ìÆ® Å×½ºÆ®

_CRUD ¶ó¿ìÆ® Å×½ºÆ®

_Á¶È¸ ¶ó¿ìÆ® Å×½ºÆ®

_»ý¼º ¶ó¿ìÆ® Å×½ºÆ®

_º¯°æ ¶ó¿ìÆ® Å×½ºÆ®

_»èÁ¦ ¶ó¿ìÆ® Å×½ºÆ®

8.4 Å×½ºÆ® Ä¿¹ö¸®Áö

Á¤¸®Çϱâ



CHAPTER 9 ¹èÆ÷

9.1 ¹èÆ÷ Áغñ

_ÀÇÁ¸ ¶óÀ̺귯¸® °ü¸®

_ȯ°æ º¯¼ö ¼³Á¤

9.2 µµÄ¿¸¦ »ç¿ëÇÑ ¹èÆ÷

_µµÄ¿ÆÄÀÏ ÀÛ¼º

_µµÄ¿ À̹ÌÁö ºôµå

_·ÎÄÿ¡ ¾ÖÇø®ÄÉÀÌ¼Ç ¹èÆ÷

_¾ÖÇø®ÄÉÀÌ¼Ç ½ÇÇà

9.3 µµÄ¿ À̹ÌÁö ¹èÆ÷

_µ¥ÀÌÅͺ£À̽º ¹èÆ÷

Á¤¸®Çϱâ