{"id":572507,"date":"2025-06-02T22:27:59","date_gmt":"2025-06-02T21:27:59","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=pycharm&#038;p=572507"},"modified":"2025-06-02T22:33:33","modified_gmt":"2025-06-02T21:33:33","slug":"which-is-the-best-python-web-framework-django-flask-or-fastapi","status":"publish","type":"pycharm","link":"https:\/\/blog.jetbrains.com\/ko\/pycharm\/2025\/06\/which-is-the-best-python-web-framework-django-flask-or-fastapi\/","title":{"rendered":"Django, Flask, FastAPI \uc911 \ucd5c\uace0\uc758 Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub294?"},"content":{"rendered":"<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-572510 size-full\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2025\/06\/PC-social-BlogFeatured-1280x720-2x-1.png\" alt=\"\" width=\"2560\" height=\"1440\" \/><\/figure>\n<p>Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uac80\uc0c9\ud558\uba74 <a href=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/django\/\" target=\"_blank\" rel=\"noopener\">Django<\/a>, Flask, FastAPI\uc758 \uc138 \uac00\uc9c0 \uc774\ub984\uc774 \uafb8\uc900\ud788 \ub4f1\uc7a5\ud569\ub2c8\ub2e4. \ucd5c\uc2e0 <a href=\"https:\/\/lp.jetbrains.com\/ko-kr\/python-developers-survey-2023\/\" target=\"_blank\" rel=\"noopener\">Python \uac1c\ubc1c\uc790 \uc124\ubb38\uc870\uc0ac \uacb0\uacfc<\/a>\uc5d0\uc11c\ub3c4 \uc774 \uc138 \uac00\uc9c0 \ud504\ub808\uc784\uc6cc\ud06c\ub294 \uc5ec\uc804\ud788 Python\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc31\uc5d4\ub4dc \uc6f9 \uac1c\ubc1c\uc5d0\uc11c \uac1c\ubc1c\uc790\ub4e4\uc774 \uac00\uc7a5 \uc120\ud638\ud558\ub294 \uc120\ud0dd\uc9c0\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc138 \ud504\ub808\uc784\uc6cc\ud06c \ubaa8\ub450 \uc624\ud508 \uc18c\uc2a4\uc774\uba70 \ucd5c\uc2e0 Python \ubc84\uc804\uacfc \ud638\ud658\ub429\ub2c8\ub2e4.\u00a0<\/p>\n<p>\uadf8\ub807\ub2e4\uba74 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uac00\uc7a5 \uc801\ud569\ud55c \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc5b4\ub5bb\uac8c \uacb0\uc815\ud560 \uc218 \uc788\uc744\uae4c\uc694? \uac01 \ud504\ub808\uc784\uc6cc\ud06c\uc758 \uc7a5\ub2e8\uc810\uc744 \uc0b4\ud3b4\ubcf4\uace0 \uc11c\ub85c \uc5b4\ub5bb\uac8c \ube44\uad50\ub418\ub294\uc9c0 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<h2 class=\"wp-block-heading\">Django<\/h2>\n<p>Django\ub294 Instagram, Spotify, Dropbox \ub4f1 \uc5ec\ub7ec \uae30\uc5c5\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 &#8216;\ubc30\ud130\ub9ac \ud3ec\ud568&#8217; \ucca0\ud559\uc758 \ud480\uc2a4\ud0dd \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4. &#8220;\ub9c8\uac10\uc744 \uc55e\ub454 \uc644\ubcbd\uc8fc\uc758\uc790\ub97c \uc704\ud55c \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c&#8221;\ub77c\ub294 \ucf58\uc149\ud2b8\ub85c \uc798 \uc54c\ub824\uc9c4 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/what-is-the-django-web-framework\/\">Django \ud504\ub808\uc784\uc6cc\ud06c<\/a>\ub294 \uac15\ub825\ud55c \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \ub354 \uc27d\uace0 \ube60\ub974\uac8c \uac1c\ubc1c\ud560 \uc218 \uc788\ub3c4\ub85d \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Django\ub294 2005\ub144 \uc624\ud508 \uc18c\uc2a4\ub85c \ucc98\uc74c \uacf5\uac1c\ub41c \uc774\ub798, 20\ub144\uc774 \uc9c0\ub09c \ud604\uc7ac\uae4c\uc9c0\ub3c4 \ud65c\ubc1c\ud788 \uac1c\ubc1c\ub418\uace0 \uc788\ub294 \uc548\uc815\uc801\uc778 \ud504\ub85c\uc81d\ud2b8\uc785\ub2c8\ub2e4. \uc18c\uc15c \ubbf8\ub514\uc5b4, \uc774\ucee4\uba38\uc2a4, \ub274\uc2a4, \uc5d4\ud130\ud14c\uc778\uba3c\ud2b8 \uc0ac\uc774\ud2b8 \ub4f1 \ub2e4\uc591\ud55c \uc6f9 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n<p>Django\ub294 \ubaa8\ub378-\ubdf0-\ud15c\ud50c\ub9bf(MVT) \uc544\ud0a4\ud14d\ucc98\ub97c \ub530\ub974\uba70, \uac01 \uad6c\uc131 \uc694\uc18c\ub294 \ud2b9\uc815 \uc5ed\ud560\uc744 \ub2f4\ub2f9\ud569\ub2c8\ub2e4. \ubaa8\ub378\uc740 \ub370\uc774\ud130\ub97c \ucc98\ub9ac\ud558\uace0 \ub370\uc774\ud130 \uad6c\uc870\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \ubdf0\ub294 \ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1\uc744 \uad00\ub9ac\ud558\uace0 \uc694\uccad\uc744 \ucc98\ub9ac\ud558\uba70 \ubaa8\ub378\uc5d0\uc11c \ud544\uc694\ud55c \ub370\uc774\ud130\ub97c \uac00\uc838\uc635\ub2c8\ub2e4. \ub9c8\uc9c0\ub9c9\uc73c\ub85c \ud15c\ud50c\ub9bf\uc740 \ubaa8\ub378-\ubdf0-\ucee8\ud2b8\ub864\ub7ec(MVC) \uc544\ud0a4\ud14d\ucc98\uc758 \ubdf0\uc640 \uc720\uc0ac\ud558\uac8c \ucd5c\uc885 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc774 \ub370\uc774\ud130\ub97c \ud45c\uc2dc\ud569\ub2c8\ub2e4.\u00a0<\/p>\n<p>\ud480\uc2a4\ud0dd \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\uc778 Django\ub294 \uc804\uccb4 \uc6f9\uc571(\ub370\uc774\ud130\ubca0\uc774\uc2a4\ubd80\ud130 HTML \ubc0f JavaScript \ud504\ub7f0\ud2b8\uc5d4\ub4dc\uae4c\uc9c0)\uc744 \ube4c\ub4dc\ud558\ub294 \ub370 \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ub610\ub294, <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/what-is-the-django-web-framework\/\">Django REST \ud504\ub808\uc784\uc6cc\ud06c<\/a>\uc758 \uc0ac\uc6a9\uc73c\ub85c Django\ub97c \ud504\ub7f0\ud2b8\uc5d4\ub4dc \ud504\ub808\uc784\uc6cc\ud06c(\uc608: React)\uc640 \uacb0\ud569\ud558\uc5ec \ubaa8\ubc14\uc77c \ubc0f \ube0c\ub77c\uc6b0\uc800 \uae30\ubc18 \uc571\uc744 \ubaa8\ub450 \ube4c\ub4dc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud3ec\uad04\uc801\uc778 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/01\/how-to-learn-django\/\">Django \uac00\uc774\ub4dc<\/a>\ub97c \ud1b5\ud574 \ud544\uc218 \uc9c0\uc2dd\uc5d0 \ub300\ud55c \uac1c\uc694, \uccb4\uacc4\uc801\uc778 \ud559\uc2b5 \uacbd\ub85c, \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc775\ud788\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub418\ub294 \ucd94\uac00 \ub9ac\uc18c\uc2a4\ub97c \uc0b4\ud3b4\ubd05\ub2c8\ub2e4.\u00a0<\/p>\n<h3 class=\"wp-block-heading\">Django\uc758 \uc7a5\uc810<\/h3>\n<p>Django\uac00 \uc5ec\uc804\ud788 \uac00\uc7a5 \ub110\ub9ac \uc0ac\uc6a9\ub418\ub294 Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c \uc911 \ud558\ub098\uc778 \uc774\uc720\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \ub2e4\uc591\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uad11\ubc94\uc704\ud55c \uae30\ub2a5<\/strong>: &#8216;\ubc30\ud130\ub9ac \ud3ec\ud568&#8217; \ucca0\ud559\uc758 \uc811\uadfc \ubc29\uc2dd\uc744 \ud1b5\ud574 Django\ub294 \uc778\uc99d, \uce90\uc2dc \ucc98\ub9ac, \ub370\uc774\ud130 \uc720\ud6a8\uc131 \uac80\uc0ac \ubc0f \uc138\uc158 \uad00\ub9ac\uc640 \uac19\uc740 \uae30\ubcf8 \uc81c\uacf5 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. <a href=\"https:\/\/docs.djangoproject.com\/en\/dev\/misc\/design-philosophies\/#don-t-repeat-yourself-dry\" target=\"_blank\" rel=\"noopener\">\uc911\ubcf5 \uc81c\uac70(DRY)<\/a> \uc6d0\uce59\uc73c\ub85c \uac1c\ubc1c \uc18d\ub3c4\uac00 \ube68\ub77c\uc9c0\uace0 \ubc84\uadf8\uac00 \uc904\uc5b4\ub4ed\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\uac04\ud3b8\ud55c \uc124\uc815<\/strong>: Django\ub294 \uae30\ubcf8 \uc81c\uacf5 \uae30\ub2a5\uc73c\ub85c \uc885\uc18d\uc131 \uad00\ub9ac\ub97c \uac04\uc18c\ud654\ud558\uc5ec \uc678\ubd80 \ud328\ud0a4\uc9c0\uc758 \ud544\uc694\uc131\uc744 \ub0ae\ucd9c \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub530\ub77c\uc11c \ucd08\uae30 \uc124\uc815\uc774 \uac04\uc18c\ud654\ub418\uace0 \ud638\ud658\uc131 \ubb38\uc81c\uac00 \ucd5c\uc18c\ud654\ub418\ubbc0\ub85c \ub354 \ube68\ub9ac \uc2dc\uc791\ud558\uace0 \uc2e4\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ub370\uc774\ud130\ubca0\uc774\uc2a4 \uc9c0\uc6d0<\/strong>: Django\uc758 ORM(\uac1d\uccb4 \uad00\uacc4\ud615 \ub9e4\ud551)\uc740 \ub370\uc774\ud130 \ucc98\ub9ac\ub97c \ub354\uc6b1 \uac04\ub2e8\ud558\uac8c \ub9cc\ub4e4\uc5b4 SQL \uc9c0\uc2dd \uc5c6\uc774\ub3c4 SQLite, MySQL, PostgreSQL\uacfc \uac19\uc740 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub85c \uc791\uc5c5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ud558\uc9c0\ub9cc MongoDB\uc640 \uac19\uc740 \ube44\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\uc5d0\ub294 \uc801\ud569\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ubcf4\uc548<\/strong>: \ud06c\ub85c\uc2a4 \uc0ac\uc774\ud2b8 \uc2a4\ud06c\ub9bd\ud305(XSS), SQL \uc0bd\uc785, \ud074\ub9ad\uc7ac\ud0b9\uacfc \uac19\uc740 \uc77c\ubc18\uc801\uc778 \ucde8\uc57d\uc131\uc5d0 \ub300\ud55c \uae30\ubcf8 \uc81c\uacf5 \ubc29\uc5b4 \uae30\ub2a5\uc73c\ub85c \uc778\ud574 \uc571\uc744 \ucc98\uc74c\ubd80\ud130 \ube60\ub974\uac8c \ubcf4\ud638\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ud655\uc7a5\uc131<\/strong>: Django\ub294 \ubaa8\ub180\ub9ac\uc2dd\uc774\uc9c0\ub9cc \uc560\ud50c\ub9ac\ucf00\uc774\uc158 \uc544\ud0a4\ud14d\ucc98(\ube44\uc988\ub2c8\uc2a4 \ub85c\uc9c1 \ubc0f \ud15c\ud50c\ub9bf)\uc758 \uc218\ud3c9\uc801 \ud655\uc7a5, \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ubd80\ud558\ub97c \uc644\ud654\ud558\ub294 \uce90\uc2dc \ucc98\ub9ac, \ud6a8\uc728\uc131\uc744 \uac1c\uc120\ud558\ub294 \ube44\ub3d9\uae30 \ucc98\ub9ac \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ucee4\ubba4\ub2c8\ud2f0 \ubc0f \ubb38\uc11c<\/strong>: Django\ub294 \ubc29\ub300\ud558\uace0 \ud65c\ubc1c\ud55c \ucee4\ubba4\ub2c8\ud2f0\uc640 \uc0c1\uc138\ud55c <a href=\"https:\/\/docs.djangoproject.com\/en\/\" target=\"_blank\" rel=\"noopener\">\ubb38\uc11c<\/a>\uac00 \ubcf4\uc720\ud558\uace0 \uc788\uc73c\ubbc0\ub85c \ud29c\ud1a0\ub9ac\uc5bc\uacfc \uc9c0\uc6d0\ub3c4 \uc27d\uac8c \uc774\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">Django\uc758 \ub2e8\uc810<\/h3>\n<p>Django\uc758 \ub9ce\uc740 \uc7a5\uc810\uc5d0\ub3c4 \ubd88\uad6c\ud558\uace0, \ucc28\ud6c4 \uc6f9\uc571\uc744 \uac1c\ubc1c\ud560 \ub54c\uc5d0\ub294 Django \uc774\uc678\uc758 \uc635\uc158\uc744 \uace0\ub824\ud574\uc57c \ud560 \uba87 \uac00\uc9c0 \uc774\uc720\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\ubb34\uac70\uc6c0<\/strong>: &#8216;\ubc30\ud130\ub9ac \ud3ec\ud568&#8217; \ucca0\ud559 \ubc29\uc2dd\uc758 \uc124\uacc4\ub294 \uc18c\uaddc\ubaa8 \uc571\uc5d0\ub294 \ub108\ubb34 \ubb34\uac70\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ud55c Flask\uc640 \uac19\uc740 \uac00\ubcbc\uc6b4 \ud504\ub808\uc784\uc6cc\ud06c\uac00 \ub354 \uc801\ud569\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ud559\uc2b5 \uace1\uc120<\/strong>: \uc2e0\uaddc \uac1c\ubc1c\uc790\uc5d0\uac8c \ub3c4\uc6c0\uc774 \ub418\ub294 \ub9ac\uc18c\uc2a4\ub3c4 \ub9ce\uc9c0\ub9cc, Django\uc758 \uad11\ubc94\uc704\ud55c \uae30\ub2a5\uc73c\ub85c \uc778\ud574 \ub2f9\uc5f0\ud558\uac8c\ub3c4 \ud559\uc2b5 \uace1\uc120\uc774 \uac00\ud30c\ub978 \ud3b8\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>\uc131\ub2a5<\/strong>: Django\ub294 \uc77c\ubc18\uc801\uc73c\ub85c Flask\ub098 FastAPI \uac19\uc740 \ub2e4\ub978 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0 \ube44\ud574 \uc18d\ub3c4\uac00 \ub290\ub9bd\ub2c8\ub2e4. \ub2e8, \uae30\ubcf8 \uc81c\uacf5\ub418\ub294 \uce90\uc2dc \ucc98\ub9ac\uc640 <a href=\"https:\/\/www.youtube.com\/watch?v=lkkxTceQft8\" target=\"_blank\" rel=\"noopener\">\ube44\ub3d9\uae30 \ucc98\ub9ac<\/a>\ub97c \ud1b5\ud574 \uc751\ub2f5 \uc2dc\uac04\uc744 \uac1c\uc120\ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Flask<\/h2>\n<p>Flask\ub294 \ubc31\uc5d4\ub4dc \uc6f9 \uac1c\ubc1c\uc744 \uc704\ud55c Python \uae30\ubc18\uc758 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc &#8216;\ub9c8\uc774\ud06c\ub85c&#8217;\ub77c\ub294 \uc6a9\uc5b4\uc5d0 \uc18d\uc9c0 \ub9c8\uc138\uc694. \uace7 \uc0b4\ud3b4\ubcf4\uaca0\uc9c0\ub9cc, Flask\ub294 \uc18c\uaddc\ubaa8 \uc6f9\uc571\uc5d0\ub9cc \uad6d\ud55c\ub418\uc9c0\ub294 \uc54a\uc73c\ub2c8\uae4c\uc694.\u00a0<\/p>\n<p>\ub300\uc2e0 Flask\ub294 <a href=\"https:\/\/palletsprojects.com\/p\/werkzeug\/\" target=\"_blank\" rel=\"noopener\">Werkzeug WSGI<\/a>(\uc6f9 \uc11c\ubc84 \uac8c\uc774\ud2b8\uc6e8\uc774 \uc778\ud130\ud398\uc774\uc2a4)\uc640 <a href=\"https:\/\/palletsprojects.com\/p\/jinja\/\" target=\"_blank\" rel=\"noopener\">Jinja2 \ud15c\ud50c\ub9bf<\/a>\uc744 \uae30\ubc18\uc73c\ub85c \ud558\ub294 \ub2e8\uc21c\ud55c \ucf54\uc5b4\ub85c \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4. Flask\uc758 \uc8fc\uc694 \uc0ac\uc6a9\uc790\ub85c\ub294 Netflix, Airbnb, Reddit\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>Flask\ub294 \ub9cc\uc6b0\uc808 \ub18d\ub2f4\uc73c\ub85c \uc2dc\uc791\ub418\uc5b4 Django\ubcf4\ub2e4 \uba87 \ub144 \ub4a4\uc778 2010\ub144\uc5d0 \uc624\ud508 \uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\ub85c \ucd9c\uc2dc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc758 \uc811\uadfc \ubc29\uc2dd\uc740 Django\uc640\ub294 \uadfc\ubcf8\uc801\uc73c\ub85c \ub2e4\ub985\ub2c8\ub2e4. Django\ub294 &#8216;\ubc30\ud130\ub9ac \ud3ec\ud568&#8217; \ucca0\ud559\uc758 \uc811\uadfc \ubc29\uc2dd\uc73c\ub85c \uc6f9\uc571 \ube4c\ub4dc\uc5d0 \ud544\uc694\ud55c \ub9ce\uc740 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\ub294 \ubc18\uba74, Flask\ub294 \uc774\ubcf4\ub2e4 \ud6e8\uc52c \uac04\uacb0\ud569\ub2c8\ub2e4.<\/p>\n<p>\ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc758 \ucca0\ud559\uc740 \uac1c\ubc1c\uc790\ub9c8\ub2e4 \uc120\ud638\ud558\ub294 \ubc29\uc2dd\uc774 \ub2e4\ub974\ubbc0\ub85c \uc790\uc2e0\uc5d0\uac8c \ub9de\ub294 \uad6c\uc131 \uc694\uc18c\ub97c \uc790\uc720\ub86d\uac8c \uc120\ud0dd\ud560 \uc218 \uc788\uc5b4\uc57c \ud55c\ub2e4\ub294 \ub370 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc774\uc720\ub85c Flask\uc5d0\ub294 \ub370\uc774\ud130\ubca0\uc774\uc2a4, ORM(\uac1d\uccb4 \uad00\uacc4\ud615 \ub9e4\ud37c) \ub610\ub294 ODM(\uac1d\uccb4-\ubb38\uc11c \ub9e4\ud37c)\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>Flask\ub85c \uc6f9\uc571\uc744 \ube4c\ub4dc\ud560 \ub54c \ubbf8\ub9ac \uacb0\uc815\ub418\ub294 \uac83\uc740 \uac70\uc758 \uc5c6\uc2b5\ub2c8\ub2e4. \uc544\ub798\uc5d0\uc11c \uc124\uba85\ud558\uaca0\uc9c0\ub9cc \uc774\ub7ec\ud55c \ud2b9\uc9d5\uc740 \uc0c1\ub2f9\ud55c \uc774\uc810\uc744 \uac00\uc838\uc62c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">Flask\uc758 \uc7a5\uc810<\/h3>\n<p><a href=\"https:\/\/www.jetbrains.com\/ko-kr\/lp\/devecosystem-2023\/\" target=\"_blank\" rel=\"noopener\">\uac1c\ubc1c\uc790 \uc5d0\ucf54\uc2dc\uc2a4\ud15c \ud604\ud669 \uc870\uc0ac<\/a>\ub97c \ud1b5\ud574 \ud655\uc778\ud55c \ubc14\uc5d0 \ub530\ub974\uba74, \uc9c0\ub09c 5\ub144 \ub3d9\uc548 Flask\uc758 \uc0ac\uc6a9\ub7c9\uc774 \uafb8\uc900\ud788 \uc99d\uac00\ud558\uc5ec 2021\ub144\uc5d0\ub294 \ucc98\uc74c\uc73c\ub85c Django\ub97c \ucd94\uc6d4\ud588\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>\ubc31\uc5d4\ub4dc \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub85c Flask\ub97c \uc120\ud0dd\ud558\ub294 \ub370\uc5d0\ub294 \uba87 \uac00\uc9c0 \uc774\uc720\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uac00\ubcbc\uc6b4 \ub514\uc790\uc778<\/strong>: Flask\uc758 \uac04\uacb0\ud55c \uc811\uadfc \ubc29\uc2dd\uc740 Django \ub300\ube44 \uc720\uc5f0\ud55c \ub300\uc548\uc744 \uc81c\uacf5\ud558\ubbc0\ub85c Django\uc758 \uad11\ubc94\uc704\ud55c \uae30\ub2a5\uc774 \uacfc\ub3c4\ud558\uac8c \ub290\uaef4\uc9c8 \uc218 \uc788\ub294 \uc18c\uaddc\ubaa8 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc774\ub098 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc774\uc0c1\uc801\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc Flask\ub294 \uc18c\uaddc\ubaa8 \ud504\ub85c\uc81d\ud2b8\uc5d0\ub9cc \uad6d\ud55c\ub418\uc9c0 \uc54a\uace0 \ud544\uc694\uc5d0 \ub530\ub77c \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc720\uc5f0\uc131<\/strong>: Flask\ub97c \uc0ac\uc6a9\ud558\uba74 \ub370\uc774\ud130 \ucc98\ub9ac \ubc0f \uc0ac\uc6a9\uc790 \uc778\uc99d\uacfc \uac19\uc740 \ud575\uc2ec \uae30\ub2a5\uc744 \uc704\ud55c \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc120\ud0dd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774\ub97c \ud1b5\ud574 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uac00\uc7a5 \uc801\ud569\ud55c \ub3c4\uad6c\ub97c \uc120\ud0dd\ud558\uace0 \uc608\uc0c1 \ubc16\uc758 \ub2e4\uc591\ud55c \ubc29\ud5a5\uc73c\ub85c \ud655\uc7a5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ud655\uc7a5\uc131<\/strong>: Flask\ub294 \ubaa8\ub4c8\uc2dd \uc124\uacc4\ub85c \uc218\ud3c9\uc801 \ud655\uc7a5\uc774 \uc6a9\uc774\ud569\ub2c8\ub2e4. NoSQL \ub370\uc774\ud130\ubca0\uc774\uc2a4 \ub808\uc774\uc5b4\ub97c \uc0ac\uc6a9\ud558\uba74 \ud655\uc7a5\uc131\uc744 \ub354 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\uc595\uc740 \ud559\uc2b5 \uace1\uc120<\/strong>: Flask\ub294 \uc124\uacc4\uac00 \ub2e8\uc21c\ud558\uae30\uc5d0 \uc27d\uac8c \ubc30\uc6b8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e8, \ub354 \ubcf5\uc7a1\ud55c \uc571\uc744 \ub9cc\ub4e4\ub824\uba74 \ud655\uc7a5 \uae30\ub2a5\uc744 \ud0d0\uc0c9\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ucee4\ubba4\ub2c8\ud2f0 \ubc0f \ubb38\uc11c<\/strong>: Flask\uc5d0\ub294 \uad11\ubc94\uc704\ud55c(\ub2e4\uc18c \uae30\uc220\uc801\uc778) <a href=\"https:\/\/flask.palletsprojects.com\/en\/3.0.x\/\" target=\"_blank\" rel=\"noopener\">\ubb38\uc11c<\/a>\uc640 \uba85\ud655\ud55c \ucf54\ub4dc\ubca0\uc774\uc2a4\uac00 \uc788\uc2b5\ub2c8\ub2e4. \ucee4\ubba4\ub2c8\ud2f0\ub294 Django\ubcf4\ub2e4 \uc791\uc9c0\ub9cc Flask \uc5ed\uc2dc \ud65c\ubc1c\ud558\uac8c \ud65c\ub3d9 \uc911\uc774\uba70 \uafb8\uc900\ud788 \uc131\uc7a5\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">Flask\uc758 \ub2e8\uc810<\/h3>\n<p>Flask\ub294 \ub9ce\uc740 \uae30\ub2a5\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc \ucc28\ud6c4 \uc6f9 \uac1c\ubc1c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc0ac\uc6a9\ud558\uae30 \uc804\uc5d0 \uc0b4\ud3b4\ubcfc \uba87\uba87 \uace0\ub824 \uc0ac\ud56d\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uac01\uc790 \uc9c1\uc811 \uad6c\uc131\ud558\ub294 \ubc29\uc2dd(BYOE)<\/strong>: Flask\uc758 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c \uc124\uacc4\uc640 \uc720\uc5f0\uc131\uc73c\ub85c \uc778\ud574 \ub370\uc774\ud130 \uc720\ud6a8\uc131 \uac80\uc0ac, \uc138\uc158 \uad00\ub9ac, \uce90\uc2dc \ucc98\ub9ac \ub4f1 \ud575\uc2ec \uae30\ub2a5\uc758 \ub300\ubd80\ubd84\uc740 \uc0ac\uc6a9\uc790\uac00 \uc9c1\uc811 \ucc98\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4. \uc774\ub7ec\ud55c \uc720\uc5f0\uc131\uc740 \uc7a5\uc810\uc77c \uc218 \uc788\uc9c0\ub9cc, \uae30\uc874 \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \ucc3e\uac70\ub098 \uae30\ub2a5\uc744 \ucc98\uc74c\ubd80\ud130 \ube4c\ub4dc\ud574\uc57c \ud558\ubbc0\ub85c \uac1c\ubc1c \ud504\ub85c\uc138\uc2a4\uac00 \ub290\ub824\uc9c8 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4. \ub610\ud55c, Flask\uc640\uc758 \ud638\ud658\uc131\uc744 \uc720\uc9c0\ud558\uae30 \uc704\ud574\uc11c\ub294 \uc2dc\uac04\uc774 \uc9c0\ub098\uba74\uc11c \uc885\uc18d\uc131\uc744 \uc9c0\uc18d\uc801\uc73c\ub85c \uad00\ub9ac\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ubcf4\uc548<\/strong>: Flask\uc5d0\ub294 \uae30\ubcf8 \uc81c\uacf5\ub418\ub294 \ubcf4\uc548 \uae30\ub2a5\uc774 \ucd5c\uc18c \uc218\uc900\uc785\ub2c8\ub2e4. \ud074\ub77c\uc774\uc5b8\ud2b8 \uce21 \ucfe0\ud0a4\ub97c \ubcf4\ud638\ud558\ub294 \uac83 \uc678\uc5d0\ub3c4 \uc6f9 \ubcf4\uc548 \ubaa8\ubc94 \uc0ac\ub840\ub97c \uad6c\ud604\ud558\uace0 \ud544\uc694\uc5d0 \ub530\ub77c \uc5c5\ub370\uc774\ud2b8\ub97c \uc801\uc6a9\ud558\uc5ec \ud3ec\ud568\ub41c \uc885\uc18d\uc131 \ubcf4\uc548\uc744 \ubcf4\uc7a5\ud574\uc57c \ud569\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\uc131\ub2a5<\/strong>: Flask\ub294 Django\ubcf4\ub2e4 \uc131\ub2a5\uc740 \uc57d\uac04 \ub354 \ub0ab\uc9c0\ub9cc, FastAPI\ubcf4\ub2e4\ub294 \ub5a8\uc5b4\uc9d1\ub2c8\ub2e4. Flask\ub294 \uc77c\ubd80 <a href=\"https:\/\/flask.palletsprojects.com\/en\/stable\/deploying\/asgi\/\" target=\"_blank\" rel=\"noopener\">ASGI \uc9c0\uc6d0<\/a>(FastAPI\uc5d0\uc11c \uc0ac\uc6a9\ud558\ub294 \ud45c\uc900)\uc744 \uc81c\uacf5\ud558\uc9c0\ub9cc WSGI\uc5d0 \ub354 \ubc00\uc811\ud558\uac8c \uc5f0\uacb0\ub418\uc5b4 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">FastAPI<\/h2>\n<p>\uc774\ub984\uc5d0\uc11c \uc54c \uc218 \uc788\ub4ef\uc774 FastAPI\ub294 Python\uc73c\ub85c \uace0\uc131\ub2a5 \uc6f9 API\ub97c \ube4c\ub4dc\ud558\uae30 \uc704\ud55c \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc785\ub2c8\ub2e4. FastAPI\ub294 2018\ub144 \uc624\ud508 \uc18c\uc2a4 \ud504\ub85c\uc81d\ud2b8\ub85c \ucc98\uc74c \ucd9c\uc2dc\ub41c \ube44\uad50\uc801 \uc0c8\ub85c\uc6b4 \ud504\ub808\uc784\uc6cc\ud06c\uc784\uc5d0\ub3c4 \uac1c\ubc1c\uc790 \uc0ac\uc774\uc5d0\uc11c \ube60\ub974\uac8c \uc778\uae30\ub97c \uc5bb\uc73c\uba70 2021\ub144 \uc774\ud6c4 \uac00\uc7a5 \uc778\uae30 \uc788\ub294 Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c \ubaa9\ub85d\uc5d0\uc11c 3\uc704\ub97c \ucc28\uc9c0\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n<p>FastAPI\ub294 ASGI(\ube44\ub3d9\uae30 \uc11c\ubc84 \uac8c\uc774\ud2b8\uc6e8\uc774 \uc778\ud130\ud398\uc774\uc2a4) \uc11c\ubc84\uc778 <a href=\"https:\/\/www.uvicorn.org\/\" target=\"_blank\" rel=\"noopener\">Uvicorn<\/a>\uacfc \uc6f9 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc778 <a href=\"https:\/\/www.starlette.io\/\" target=\"_blank\" rel=\"noopener\">Starlette<\/a>\uc744 \uae30\ubc18\uc73c\ub85c \ud569\ub2c8\ub2e4. FastAPI\ub294 \ub370\uc774\ud130 \uc720\ud6a8\uc131 \uac80\uc0ac, \uc9c1\ub82c\ud654 \ubc0f \ubb38\uc11c\ud654 \uae30\ub2a5\uc744 \ucd94\uac00\ud558\uc5ec \uc6f9 API \ube4c\ub4dc\ub97c \uac04\uc18c\ud654\ud569\ub2c8\ub2e4.<\/p>\n<p>\uc774 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uac1c\ubc1c\ud55c \uc81c\uc791\uc790\ub294 \ub2e4\uc591\ud55c \ud504\ub808\uc784\uc6cc\ud06c\uc640 \ub3c4\uad6c\ub85c \uc791\uc5c5\ud55c \uacbd\ud5d8\uc744 \ubc14\ud0d5\uc73c\ub85c FastAPI\ub97c \uac1c\ubc1c\ud588\uc2b5\ub2c8\ub2e4. Django\ub294 React\ub098 Vue.js\uc640 \uac19\uc740 \ud504\ub7f0\ud2b8\uc5d4\ub4dc JavaScript \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\uac00 \ubcf8\uaca9\uc801\uc73c\ub85c \ub4f1\uc7a5\ud558\uae30 \uc804\uc5d0 \uac1c\ubc1c\ub41c \ubc18\uba74, FastAPI\ub294 \uc774\ub7ec\ud55c \ud658\uacbd\uc744 \uace0\ub824\ud574 \uc124\uacc4\ub418\uc5c8\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>\uc9c0\ub09c \uba87 \ub144 \ub3d9\uc548 API\ub97c \uad6c\uc870\ud654\ud558\uace0 \ubb38\uc11c\ud654\ud558\ub294 \ud615\uc2dd\uc73c\ub85c <a href=\"https:\/\/www.openapis.org\/\" target=\"_blank\" rel=\"noopener\">OpenAPI<\/a>(\uc774\uc804\uc758 Swagger)\uac00 \ub4f1\uc7a5\ud558\uba74\uc11c FastAPI\uac00 \ud65c\uc6a9\ud560 \uc218 \uc788\ub294 \uc5c5\uacc4 \ud45c\uc900\uc774 \ub9c8\ub828\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n<p>RESTful API\ub97c \uc0dd\uc131\ud558\ub294 \uc554\ubb35\uc801\uc778 \uc0ac\uc6a9 \uc0ac\ub840 \uc678\uc5d0\ub3c4 FastAPI\ub294 \uba54\uc2dc\uc9d5 \ud50c\ub7ab\ud3fc\uc774\ub098 \ub300\uc2dc\ubcf4\ub4dc\uc640 \uac19\uc774 \uc2e4\uc2dc\uac04 \uc751\ub2f5\uc774 \ud544\uc694\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc774\uc0c1\uc801\uc785\ub2c8\ub2e4. \uace0\uc131\ub2a5 \ubc0f \ube44\ub3d9\uae30 \uae30\ub2a5\uc73c\ub85c \uba38\uc2e0\ub7ec\ub2dd \ubaa8\ub378, \ub370\uc774\ud130 \ucc98\ub9ac, \ubd84\uc11d \ub4f1 \ub370\uc774\ud130 \uc9d1\uc57d\uc801\uc778 \uc571\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4.<\/p>\n<h3 class=\"wp-block-heading\">FastAPI\uc758 \uc7a5\uc810<\/h3>\n<p>2021\ub144 <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/lp\/devecosystem-2021\/\" target=\"_blank\" rel=\"noopener\">\uac1c\ubc1c\uc790 \uc5d0\ucf54\uc2dc\uc2a4\ud15c \ud604\ud669 \uc870\uc0ac<\/a>\uc5d0\uc11c \uc751\ub2f5\uc790\uc758 14%\uac00 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc0ac\uc6a9\ud558\uba74\uc11c FastAPI\ub294 \ucc98\uc74c\uc73c\ub85c \ub3c5\uc790\uc801\uc778 \uce74\ud14c\uace0\ub9ac\ub97c \uac16\uac8c \ub418\uc5c8\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>\uadf8 \uc774\ud6c4 \uc0ac\uc6a9\ub960\uc740 20%\ub85c \uc99d\uac00\ud588\uc73c\uba70, Flask\uc640 Django\uc758 \uc0ac\uc6a9\ub960\uc740 \uc57d\uac04 \uac10\uc18c\ud588\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>\ub2e4\uc74c\uc758 \uba87\uba87 \uc774\uc720\ub85c \uac1c\ubc1c\uc790\ub4e4\uc740 FastAPI\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uc131\ub2a5<\/strong>: \uc18d\ub3c4\ub97c \uc704\ud574 \uc124\uacc4\ub41c FastAPI\ub294 \ube44\ub3d9\uae30 \ucc98\ub9ac\uc640 \uc591\ubc29\ud5a5 \uc6f9 \uc18c\ucf13\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4(Starlette \uc81c\uacf5). \ubca4\uce58\ub9c8\ud06c \ud14c\uc2a4\ud2b8\uc5d0\uc11c Django\uc640 Flask\ubcf4\ub2e4 \ub192\uc740 \uc131\ub2a5\uc744 \ubcf4\uc5ec \ud2b8\ub798\ud53d\uc774 \ub9ce\uc740 \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \uc774\uc0c1\uc801\uc785\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ud655\uc7a5\uc131<\/strong>: Flask\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c FastAPI\ub3c4 \uace0\ub3c4\ub85c \ubaa8\ub4c8\ud654\ub418\uc5b4 \uc788\uc5b4 \ud655\uc7a5\uc774 \uc6a9\uc774\ud558\uace0 \ucee8\ud14c\uc774\ub108\ud654\ub41c \ubc30\ud3ec\uc5d0 \uc774\uc0c1\uc801\uc785\ub2c8\ub2e4.<\/li>\n<li><strong>\uc5c5\uacc4 \ud45c\uc900 \uc900\uc218<\/strong>: FastAPI\ub294 <a href=\"https:\/\/oauth.net\/2\/\" target=\"_blank\" rel=\"noopener\">OAuth 2.0<\/a>, OpenAPI(\uc774\uc804\uc758 Swagger), JSON \uc2a4\ud0a4\ub9c8\uc640 \uc644\ubcbd\ud558\uac8c \ud638\ud658\ub429\ub2c8\ub2e4. \ub530\ub77c\uc11c \ucd5c\uc18c\ud55c\uc758 \ub178\ub825\uc73c\ub85c \ubcf4\uc548 \uc778\uc99d\uc744 \uad6c\ud604\ud558\uace0 API \ubb38\uc11c\ub97c \uc0dd\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\uc0ac\uc6a9 \ud3b8\uc758\uc131<\/strong>: FastAPI\ub294 \ud0c0\uc785 \ud78c\ud2b8 \ubc0f \uc720\ud6a8\uc131 \uac80\uc0ac\uc5d0 <a href=\"https:\/\/pydantic.dev\/\" target=\"_blank\" rel=\"noopener\">Pydantic<\/a>\uc744 \uc0ac\uc6a9\ud558\uc5ec \ud0c0\uc785 \uac80\uc0ac, \uc790\ub3d9 \uc644\uc131, \uc694\uccad \uac80\uc99d\uc744 \uc81c\uacf5\ud558\ubbc0\ub85c \uac1c\ubc1c \uc18d\ub3c4\ub97c \ud06c\uac8c \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<li><strong>\ubb38\uc11c<\/strong>: FastAPI\ub294 \ubc29\ub300\ud55c \ubb38\uc11c\ub97c \ubcf4\uc720\ud558\uace0 \ud0c0\uc0ac \ub9ac\uc18c\uc2a4\ub3c4 \uc810\ucc28 \ub298\uc5b4\ub098\uace0 \uc788\uc5b4, \ubaa8\ub4e0 \uc218\uc900\uc758 \uac1c\ubc1c\uc790\ub4e4\uc774 \uc27d\uac8c \uc811\uadfc\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n<\/ul>\n<h3 class=\"wp-block-heading\">FastAPI\uc758 \ub2e8\uc810<\/h3>\n<p>\ub2e4\uc74c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uac00\uc7a5 \uc801\ud569\ud55c \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uacb0\uc815\ud558\uae30 \uc804 \ub2e4\uc74c \uc0ac\ud56d\uc744 \uc5fc\ub450\uc5d0 \ub461\ub2c8\ub2e4.<\/p>\n<ul>\n<li><strong>\uc131\uc219\ub3c4<\/strong>: FastAPI\ub294 \uc0c8\ub85c\uc6b4 \ud504\ub808\uc784\uc6cc\ud06c\uc774\uae30 \ub54c\ubb38\uc5d0 Django\ub098 Flask\uc5d0 \ube44\ud574 \uc131\uc219\ub3c4\uac00 \ubd80\uc871\ud569\ub2c8\ub2e4. \ucee4\ubba4\ub2c8\ud2f0\uac00 \ub354 \uc791\uace0 \uc801\uc6a9 \ubc94\uc704\uac00 \ub113\uc9c0 \uc54a\uc544 \uc0ac\uc6a9\uc790 \uacbd\ud5d8\uc774 \ub35c \ub2a5\ub960\uc801\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<li><strong>\ud638\ud658\uc131<\/strong>: \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc778 FastAPI\ub294 \uc644\uc804\ud55c \uae30\ub2a5\uc744 \uac16\ucd98 \uc571\uc744 \uc704\ud55c \ucd94\uac00 \uae30\ub2a5\uc774 \ud544\uc694\ud569\ub2c8\ub2e4. \ud638\ud658\ub418\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uac00 Django\ub098 Flask\uc5d0 \ube44\ud574 \uc801\uae30 \ub54c\ubb38\uc5d0 \uc790\uccb4 \ud655\uc7a5 \uae30\ub2a5\uc744 \uac1c\ubc1c\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Flask, Django, FastAPI \uc911 \uc120\ud0dd\ud558\ub294 \ubc29\ubc95<\/h2>\n<p>\uadf8\ub807\ub2e4\uba74 \ucd5c\uace0\uc758 Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub294 \ubb34\uc5c7\uc77c\uae4c\uc694? \ub9ce\uc740 \ud504\ub85c\uadf8\ub798\ubc0d\uc774 \uadf8\ub807\ub4ef\uc774 \ub300\ub2f5\uc740 &#8216;\uc0c1\ud669\uc5d0 \ub530\ub77c \ub2e4\ub974\ub2e4&#8217;\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc989, \uc5b4\ub5a4 \uc885\ub958\uc758 \uc571\uc744 \ub9cc\ub4dc\ub294\uac00? \uc6b0\uc120\uc21c\uc704\ub294 \ubb34\uc5c7\uc778\uac00? \ud504\ub85c\uc81d\ud2b8\ub294 \uc55e\uc73c\ub85c \uc5b4\ub5bb\uac8c \uc131\uc7a5\ud560 \uac83\uc73c\ub85c \uc608\uc0c1\ud558\ub294\uac00? \ub4f1\uc758 \uc9c8\ubb38\uc5d0 \ub300\ud55c \ub2f5\uc774 \ubb34\uc5c7\uc778\uac00\uc5d0 \ub530\ub77c \uc54c\ub9de\uc740 \uc120\ud0dd\uc774 \ub2e4\ub985\ub2c8\ub2e4.<\/p>\n<p>\uc138 \uac1c\uc758 \uc778\uae30 \uc788\ub294 Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c \ubaa8\ub450 \uace0\uc720\ud55c \uac15\uc810\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\ubbc0\ub85c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc758 \ub9e5\ub77d\uc5d0\uc11c \uc774\ub97c \ud3c9\uac00\ud558\uba74 \ucd5c\uc120\uc758 \uacb0\uc815\uc744 \ub0b4\ub9ac\ub294 \ub370 \ub3c4\uc6c0\uc774 \ub429\ub2c8\ub2e4.\u00a0<\/p>\n<p><strong>Django<\/strong>\ub294 \ubcc4\ub3c4 \uc124\uc815 \uc5c6\uc774 \ubc14\ub85c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \ud45c\uc900 \uc6f9\uc571 \uae30\ub2a5\uc774 \ud544\uc694\ud55c \uacbd\uc6b0 \uc720\uc6a9\ud55c \uc635\uc158\uc73c\ub85c, \ubcf4\ub2e4 \uacac\uace0\ud55c \uad6c\uc870\uac00 \ud544\uc694\ud55c \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. \ud2b9\ud788 \uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0 ORM\uc774 \ub370\uc774\ud130 \uad00\ub9ac\ub97c \uac04\uc18c\ud654\ud558\uace0 \ubcf4\uc548 \uae30\ub2a5\uc744 \uae30\ubcf8 \uc81c\uacf5\ud558\uae30 \ub54c\ubb38\uc5d0 \ub354\uc6b1 \uc720\ub9ac\ud569\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uc18c\uaddc\ubaa8 \ud504\ub85c\uc81d\ud2b8\ub098 \uac04\ub2e8\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0\ub294 \uad11\ubc94\uc704\ud55c \uae30\ub2a5\uc774 \ubd80\ub2f4\uc2a4\ub7fd\uac8c \ub290\uaef4\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ubc18\uba74 <strong>Flask<\/strong>\ub294 \ub354 \ud070 \uc720\uc5f0\uc131\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. \ubbf8\ub2c8\uba40\ud55c \uc124\uacc4\ub85c \uac1c\ubc1c\uc790\uac00 \uc6d0\ud558\ub294 \ud655\uc7a5 \uae30\ub2a5\uacfc \ub77c\uc774\ube0c\ub7ec\ub9ac\ub97c \uace8\ub77c \uc120\ud0dd\ud560 \uc218 \uc788\uc5b4 \uae30\ub2a5\uc744 \uc0ac\uc6a9\uc790 \uc9c0\uc815\ud574\uc57c \ud558\ub294 \ud504\ub85c\uc81d\ud2b8\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. \uc774 \uc811\uadfc \ubc29\uc2dd\uc740 \uc694\uad6c \uc0ac\ud56d\uc774 \ube60\ub974\uac8c \ubcc0\ud654\ud558\uace0 \ubc1c\uc804\ud560 \uc218 \uc788\ub294 \uc2a4\ud0c0\ud2b8\uc5c5\uc774\ub098 MVP\uc5d0 \uc801\ud569\ud569\ub2c8\ub2e4. Flask\ub294 \uc2dc\uc791\ud558\uae30\ub294 \uc27d\uc9c0\ub9cc \ub354 \ubcf5\uc7a1\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc744 \uad6c\ucd95\ud558\ub824\uba74 \ub2e4\uc591\ud55c \ud655\uc7a5 \uae30\ub2a5\uc744 \uc0b4\ud3b4\ubd10\uc57c \ud55c\ub2e4\ub294 \uc810\uc5d0 \uc720\uc758\ud574\uc57c \ud569\ub2c8\ub2e4.<\/p>\n<p><strong>FastAPI<\/strong>\ub294 \uc18d\ub3c4\uac00 \uc911\uc694\ud55c \uacbd\uc6b0, \ud2b9\ud788 API \uc6b0\uc120 \uc811\uadfc \ubc29\uc2dd\uc758 \ud504\ub85c\uc81d\ud2b8\ub098 <a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/09\/how-to-use-fastapi-for-machine-learning\/\">\uba38\uc2e0\ub7ec\ub2dd<\/a> \ud504\ub85c\uc81d\ud2b8\uc5d0\uc11c \uac15\ub825\ud55c \uc120\ud0dd\uc9c0\uc785\ub2c8\ub2e4. \ud0c0\uc785 \ud78c\ud2b8\uc640 \uac19\uc740 \ucd5c\uc2e0 Python \uae30\ub2a5\uc744 \uc0ac\uc6a9\ud574 \uc790\ub3d9 \ub370\uc774\ud130 \uc720\ud6a8\uc131 \uac80\uc0ac \ubc0f \ubb38\uc11c\ud654\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. FastAPI\ub294 \ub9c8\uc774\ud06c\ub85c\uc11c\ube44\uc2a4\ub098 \ub370\uc774\ud130 \uae30\ubc18 API\uc640 \uac19\uc774 \uace0\uc131\ub2a5\uc774 \ud544\uc694\ud55c \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uc5d0 \ud0c1\uc6d4\ud55c \uc120\ud0dd\uc9c0\uc785\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uae30\ubcf8 \uc81c\uacf5\ub418\ub294 \uae30\ub2a5 \uba74\uc5d0\uc11c Django\ub098 Flask\ub9cc\ud07c \ud48d\ubd80\ud558\uc9c0 \uc54a\uc744 \uc218 \uc788\uc73c\ubbc0\ub85c \ucd94\uac00 \uae30\ub2a5\uc744 \uc218\ub3d9\uc73c\ub85c \uad6c\ud604\ud574\uc57c \ud560 \uc218\ub3c4 \uc788\uc2b5\ub2c8\ub2e4.\u00a0<\/p>\n<p>Django\uc640 \ub2e4\ub978 \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub97c \uc790\uc138\ud788 \ube44\uad50\ud558\ub824\uba74 \ub2e4\uc74c\uc758 \ub2e4\ub978 \uac00\uc774\ub4dc\ub97c \ucc38\uc870\ud558\uc138\uc694.<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/django-vs-flask-which-is-the-best-python-web-framework\/\">Django \ub300 Flask<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/12\/django-vs-fastapi-which-is-the-best-python-web-framework\/\">Django \ub300 FastAPI\u00a0<\/a><\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">Python \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c \uac1c\uc694<\/h2>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td>\u00a0<\/td>\n<td><strong>Django<\/strong><\/td>\n<td><strong>Flask<\/strong><\/td>\n<td><strong>FastAPI<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>\uc124\uacc4 \ucca0\ud559<\/strong><\/td>\n<td>\uad00\uacc4\ud615 \ub370\uc774\ud130\ubca0\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\ub294 \uc6f9\uc571\uc744 \uc704\ud574 \uc124\uacc4\ub41c \ud480\uc2a4\ud0dd \ud504\ub808\uc784\uc6cc\ud06c<\/td>\n<td>\uac00\ubcbc\uc6b4 \ubc31\uc5d4\ub4dc \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c<\/td>\n<td>\uc6f9 API\ub97c \ube4c\ub4dc\ud558\uae30 \uc704\ud55c \uac00\ubcbc\uc6b4 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c<\/td>\n<\/tr>\n<tr>\n<td><strong>\uc0ac\uc6a9 \ud3b8\uc758\uc131<\/strong><\/td>\n<td>&#8216;\ubc30\ud130\ub9ac \ud3ec\ud568&#8217; \ucca0\ud559\uc758 \uc811\uadfc \ubc29\uc2dd\uc740 \ud544\uc694\ud55c \ubaa8\ub4e0 \uac83\uc774 \uae30\ubcf8 \uc81c\uacf5\ub418\ubbc0\ub85c \uac1c\ubc1c \uc18d\ub3c4\uac00 \ube68\ub77c\uc9d1\ub2c8\ub2e4. \ud558\uc9c0\ub9cc \uc0ac\uc6a9 \uac00\ub2a5\ud55c \uae30\ub2a5\uc758 \uc591\uc774 \ub9ce\uae30 \ub54c\ubb38\uc5d0 \ud559\uc2b5 \uace1\uc120\uc774 \uac00\ud30c\ub97c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<td>Flask\ub294 \ub9c8\uc774\ud06c\ub85c \ud504\ub808\uc784\uc6cc\ud06c\uc774\ubbc0\ub85c \ubbf8\ub9ac \uc775\ud600\uc57c \ud560 \ucf54\ub4dc\uac00 \uc801\uace0, \uc6d0\ud558\ub294 \ub77c\uc774\ube0c\ub7ec\ub9ac\uc640 \ud655\uc7a5 \uae30\ub2a5\uc744 \uc120\ud0dd\ud560 \uc218 \uc788\ub294 \uc720\uc5f0\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 \uae30\ubcf8\uc801\uc73c\ub85c \uc81c\uacf5\ub418\ub294 \uae30\ub2a5\uc774 \uc801\uc740 \ub9cc\ud07c \ub354 \ub9ce\uc740 \uc678\ubd80 \uc885\uc18d\uc131\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/td>\n<td>Flask\uc640 \ub9c8\ucc2c\uac00\uc9c0\ub85c Django\uc5d0 \ube44\ud574 \uae30\ubcf8 \uc81c\uacf5\ub418\ub294 \uae30\ub2a5\uc774 \uc801\uc2b5\ub2c8\ub2e4. \ud0c0\uc785 \ud78c\ud2b8 \ubc0f \uc720\ud6a8\uc131 \uac80\uc0ac\ub294 \uac1c\ubc1c \uc18d\ub3c4\ub97c \ub192\uc774\uace0 \uc624\ub958\ub97c \uc904\uc5ec\uc90d\ub2c8\ub2e4. \uc790\ub3d9 API \ucc38\uc870 \ubb38\uc11c\ub97c \uc704\ud574 OpenAPI\uc640 \ud638\ud658\ub429\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\uae30\ub2a5\ud655\uc7a5\uc131<\/strong><\/td>\n<td>\uc14b \uc911\uc5d0\uc11c \ud638\ud658\ub418\ub294 \ud328\ud0a4\uc9c0\uc758 \uc120\ud0dd\uc758 \ud3ed\uc774 \uac00\uc7a5 \ub113\uc2b5\ub2c8\ub2e4.<\/td>\n<td>\ud638\ud658\ub418\ub294 \ud328\ud0a4\uc9c0\uc758 \uc218\uac00 \ub9ce\uc2b5\ub2c8\ub2e4.<\/td>\n<td>Flask\ub098 Django\ubcf4\ub2e4 \ud638\ud658\ub418\ub294 \ud328\ud0a4\uc9c0\uc758 \uc218\uac00 \uc801\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\uc131\ub2a5<\/strong><\/td>\n<td>\uc591\ud638\ud558\uc9c0\ub9cc Flask\ub098 FastAPI\ub9cc\ud07c \ube60\ub974\uc9c0\ub294 \uc54a\uc2b5\ub2c8\ub2e4.<\/td>\n<td>Django\ubcf4\ub2e4 \uc57d\uac04 \ube60\ub974\uc9c0\ub9cc FastAPI\ub9cc\ud07c\uc740 \uc544\ub2d9\ub2c8\ub2e4.<\/td>\n<td>\uc14b \uc911\uc5d0\uc11c \uac00\uc7a5 \ube60\ub985\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\uc2dc\uc2a4\ud15c\ud655\uc7a5\uc131<\/strong><\/td>\n<td>\ubaa8\ub180\ub9ac\uc2dd \uc124\uacc4\ub85c \uc778\ud574 \ud655\uc7a5\uc131\uc774 \uc81c\ud55c\ub420 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ube44\ub3d9\uae30 \ucc98\ub9ac\ub97c \uc9c0\uc6d0\ud558\ubbc0\ub85c \ub192\uc740 \ubd80\ud558 \uc0c1\ud669\uc5d0\uc11c \uc131\ub2a5\uc744 \ub192\uc77c \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<td>\uac00\ubcbc\uc6b4 \ubaa8\ub4c8\uc2dd \uc124\uacc4\ub85c \ud655\uc7a5\uc131\uc774 \ub6f0\uc5b4\ub0a9\ub2c8\ub2e4.<\/td>\n<td>\uac00\ubcbc\uc6b4 \ubaa8\ub4c8\uc2dd \uc124\uacc4\ub85c \ud655\uc7a5\uc131\uc774 \ub6f0\uc5b4\ub0a9\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\ubcf4\uc548<\/strong><\/td>\n<td>\ub2e4\uc591\ud55c \uc0ac\uc774\ubc84 \ubcf4\uc548 \uae30\ub2a5\uc774 \uae30\ubcf8 \uc81c\uacf5\ub429\ub2c8\ub2e4.<\/td>\n<td>\uae30\ubcf8\uc801\uc73c\ub85c \ud074\ub77c\uc774\uc5b8\ud2b8 \uce21 \ucfe0\ud0a4\uac00 \ubcf4\ud638\ub429\ub2c8\ub2e4. \uae30\ud0c0 \ubcf4\uc548 \ubcf4\ud638 \uae30\ub2a5\uc744 \ucd94\uac00\ud574\uc57c \ud558\uba70 \uc885\uc18d\uc131\uc5d0 \ucde8\uc57d\uc810\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.<\/td>\n<td>OAuth 2.0\uc744 \uae30\ubcf8\uc801\uc73c\ub85c \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \uae30\ud0c0 \ubcf4\uc548 \ubcf4\ud638 \uae30\ub2a5\uc744 \ucd94\uac00\ud574\uc57c \ud558\uba70 \uc885\uc18d\uc131\uc5d0 \ucde8\uc57d\uc810\uc774 \uc788\ub294\uc9c0 \ud655\uc778\ud574\uc57c \ud569\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\uc131\uc219\ub3c4<\/strong><\/td>\n<td>2005\ub144\ubd80\ud130 \uc624\ud508 \uc18c\uc2a4\ub85c \uc81c\uacf5\ub418\uba70, \uc815\uae30\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<td>2010\ub144\ubd80\ud130 \uc624\ud508 \uc18c\uc2a4\ub85c \uc81c\uacf5\ub418\uba70, \uc815\uae30\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<td>2018\ub144\ubd80\ud130 \uc624\ud508 \uc18c\uc2a4\ub85c \uc81c\uacf5\ub418\uba70, \uc815\uae30\uc801\uc73c\ub85c \uc5c5\ub370\uc774\ud2b8\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\ucee4\ubba4\ub2c8\ud2f0<\/strong><\/td>\n<td>\ub300\uaddc\ubaa8\uc758 \ud65c\ubc1c\ud55c \ud314\ub85c\uc6cc\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/td>\n<td>Flask\uc758 \uc778\uae30\uac00 \uacc4\uc18d \uc720\uc9c0\ub428\uc5d0 \ub530\ub77c \ud65c\ubc1c\ud558\uace0 \uacc4\uc18d \uc131\uc7a5\ud560 \uac00\ub2a5\uc131\uc774 \ub192\uc2b5\ub2c8\ub2e4.<\/td>\n<td>Django\ub098 Flask\ubcf4\ub2e4 \ud314\ub85c\uc6cc \uc218\uac00 \uc801\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<tr>\n<td><strong>\ubb38\uc11c<\/strong><\/td>\n<td>\uac00\uc7a5 \ud65c\ubc1c\ud558\uace0 \ud0c4\ud0c4\ud55c \uacf5\uc2dd \ubb38\uc11c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.\u00a0<\/td>\n<td>\uad11\ubc94\uc704\ud55c \uacf5\uc2dd \ubb38\uc11c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/td>\n<td>\ub098\uc628 \uc9c0 \uc5bc\ub9c8 \uc548 \ub418\ub294 \ub9cc\ud07c \uacf5\uc2dd \ubb38\uc11c\uac00 \uac00\uc7a5 \uc801\uc2b5\ub2c8\ub2e4.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<h2 class=\"wp-block-heading\">\ub354 \uc77d\uc5b4\ubcfc \uc790\ub8cc<\/h2>\n<ul>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/06\/the-state-of-django\/\">2024\ub144 Django \ud604\ud669<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2023\/11\/what-is-the-django-web-framework\/\">Django \uc6f9 \ud504\ub808\uc784\uc6cc\ud06c\ub780?<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/01\/how-to-learn-django\/\">Django\ub97c \ubc30\uc6b0\ub294 \ubc29\ubc95<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/01\/django-views\/\">Django \ubdf0 \uc18c\uac1c<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2025\/02\/the-ultimate-guide-to-django-templates\/\">Django \ud15c\ud50c\ub9bf \ucd5c\uc885 \uac00\uc774\ub4dc<\/a><\/li>\n<li><a href=\"https:\/\/blog.jetbrains.com\/pycharm\/2024\/09\/django-project-ideas\/\">Django \ud504\ub85c\uc81d\ud2b8 \uc544\uc774\ub514\uc5b4<\/a>\u00a0<\/li>\n<\/ul>\n<h2 class=\"wp-block-heading\">PyCharm\uc73c\ub85c \uc6f9 \uac1c\ubc1c \ud504\ub85c\uc81d\ud2b8 \uc2dc\uc791\ud558\uae30<\/h2>\n<p>\uc8fc\ub85c \uc0ac\uc6a9\ud558\ub294 \ud504\ub808\uc784\uc6cc\ud06c\uc5d0 \uad00\uacc4\uc5c6\uc774 \ub2e8\uc77c IDE\uc5d0\uc11c \ubaa8\ub4e0 \ud544\uc218 \uc6f9 \uac1c\ubc1c \ub3c4\uad6c\uc5d0 \uc561\uc138\uc2a4\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <a href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/web-development\/\" target=\"_blank\" rel=\"noopener\" data-type=\"link\" data-id=\"https:\/\/www.jetbrains.com\/pycharm\/web-development\/\">PyCharm<\/a>\uc740 Django, FastAPI \ubc0f Flask\ub97c \uae30\ubcf8\uc801\uc73c\ub85c \uc9c0\uc6d0\ud558\uba70 React, Angular \ubc0f Vue.js\uc640 \uac19\uc740 \ud504\ub7f0\ud2b8\uc5d4\ub4dc \ud504\ub808\uc784\uc6cc\ud06c\uc640 \ucd5c\uace0 \uc218\uc900\uc758 \ud1b5\ud569\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<div class=\"buttons\">\n<div class=\"buttons__row\"><a class=\"btn\" href=\"https:\/\/www.jetbrains.com\/ko-kr\/pycharm\/web-development\/\" target=\"\" rel=\"noopener\">\ubb34\ub8cc\ub85c PyCharm \uc2dc\uc791\ud558\uae30<\/a><\/div>\n<\/div>\n<div>\u00a0<\/div>\n<div>\u00a0<\/div>\n<div><em>\uac8c\uc2dc\ubb3c \uc6d0\ubb38 \uc791\uc131\uc790<\/em><\/div>\n\n    <div class=\"about-author \">\n        <div class=\"about-author__box\">\n            <div class=\"row\">\n                <div class=\"about-author__box-img\">\n                    <img decoding=\"async\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2021\/03\/evgenia-200x200.jpg\" width=\"200\" height=\"200\" alt=\"Evgenia Verbina\" loading=\"lazy\"  class=\"avatar avatar-200 wp-user-avatar wp-user-avatar-200 photo avatar-default\">\n                <\/div>\n                <div class=\"about-author__box-text\">\n                                            <h4>Evgenia Verbina<\/h4>\n                                                        <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n","protected":false},"author":1191,"featured_media":572510,"comment_status":"closed","ping_status":"closed","template":"","categories":[8377],"tags":[963,6423,324,154],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/572507"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/types\/pycharm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/users\/1191"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/comments?post=572507"}],"version-history":[{"count":6,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/572507\/revisions"}],"predecessor-version":[{"id":573457,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/pycharm\/572507\/revisions\/573457"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media\/572510"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/media?parent=572507"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/categories?post=572507"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/tags?post=572507"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/ko\/wp-json\/wp\/v2\/cross-post-tag?post=572507"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}