본문 바로가기
728x90
SMALL

django5

WSGI와 ASGI 비교 (feat. gunicorn, uvicorn) 1. 글을 쓰게 된 계기 WSGI 그리고 ASGI 아마 API를 만들어본 사람들은 많이 들어본 키워드일 것이다. 여기서 두 개를 비교하고 어떻게 정의하고 평소에 궁금했던 내용들에 대해서 정리해보고자 한다. 2. WSGI(Web Server Gateway Interface)가 뭐야? Web server의 Request를 python application으로 보내주고 Response를 받아서 Web server로 보내주는 것이 WSGI이다. 2003년 파이썬 표준으로 WSGI가 나온 이후로 현재까지 사용되었으며, WSGI Middleware는 WSGI의 구현체로 Request를 Flask, django와 같은 Web Framework에 연결하는 WSGI server 역할을 한다. (대표적인 예시로는 guni.. 2024. 4. 5.
gunicorn은 무엇인가? (feat. WSGI) 1. 글을 쓰게 된 계기 이전에 작고 큰 API들을 많이 개발했었다. 이전에는 flask나 django를 많이 사용했다면 최근에는 오히려 더 빠르게 개발할 수 있는 fastapi를 자주 사용하곤 한다. 그럴 때마다 gunicorn과 uvicorn을 이용해서 배포를 하곤하는데 이를 이론적으로 정리하고자 해서 글을 작성하게 되었다. 2. WSGI란 무엇인가? gunicorn을 알기 전 WSGI에 대해서 먼저 알아보도록 하자. WSGI, 즉 Web server Gateway Interface는 파이썬 웹 애플리케이션과 웹 서버 사이의 표준 인터페이스로 웹 애플리케이션 개발과 배포를 단순화하는데 중요한 역할을 한다. WSGI는 파이썬 웹 개발의 핵심 구성 요소이며, 다양한 웹 서버와 애플리케이션 간의 통합을 .. 2024. 4. 3.
django-mysql 연결 시 django.db.utils.OperationalError 오류해결 1. 글을 작성하게 된 계기 python manage.py inspectdb 위 코드로 mysql db와 연결된 내용을 models.py에 옮기려고 했으나, 아래와 같은 오류를 만나게 되었다. docker로 만들어 놓은 mysql을 docker로 만들어진 django에서 연결하려고 하니 위와 같은 오류를 만나게 되었다. 2. 해결방법 이는 버전차이로 mysql 8.0 버전에는 caching_sha2_password가 없는 이유 때문에 발생했다. 아래는 내가 실행했던 django와 mysql버전이다. 해결 방법은 mysql을 실행시킨 docker에 접속해서 mysql 비밀번호를 업데이트 하는 것이다. ALTER user 'root'@'localhost' IDENTIFIED WITH mysql_native_.. 2024. 1. 22.
Docker-compose로 django 세팅하기 1. 글을 작성하게 된 계기 오랜만에 회사일로 django를 구축해야하는 일이 생겨 나중에 기억하고자 문서를 작성한다. 2. docker-compose 세팅 방법 - 만들고 싶은 디렉토리에 Dockerfile 파일 생성 # syntax=docker/dockerfile:1 FROM python:3 ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /code COPY requirements.txt /code/ RUN pip install -r requirements.txt COPY . /code/ - requirements.txt 파일 생성 Django>=3.0,=2.8 - docker-compose.yml 파일 생성 version: "3.9" se.. 2024. 1. 3.
Python FastAPI, docker-compose로 구축하기 1. 작성하게 된 이유 나는 기존에 django 혹은 flask를 이용해 api를 구축하곤 했었다. 그러나 FastAPI가 파이썬 웹 프레임워크의 새로운 트렌드로 자리 잡고 있고 Flask를 사용하던 조직들은 FastAPI로 옮겨가고, 요즘 대세는 fastapi라고 한다. 물론 Google Trends를 봐도 아직 Django와 Flask가 압도적인 추세이긴 하다. 그런데도 왜 대세이고 FastAPI를 쓰는 것일까? FastAPI는 python 3.6+ 버전으로 API를 빌드하는데 도움이 되는 현대적인 프레임워크이다. 가장 빠른 파이썬 프레임워크 중 하나로 간주되며, 개발자가 유발하는 버그가 적고 빠르게 개발할 수 있다는 장점이 있다. (장점 : 빠른 개발, 버그 감소, 높고 빠른 성능) 구축 사례 : .. 2022. 10. 24.
728x90
LIST