728x90
๋ฐ˜์‘ํ˜•
[FastAPI] FastAPI ์„ค์น˜ & First Steps

[1] FastAPI ๋ž€? FastAPI๋Š” ํ˜„๋Œ€์ ์ด๊ณ , ๋น ๋ฅด๋ฉฐ(๊ณ ์„ฑ๋Šฅ), ํŒŒ์ด์ฌ ํ‘œ์ค€ ํƒ€์ž… ํžŒํŠธ์— ๊ธฐ์ดˆํ•œ Python3.6+์˜ API๋ฅผ ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•œ ์›น ํ”„๋ ˆ์ž„์›Œํฌ ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ์›นํ”„๋ ˆ์ž„์›Œํฌ๋กœ Flask์™€ Django๊ฐ€ ์–‘๋Œ€์‚ฐ๋งฅ ์ด์˜€๋Š”๋ฐ์š”,, FastAPI๊ฐ€ Flask๋ฅผ ๋Œ€์ฒดํ•  ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋Š” ๋ถ„๋“ค๋„ ๋งŽ์œผ์‹œ๊ณ  (์ฐธ๊ณ : FastAPI์˜ ์‹œ๋Œ€, ์•„์ง๋„ Flask ์“ฐ์‹œ๋‚˜์š”? ) ์—ฌ๊ธฐ์ €๊ธฐ ๋งค์šฐ ํ•ซํ•˜๋„ค์š” ๐Ÿ”ฅ [2] FastAPI ํŠน์ง• ๋ฌธ์„œ ์— ๋‚˜์˜ค๋Š” FastAPI ํŠน์ง•์ž…๋‹ˆ๋‹ค. ๋น ๋ฆ„: (Starlette๊ณผ Pydantic ๋•๋ถ„์—) NodeJS ๋ฐ Go์™€ ๋Œ€๋“ฑํ•  ์ •๋„๋กœ ๋งค์šฐ ๋†’์€ ์„ฑ๋Šฅ. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ฐ€์žฅ ๋น ๋ฅธ ํŒŒ์ด์ฌ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜. ๋น ๋ฅธ ์ฝ”๋“œ ์ž‘์„ฑ: ์•ฝ 200%์—์„œ 300%๊นŒ์ง€ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ์†๋„ ์ฆ๊ฐ€. * ..

๐Ÿ/FastAPI 2022. 4. 24. 13:26
[Heroku] Migrate Django SQLite to PostgreSQL

[ ์ด์Šˆ ] ์žฅ๊ณ ์˜ ๋กœ์ปฌ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ SQLite3 ๋ฅผ ์”๋‹ˆ๋‹ค. ํ—ค๋กœ์ฟ (๊ธฐ๋ณธ์ด PostgreSQL)์— ๋ฐฐํฌํ•œ ํ›„, ๋ฆฌ์–ผ์—์„œ๋„ ๋กœ์ปฌ์˜ sqlite ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์“ฐ๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ (๋กœ์ปฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ์“ธ ๊ฒƒ์ด๊ณ  ๋”์ด์ƒ ์ถ”๊ฐ€/์ˆ˜์ •ํ•  ๊ฒƒ์ด ์—†๋Š” ๊ฐ„๋‹จ ํ”„๋กœ์ ํŠธ์—ฌ์„œ!) ํ—ค๋กœ์ฟ ๋Š” SQLite3 ๊ฐ™์ด file-based database ์™€ fit์ด ์•ˆ๋งž๋‹ค๊ณ  ํ•˜๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•๋„ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. (์ฐธ๊ณ ) ๋กœ์ปฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฆฌ์–ผ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒŒ ๋ชฉ์ ์ด๋‹ˆ๊นŒ How to migrate Django from SQLite to PostgreSQL ๋ฅผ ๋ณด๊ณ  ๋”ฐ๋ผํ•ด์ค๋‹ˆ๋‹ค. [1] ๋กœ์ปฌ > dump data ๋กœ์ปฌ์—์„œ ์ด ๋ช…๋ น์–ด๋ฅผ ๋Œ๋ ค์„œ dump.json์„ ๋งŒ๋“ค์–ด์ค๋‹ˆ๋‹ค. ๋กœ์ปฌ์— ์กด์žฌํ•˜๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ dump.json ํŒŒ์ผ์— ..

๐Ÿ/Django 2021. 8. 1. 20:26
[Django] SQL ์Šคํฌ๋ฆฝํŠธ ๋Œ๋ฆฌ๊ธฐ -> ORM ์œผ๋กœ

์„ฑ๊ฒฝ API, ์„ฑ๊ฒฝ ๋ฐ์ดํ„ฐ ์ด๊ฒƒ์ €๊ฒƒ ์ฐพ์•„๋ณด๋‹ค๊ฐ€ SQL ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ๊ณต์œ ๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌ! - ๊ฐœ์—ญํ•œ๊ธ€ SQL ๊ณต์œ ํ•ด์ฃผ์‹  ๋ธ”๋กœ๊ทธ (์ €์ž‘๊ถŒ ์ด์Šˆ ์—†์Œ!!) - ๊ฐœ์—ญ๊ฐœ์ • SQL ๊ณต์œ ํ•ด์ฃผ์‹  ์‚ฌ์ดํŠธ (์ €์ž‘๊ถŒ ์ด์Šˆ ํ™•์ธ ์•ˆ๋จ) ํ™•์žฅ์ž๋Š” sql์ด๊ณ  ์—ด์–ด๋ณด๋ฉด TABLE ๋งŒ๋“ค๊ณ  ๋ ˆ์ฝ”๋“œ insert ํ•˜๋Š” SQL๋ฌธ๋“ค์ด ์ž”๋œฉ ์žˆ๋‹ค. โœ”๏ธ ์ด ์Šคํฌ๋ฆฝํŠธ๋กœ ๋‚˜์˜ ์žฅ๊ณ  DB์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  โœ”๏ธ ์ด ํ˜•์‹์— ๋งž์ถฐ์„œ ์žฅ๊ณ  ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  ORM ๋ฐฉ์‹์œผ๋กœ get ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. [1] SQL ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋Œ๋ ค์„œ DB์— ๋ฐ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜๊ธฐ 1๏ธโƒฃ executescript (ํŒŒ์ด์ฌ ๊ณต์‹ ๋ฌธ์„œ) / How to execute an external SQL file using sqlite3 in Python (๋ธ”๋กœ๊ทธ) 2๏ธโƒฃ P..

๐Ÿ/Django 2021. 8. 1. 20:26
[Python] defaultdict / Counter / OrderedDict

collections - Container datatypes ์—์„œ ๋”•์…”๋„ˆ๋ฆฌ ์„œ๋ธŒํด๋ž˜์Šค 3๊ฐœ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๋”•์…”๋„ˆ๋ฆฌ๋ž‘ ๋‹ค๋ฅด๊ฒŒ ์กฐ๊ธˆ ํŠน๋ณ„ํ•œ ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. [1] defaultdict ๋”•์…”๋„ˆ๋ฆฌ์—์„œ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค๋ฅผ ์กฐํšŒํ•  ๊ฒฝ์šฐ KeyError exception์ด ๋‚ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ defaultdict์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ‚ค๋ฅผ ์กฐํšŒํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„ค์ •ํ•œ ๋””ํดํŠธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ•ด๋‹น ํ‚ค์— ๋Œ€ํ•œ ์•„์ดํ…œ์„ ๋”•์…”๋„ˆ๋ฆฌ์— ์ถ”๊ฐ€ํ•ด์ค๋‹ˆ๋‹ค. defaultdict์˜ first argument๋กœ default_factory ๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋””ํดํŠธ๊ฐ’์„ 10์ด๋ผ๊ณ  ํ•ด์ค„๊ฒŒ์š”! '๋ผ์ด์–ธ' ์ด๋ผ๋Š” ํ‚ค๊ฐ’์ด ์กด์žฌํ•˜์ง€ ์•Š์ง€๋งŒ KeyError๋„ ์•ˆ๋‚˜๊ณ  ๋””ํดํŠธ ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ์•„์ดํ…œ์„ ๋”•์…”๋„ˆ๋ฆฌ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ..

๐Ÿ/Python 2021. 4. 13. 02:03
๊ณต์ง€์‚ฌํ•ญ
Total
712,977
Today
241
Yesterday
1,595
«   2022/09   »
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
๊ธ€ ๋ณด๊ด€ํ•จ