[ Django Channels ] Django Channels 는 Django 로 HTTP 를 넘어 WebSockets, chat protocols, IoT protocols 등을 핸들링하고 싶을 때 사용합니다. ASGI 기반이라고 하고 다음과 같은 패키지들로 구성되어있습니다. Channels is comprised of several packages: Channels, the Django integration layer Daphne, the HTTP and Websocket termination server asgiref, the base ASGI library channels_redis, the Redis channel layer backend (optional) [ 설치 ] Daphne ASGI ..
[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 ..
- Total
- Today
- Yesterday
- Flutter getter setter
- SerializerMethodField
- Flutter Text Gradient
- 장고 URL querystring
- METAL
- 플러터 얼럿
- PencilKit
- Sketch 누끼
- flutter dynamic link
- Watch App for iOS App vs Watch App
- ribs
- flutter build mode
- Django Firebase Cloud Messaging
- 구글 Geocoding API
- flutter deep link
- github actions
- ipad multitasking
- Flutter Spacer
- Flutter 로딩
- flutter 앱 출시
- Flutter Clipboard
- 플러터 싱글톤
- Dart Factory
- Python Type Hint
- Django FCM
- DRF APIException
- Django Heroku Scheduler
- drf custom error
- 장고 Custom Management Command
- cocoapod
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |