[1] FastAPI ๋? FastAPI๋ ํ๋์ ์ด๊ณ , ๋น ๋ฅด๋ฉฐ(๊ณ ์ฑ๋ฅ), ํ์ด์ฌ ํ์ค ํ์ ํํธ์ ๊ธฐ์ดํ Python3.6+์ API๋ฅผ ๋น๋ํ๊ธฐ ์ํ ์น ํ๋ ์์ํฌ ๋ผ๊ณ ํฉ๋๋ค. ํ์ด์ฌ ์นํ๋ ์์ํฌ๋ก Flask์ Django๊ฐ ์๋์ฐ๋งฅ ์ด์๋๋ฐ์,, FastAPI๊ฐ Flask๋ฅผ ๋์ฒดํ ๊ฒ์ด๋ผ๊ณ ๋ณด๋ ๋ถ๋ค๋ ๋ง์ผ์๊ณ (์ฐธ๊ณ : FastAPI์ ์๋, ์์ง๋ Flask ์ฐ์๋์? ) ์ฌ๊ธฐ์ ๊ธฐ ๋งค์ฐ ํซํ๋ค์ ๐ฅ [2] FastAPI ํน์ง ๋ฌธ์ ์ ๋์ค๋ FastAPI ํน์ง์ ๋๋ค. ๋น ๋ฆ: (Starlette๊ณผ Pydantic ๋๋ถ์) NodeJS ๋ฐ Go์ ๋๋ฑํ ์ ๋๋ก ๋งค์ฐ ๋์ ์ฑ๋ฅ. ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ์ฅ ๋น ๋ฅธ ํ์ด์ฌ ํ๋ ์์ํฌ ์ค ํ๋. ๋น ๋ฅธ ์ฝ๋ ์์ฑ: ์ฝ 200%์์ 300%๊น์ง ๊ธฐ๋ฅ ๊ฐ๋ฐ ์๋ ์ฆ๊ฐ. * ..

[1] ModelAdmin ์ฅ๊ณ ์ Admin ๋ฌธ์๋ฅผ ๋ณด๋ฉด ModelAdmin ์ ๋ํ ์ค๋ช ์ด ๋์ต๋๋ค. ModelAdmin์ admin interface์์ ๋ชจ๋ธ์ ํํํ๋ ํด๋์ค๋ผ๊ณ ํฉ๋๋ค. admin.py์ ์ด๋ฐ ์์ผ๋ก ์ถ๊ฐํด์ ์ฐ๋ฉด ๋ฉ๋๋ค. ์ ์์ ์ฒ๋ผ Admin ํด๋์ค์ custom values๋ฅผ define ํ์ง ์๋ ๊ฒฝ์ฐ, ๋ณดํต ์ด๋ ๊ฒ๋ง ์๋๋ค! [2] ModelAdmin > search_fields Admin ํด๋์ค์ search_fields๋ฅผ defineํ๋ฉด admin list page์์ search box๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ๋ค์ด ์ด๋ฐ Family ๋ชจ๋ธ์ด ์์ ๋, class Family(models.Model): join_date = models.DateTimeField() c..
[ ์ด์ ] ์ฅ๊ณ ์ ๋ก์ปฌ์์ ๊ธฐ๋ณธ์ ์ผ๋ก SQLite3 ๋ฅผ ์๋๋ค. ํค๋ก์ฟ (๊ธฐ๋ณธ์ด PostgreSQL)์ ๋ฐฐํฌํ ํ, ๋ฆฌ์ผ์์๋ ๋ก์ปฌ์ sqlite ํ์ผ์ ๊ทธ๋๋ก ์ฐ๊ณ ์ถ์๋๋ฐ (๋ก์ปฌ ๋ฐ์ดํฐ๋ฅผ ๊ทธ๋๋ก ์ธ ๊ฒ์ด๊ณ ๋์ด์ ์ถ๊ฐ/์์ ํ ๊ฒ์ด ์๋ ๊ฐ๋จ ํ๋ก์ ํธ์ฌ์!) ํค๋ก์ฟ ๋ SQLite3 ๊ฐ์ด file-based database ์ fit์ด ์๋ง๋ค๊ณ ํ๊ณ ์ธ ์ ์๋ ๋ฐฉ๋ฒ๋ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. (์ฐธ๊ณ ) ๋ก์ปฌ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์ผ๋ก ์ฎ๊ธฐ๋ ๊ฒ ๋ชฉ์ ์ด๋๊น How to migrate Django from SQLite to PostgreSQL ๋ฅผ ๋ณด๊ณ ๋ฐ๋ผํด์ค๋๋ค. [1] ๋ก์ปฌ > dump data ๋ก์ปฌ์์ ์ด ๋ช ๋ น์ด๋ฅผ ๋๋ ค์ dump.json์ ๋ง๋ค์ด์ค๋๋ค. ๋ก์ปฌ์ ์กด์ฌํ๊ณ ์๋ ๋ฐ์ดํฐ๋ฅผ dump.json ํ์ผ์ ..

์ฑ๊ฒฝ 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..

[1] ๋ฌธ์ ์ด๋ฐ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค๊ณ tuple list๋ string list๋ฅผ ๋ณต์ฌํด์ ๊ตฌ๊ธ์ํธ์ ๋ถ์ฌ๋ฃ์ผ๋ฉด ํ์ด ๋๋ ์ ธ์ ๋ค์ด๊ฐ๋ ์ต์ ์ด ์์ ์ค ์์๋๋ฐ ์๋ ๊ฒ ๊ฐ์ใ ใ ์ด๋ ๊ฒ ํ ํ์ ๋ค ๋ค์ด๊ฐ,,, [2] ํด๊ฒฐ๋ฒ > Google Sheets API Sheets for Developers > Sheets API ๋ฅผ ์ฌ์ฉํด์ ํ๋จ์๋ก ๋ฃ์ด์ค ์ ์๋ค. (์ฐธ๊ณ : https://stackoverflow.com/questions/46274040/append-a-list-in-google-sheet-from-python) ๊ทผ๋ฐ ์ด ๋ฐฉ๋ฒ์ ์ค์นํด์ผํ๋ ํจํค์ง๋ ๋ง๊ณ .. ๊ฐ๋จํ์ง ์์์ ์ํ๊ธฐ๋ก ํจ [3] ํด๊ฒฐ๋ฒ > CSV 1. CSV ํ์ผ์ ๋ง๋ค๊ณ 2. ๊ตฌ๊ธ์ํธ์์ CSV ํ์ผ ์ด๊ธฐ (์ฐธ๊ณ : How to ..

๋ก์ปฌ์์ chromedriver๋ฅผ ์ธ ๋๋ ํฌ๋กฌ๋๋ผ์ด๋ฒ๋ฅผ ๋ค์ด๋ฐ์ ํ, ํด๋์ ๋ฃ๊ณ local path๋ฅผ ์ด์ฉํด์ chromedriver๋ฅผ ์คํ์์ผ์ฃผ์์ต๋๋ค. from selenium import webdriver import os BASE_DIR = Path(__file__).resolve().parent chrome_driver_path = os.path.join(BASE_DIR, 'chromedriver') chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--headless") chrome_options.add_argument("--disable-gpu") driver = webdriver.Chrome(chrome_dr..

[1] ์ด์ ๋ฉฐ์น ์ ํค๋ก์ฟ ๋ก๋ถํฐ ๋ฉ์ผ์ ๋ฐ์๋ค. ๋์ DB๋ 8,027 row๋ฅผ ๊ฐ์ง๊ณ ์๋๋ฐ ๋ด๊ฐ ์ฌ์ฉ ์ค์ธ PostgreSQL DB Hobby Dev Plan (๋ฌด๋ฃ)๋ ์ต๋ 10,000 row๋ง insert ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ด์๋ค. 10,000 row๋ฅผ ๋์ด๊ฐ๋ฉด ๋์ด์ insert๊ฐ ๋์ง ์๊ณ plan์ ์ค์ํ๊ฒ ๋ ๋ insert ๊ถํ์ด ์๋ ๋ณต๊ตฌ๋๋ค๊ณ ํ๋ค,,, database๋ฅผ Basic ($9/month) or higher plan์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ผ๊ณ ํ๋ค,,, ์ฐธ๊ณ ๋กHeroku > My App > Resource > Add-ons Heroku Postgres ์ ํํ๋ฉด ํ์ฌ row ๊ฐ์, ์ต๋ row ๊ฐ์ ๋ฑ DB ์ํ ๋ฐ ์ค์ ์ ๋ณผ ์ ์๋ค. ์ฌ์ฉ์๊ฐ ๋๊ณ ์๋ ์ถ์ธ๋ผ์ migration..
Python sort๋ฌธ์ (ํ์ด์ฌ 3.8๋ฒ์ ) ๋ฅผ ๋ณด๋ฉด์ Sort๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. [1] list.sort() vs sorted() ์ฐ์ ํ์ด์ฌ ๋ฆฌ์คํธ๋ ๋๊ฐ์ง์ built-in function์ด ์๋๋ฐ list.sort() ์ sorted() ์ ๋๋ค. 1) list.sort() ์ค์ง list์์๋ง ์ฌ์ฉํ ์ ์๋ function. list๋ฅผ ์ ์๋ฆฌ(in-place)์์ sort ํฉ๋๋ค. ์ฆ original list๋ฅผ ์์ ํฉ๋๋ค. 2) sorted() iterable ๊ฐ์ฒด (list, tuple, ๋์ ๋๋ฆฌ ๋ฑ๋ฑ)์ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ function. list์ sorted๋ฅผ ํด์ฃผ๋ฉด, ์๋ก์ด list๋ฅผ ๋ง๋ค์ด์ ๋ฐํํด์ค๋๋ค. => ' list.sort() ๋ sorted() ๋ณด๋ค ๋ ํธํ์ง๋ง, ๋ง์ฝ ..

Python์ Built-in Function ์ค any๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฒจ๋ถํ ์ฌ์ง์ 3.8๋ฒ์ ๋ฌธ์์ด์ง๋ง ํ์ด์ฌ 2~~ ๋ฒ์ ๋ ์ ๊ณตํ๋ fuction์ ๋๋ค. any๋ iterable ๊ฐ์ฒด๋ฅผ ๋ฐ์ผ๋ฉฐ iterable์ element ์ค ํ๋๋ผ๋ true ๋ผ๋ฉด true๋ฅผ ๋ฐํํฉ๋๋ค. true๊ฐ ํ๋๋ ์๋ค๋ฉด false๋ฅผ ๋ฐํํฉ๋๋ค. ๋ง์ฝ iterable์ด empty์ฌ๋ false๋ฅผ ๋ฐํํฉ๋๋ค. (์ฐธ๊ณ ๋ก iterable์ ์๋ฏธ๋ element๋ฅผ ํ๋์ฉ ์ฐจ๋ก๋ก ๋ฐํ ๊ฐ๋ฅํ object๋ฅผ ๋งํ๋ฉฐ list, tuple, dictionary ๋ฑ์ด ์์ต๋๋ค.) [ ๊ฐ๋จ ์์ ] ๊ฐ๋จํ ์์ ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. (์ถ์ฒ: www.w3schools.com/python/ref_func_any.asp) # List list ..

collections - Container datatypes ์์ ๋์ ๋๋ฆฌ ์๋ธํด๋์ค 3๊ฐ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ผ๋ฐ์ ์ธ ๋์ ๋๋ฆฌ๋ ๋ค๋ฅด๊ฒ ์กฐ๊ธ ํน๋ณํ ์ ์ด ์์ต๋๋ค. [1] defaultdict ๋์ ๋๋ฆฌ์์ ์กด์ฌํ์ง ์๋ ํค๋ฅผ ์กฐํํ ๊ฒฝ์ฐ KeyError exception์ด ๋ฉ๋๋ค. ํ์ง๋ง defaultdict์ ์กด์ฌํ์ง ์๋ ํค๋ฅผ ์กฐํํ๋ฉด ์๋ฌ๊ฐ ๋๋ ๊ฒ์ด ์๋๋ผ ์ค์ ํ ๋ํดํธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํด๋น ํค์ ๋ํ ์์ดํ ์ ๋์ ๋๋ฆฌ์ ์ถ๊ฐํด์ค๋๋ค. defaultdict์ first argument๋ก default_factory ๋ฅผ ์ ๊ณตํด์ฃผ๋ฉด ๋ฉ๋๋ค. ๋ํดํธ๊ฐ์ 10์ด๋ผ๊ณ ํด์ค๊ฒ์! '๋ผ์ด์ธ' ์ด๋ผ๋ ํค๊ฐ์ด ์กด์ฌํ์ง ์์ง๋ง KeyError๋ ์๋๊ณ ๋ํดํธ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์์ดํ ์ ๋์ ๋๋ฆฌ์ ์ถ๊ฐํด์ฃผ๋ ๊ฒ์ ๋ณผ ์ ..
- Total
- 867,868
- Today
- 438
- Yesterday
- 1,696
- Flutter Text Gradient
- cocoapod
- SerializerMethodField
- flutter deep link
- drf custom error
- ๊ตฌ๊ธ Geocoding API
- Python Type Hint
- ipad multitasking
- DRF APIException
- Flutter ๋ก๋ฉ
- Watch App for iOS App vs Watch App
- Flutter getter setter
- Flutter Clipboard
- ์ฅ๊ณ Custom Management Command
- ํ๋ฌํฐ ์ผ๋ฟ
- Django FCM
- ์ฅ๊ณ URL querystring
- flutter build mode
- ribs
- METAL
- Django Heroku Scheduler
- PencilKit
- Dart Factory
- flutter ์ฑ ์ถ์
- Flutter Spacer
- Django Firebase Cloud Messaging
- flutter dynamic link
- ํ๋ฌํฐ ์ฑ๊ธํค
- github actions
- Sketch ๋๋ผ