Backend/Python 2

FastAPI + Oracle DB 연결 오류 — SQLAlchemy 1.4와 oracledb 3.x 버전 충돌 해결기

FastAPI에서 Oracle DB를 연결하는 순간 이런 오류를 마주쳤다.Can't load plugin: sqlalchemy.dialects:oracle.oracledb설치도 다 되어 있고 연결 URL도 문제없어 보이는데 dialect를 왜 못 찾는다는 걸까. 오류 자체는 단순해 보이지만 원인을 이해하려면 SQLAlchemy, Oracle 드라이버, dialect 이 세 가지 개념을 먼저 알아야 한다.📌 SQLAlchemy란SQLAlchemy는 Python에서 가장 널리 쓰이는 데이터베이스 추상화 라이브러리다. 쉽게 말하면 Python 코드로 DB를 다룰 수 있게 중간에서 통역 역할을 하는 도구다.SQLAlchemy 없이 DB를 쓰면 이렇게 된다.conn = cx_Oracle.connect("user..

Backend/Python 2026.04.07

Python 웹 서버 개념 정리 — WSGI, ASGI, Uvicorn, Gunicorn 그리고 FastAPI 아키텍처 패턴

Python으로 API 서버를 처음 만들다 보면 uvicorn app:app --host 0.0.0.0 --port 8000 명령어를 자연스럽게 쓰게 된다. 그런데 왜 Uvicorn인지, Gunicorn과는 무엇이 다른지, 프로덕션에서는 어떻게 조합해서 쓰는지 정확히 설명할 수 있는가.이 글에서는 그 개념부터 실무 아키텍처까지 순서대로 정리한다.📌 WSGI vs ASGI — 먼저 이 차이부터Uvicorn과 Gunicorn을 비교하기 전에 WSGI와 ASGI를 먼저 이해해야 한다. 이 둘은 Python 웹 애플리케이션과 웹 서버 사이의 통신 규약(인터페이스 표준) 이다.구분 WSGI ASGI정식 명칭Web Server Gateway InterfaceAsynchronous Server Gateway Int..

Backend/Python 2026.04.06