프로그램 (PHP,Python)193 Python FastAPI 뉴스레터 예제 프로그램 제작 및 배포 과정 파이썬과 FastAPI를 사용하여 뉴스레터를 만드는 과정입니다. FastAPI 소개 FastAPI는 빠르고 현대적인 웹 프레임워크로, 파이썬을 기반으로 하는 비동기 웹 어플리케이션을 쉽게 작성할 수 있도록 지원합니다. 프로젝트 설정 FastAPI를 설치하고 새로운 프로젝트를 초기화합니다. 이때, Pydantic을 사용하여 데이터 모델을 정의합니다. 이메일 전송 설정 뉴스레터를 보낼 때 사용할 이메일 전송 서비스를 설정합니다. 보통은 SMTP 서버를 사용하는데, 이를 위해 smtplib를 사용할 수 있습니다. 데이터베이스 설정 사용자 정보와 뉴스레터 구독 정보를 저장하기 위해 데이터베이스를 설정합니다. 이때, SQLAlchemy나 ORM을 활용하여 데이터 모델을 정의하고 데이터베이스에 연결합니다. API .. 2024. 1. 15. FastAPI에서 Swagger UI 보호조치를 위한 URL 변경 및 사용자 인증 FastAPI는 기본적으로 Swagger UI를 사용하여 API 문서를 생성하며, 이 문서는 /docs 엔드포인트에서 제공됩니다. 만약 /docs 대신 다른 URL로 Swagger UI를 노출하고 싶다면 FastAPI의 설정을 조정하여 이를 변경할 수 있습니다. 다음은 FastAPI에서 Swagger UI의 URL을 변경하는 방법입니다. from fastapi import FastAPI from fastapi.openapi.models import APIKey from fastapi.openapi.models import OAuthFlows as OAuthFlowsModel from fastapi.openapi.models import OAuthFlowAuthorizationCode from fastap.. 2024. 1. 13. FastAPI와 Pydantic을 활용한 데이터 유효성 검사, 자동 문서 생성 FastAPI와 Pydantic을 사용하여 API 문서 작성 및 데이터 검증을 수행하는 방식에 대해 자세히 설명하겠습니다. FastAPI 소개 FastAPI는 Python으로 빠르게 API를 개발할 수 있는 현대적이고 성능 우수한 웹 프레임워크입니다. ASGI(Asynchronous Server Gateway Interface)를 기반으로 하며, 비동기 및 동기 코드를 지원합니다. Pydantic 소개 Pydantic은 데이터 검증 및 직렬화를 위한 Python 라이브러리입니다. 타입 힌트를 사용하여 데이터 모델을 정의하고, 해당 모델을 사용하여 데이터의 유효성을 검사하거나 JSON과 같은 형식으로 직렬화할 수 있습니다. FastAPI와 Pydantic의 통합 FastAPI는 Pydantic 모델을 사용.. 2024. 1. 12. PostgreSQL 스키마를 기반으로 PostgREST 통해 API 자동화 생성 PostgREST가 무엇인지 먼저 생각해 봅시다. 현대의 데이터베이스 애플리케이션은 일반적으로 직접 데이터베이스에 연결하여 임의의 SQL 명령을 내리지 않습니다. 일반적으로 그 사이에 어떤 추상화 계층이 항상 존재합니다. 이 계층은 Hibernate 코드 또는 어떤 종류의 API가 될 수 있습니다. 문제는 API를 수작업으로 작성하는 것이 많은 작업이며 귀찮다는 것입니다. 일반적으로 데이터베이스에는 이미 대부분의 정보가 있습니다(필드, 데이터 유형 등). 그러나 수동으로 API를 작성하면 본질적으로 데이터베이스가 이미 알고 있는 것을 중복하게 됩니다. PostgREST는 전혀 다른 접근 방식입니다. 이는 데이터베이스 시스템 카탈로그를 검사하고 데이터베이스에서 API를 자동으로 생성합니다. 충분한 권한이 .. 2024. 1. 9. 한글깨짐 환경 인코딩 UTF-8 유니코드 변환 문제 해결 파이썬을 사용하여 JSON 파일의 UTF-8 여부를 체크하고, 만약 UTF-8이 아니라면 인코딩을 변경하는 코드는 다음과 같이 작성할 수 있습니다. 이 코드는 chardet 라이브러리를 사용합니다. 먼저, 해당 라이브러리를 설치해야 합니다. pip install chardet 그런 다음 아래의 파이썬 코드를 사용하세요. import json import chardet def check_and_convert_encoding(file_path, target_encoding='utf-8'): with open(file_path, 'rb') as file: raw_data = file.read() result = chardet.detect(raw_data) detected_encoding = result['en.. 2024. 1. 2. 이전 1 ··· 6 7 8 9 10 11 12 ··· 39 다음 728x90