웹 프레임워크 (25) 썸네일형 리스트형 Gradio - 01. Getting Started Gradio란?https://www.gradio.app/https://www.gradio.app/guides/quickstart오픈소스 Python 패키지머신러닝 모델, API 또는 임의의 Python 함수에 대한 데모나 웹 애플리케이션을 신속하게 구축내장된 공유 기능으로 몇 초 만에 공개 링크 생성JavaScript, CSS, 또는 웹 호스팅 경험이 필요 없음설치Python 3.10 또는 그 이상이 필요가상환경에서 설치 권장: https://www.gradio.app/main/guides/installing-gradio-in-a-virtual-environment# 가상환경 생성 - linux# python -m venv gradio-env# source gradio-env/bin/activatepip.. FastAPI - Session 세션(Session) 이란? 웹 애플리케이션에서는 사용자가 웹사이트를 방문할 때마다 새로운 요청을 보냅니다. 하지만 HTTP는 이전 요청과의 연관성을 기억하지 못합니다. 예를 들어 사용자가 장바구니에 상품을 담고 다른 페이지로 이동하면(새로운 요청), 이전에 담은 상품 정보를 기억하지 못합니다. 세션은 사용자별(실제로는 조금 다름)로 공간을 마련하여 이 공간에 사용자의 정보나 상태를 저장합니다. 예를 들어, 로그인 상태나 장바구니 내역 등을 세션에 저장할 수 있습니다. 세션은 서버 측에서 생성되며, 클라이언트(브라우저)에는 세션 ID라는 작은 키 값만 전달됩니다. 브라우저는 이 세션 ID를 쿠키나 URL 매개변수로 저장합니다. 그리고 다음 요청 시 서버에 세션 ID를 함께 보내면, 서버는 이 ID를 통해.. Flask - Python 마이크로 웹 프레임워크 Flask란? Flask는 Python으로 작성된 마이크로 웹 프레임워크로 최소한의 기능만을 제공 하지만 다양한 확장을 지원합니다. 또한 규칙이 엄격하지 않아 개발자가 원하는 구조로 설계 할 수 있습니다. 따라서 간단할 수도 있고 복잡할 수도 있습니다. Flask 설치 pip install Flask Flask 실행 app.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run() 실행 - 터미널: python app.py 접속 주소는 http://localhost:5000/ 입니다. Flask 실행 옵션 a.. FastAPI - 22 (Nginx) 앞서 uvicorn과 Gunicorn을 설치한 상태로 가정하겠습니다. FastAPI - 21 (Gunicorn) Gunicorn을 설치 할 때와 비슷한 질문이 떠오르네요. Nginx가 뭔가요? 왜 설치 해야 하나요? FastAPI는 Gunicorn으로 실행하는데 Nginx와 같이 실행 할 수 있나요? Gunicorn때와 동일하게 제가 설치한 내용을 간단히 정리 했습니다. 공식 사이트 https://www.nginx.com/ Nginx 공식 문서 Nginx? Nginx는 강력한 웹 서버이자 리버스 프록시 서버로, 고성능과 효율적인 정적 콘텐츠 제공, 요청의 로드 밸런싱, SSL/TLS 암호화 등을 처리합니다. 왜 Gunicorn와 함께 사용하나요? 비동기적 처리를 하는 uviconr을 설치했고 안정성과 관.. FastAPI - 21 (Gunicorn) Gunicorn이 뭔가요? 왜 설치 해야 하나요? FastAPI는 uvicorn으로 실행하는데 Gunicorn과 같이 실행 할 수 있나요? Gunicorn을 설치 하면서 위와 같은 의문이 많이 들었습니다. 제가 설치한 내용을 간단히 정리 했습니다. 공식 사이트 Gunicorn: https://gunicorn.org/ uvicorn: https://www.uvicorn.org/ Gunicorn? uvicorn? Uvicorn과 Gunicorn은 둘 다 Python 웹 애플리케이션을 위한 서버입니다. 다만 지원하는 인터페이스와 내부 작동 방식에 차이가 있습니다. Gunicorn 인터페이스: Gunicorn은 WSGI(Web Server Gateway Interface) 애플리케이션 서버입니다. WSGI는 P.. FastAPI - 20 (APIRouter) APIRouter FastAPI 애플리케이션의 경로 작업(route operations)을 구조화하고 모듈화 합니다. 예제 코드를 작성합니다. 디레토리 및 파일 구조 . main.py └── service ├── notice ├──── notice_route.py ├── qna └──── qna_route.py notice_route.py /service/notice 경로에 대한 경로 작업을 정의합니다. # 웹 서비스의 경로(엔드포인트)를 생성 from fastapi import APIRouter # APIRouter의 인스턴스를 생성. # URL 접두어로 /service/notice를 사용 # 이 라우터에 정의된 모든 경로가 이 URL 접두어로 시작됨을 의미합니다 router = APIRouter(pr.. FastAPI - 19 (DB - PostgresSQL) 출처: https://fastapi.tiangolo.com/ko/tutorial/sql-databases// 아래의 내용은 공식 사이트의 내용을 제 경험과 생각을 추가하여 다시 정리한 것 입니다. SQLAlchemy와 ORM FastAPI와 PostgresSQL을 연동하겠습니다. PostgresSQL 설치는 PostgreSQL - 01 (설치 - Windows)나 PostgreSQL - 03 (설치 - ubuntu)에서 참고 하시기 바랍니다. FastAPI에서는 SQLAlchemy를 사용하여 DB를 연동 할 수 있습니다. SQLAlchemy는 ORM(Object Relational Mapper)로 DB를 객체로 다룰 수 있게 해줍니다. SQLAlchemy는 다양한 DB를 지원합니다. ORM(object-.. FastAPI - 18 (보안4 - QAuth2, Bearer, JWT - 클라이언트 구성 ) 인증서버와 인증을 요청하는 클라이언트를 각각 구성하겠습니다. 환경 구성 인증 서버 설정 인증 서버 코드 작성(main.py): 사용자 인증과 JWT 토큰 발급을 처리하는 FastAPI 애플리케이션을 작성합니다. 이 서버는 로그인 엔드포인트(/token)를 제공하고 유효한 자격 증명을 가진 사용자에게 JWT 토큰을 발급합니다. 인증 서버 실행: 인증 서버를 8000 포트에서 실행합니다. uvicorn uvicorn main:app --reload --port 8000 클라이언트 서버 설정 클라이언트 서버 코드 작성(main_client.py): 인증 서버와 다른 FastAPI 애플리케이션을 작성하여 클라이언트 서버로 사용합니다. 이 서버는 인증이 필요한 엔드포인트를 제공하며, 요청의 Authorizatio.. 이전 1 2 3 4 다음