728x90

파이썬/FastAPI 10

초보자를 위한 Flask와 FastAPI의 세션 관리

Flask의 세션 관리Flask 애플리케이션 생성 및 Secret Key 설정Flask에서 세션을 사용하려면 먼저 애플리케이션을 생성하고 secret_key를 설정해야 합니다. 이 secret_key는 세션 데이터를 안전하게 보호합니다.from flask import Flask, sessionapp = Flask(__name__)app.secret_key = 'supersecretkey' 세션에 데이터 저장세션에 데이터를 저장하려면 session 딕셔너리를 사용합니다. 예를 들어, 사용자의 이름을 세션에 저장할 수 있습니다.from flask import request@app.route('/set_session/')def set_session(): session['username'] = reques..

파이썬/FastAPI 2024.07.11

Flask vs FastAPI: 비동기 처리의 차이와 실제 적용

두 프레임워크를 직접 비교하고 있음을 나타냅고 있으며 주요 비교 포인트인 '비동기 처리'를 명시 합니다. Flask의 비동기 처리 Flask는 기본적으로 동기 방식으로 동작합니다. 이는 한 번에 하나의 요청만 처리할 수 있다는 뜻입니다.from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world(): # 이 함수가 실행되는 동안 다른 요청은 대기합니다 return 'Hello, World!'if __name__ == '__main__': app.run() Flask에서 비동기 처리를 하려면 추가적인 라이브러리(예: Celery)를 사용해야 합니다.FastAPI의 비동기 처리 FastAPI는 기본적으로 비동기 방식을 ..

파이썬/FastAPI 2024.07.08

Flask와 FastAPI에서 PyMySQL과 SQLAlchemy 사용법 비교

Flask와 FastAPI에서 SQLAlchemy를 사용하여 데이터베이스 작업을 수행하는 방법을 비교해 보겠습니다. 두 프레임워크의 사용법은 비슷하지만, 일부 차이점이 있습니다. 각 프레임워크에서의 예시를 통해 쉽게 이해할 수 있도록 정리해보겠습니다.1. 모델 클래스 상속Flask : Flask에서는 SQLAlchemy 객체의 Model 클래스를 상속받아 모델 클래스를 정의합니다.from flask import Flaskfrom flask_sqlalchemy import SQLAlchemyapp = Flask(__name__)app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://user:password@localhost/dbname'db = SQLAlche..

파이썬/FastAPI 2024.07.05

팀 플젝에서 파이참&Git 사용기 Flask와 FastAPI의 요청과 응답 정리

데이터 접근 방식 Flask: request 객체를 통해 클라이언트의 요청 데이터에 접근합니다. 예를 들어, 쿼리 매개변수, 폼 데이터, JSON 바디 등을 추출할 수 있습니다.FastAPI: Query, Path, Body 등의 함수를 사용하여 요청 데이터를 추출합니다. 각 함수는 해당하는 매개변수에서 데이터를 가져옵니다. 응답 생성Flask: 주로 return문을 사용하여 응답을 생성합니다. 커스텀 응답이 필요하면 Response 클래스를 사용할 수 있습니다.FastAPI: JSONResponse, HTMLResponse, PlainTextResponse 등 다양한 응답 클래스를 제공하여 응답 형식을 세밀하게 제어할 수 있습니다. 문서화 Flask: Swagger UI나 ReDoc 같은 도구를 따로 ..

파이썬/FastAPI 2024.07.04

타입 힌팅 : 플라스크 와 fastAPI 비교 그리고 비전공자와 전공자 비교

타입 힌팅(Type Hinting)은 코드의 가독성과 유지보수성을 높이고, 오류를 줄이는 데 도움을 주는 방법입니다. Python에서의 타입 힌팅은 변수나 함수의 매개변수 및 반환값의 타입을 명시하여 코드의 의도를 명확히 나타내는 것을 의미합니다. Flask와 FastAPI는 타입 힌팅을 각각 다르게 사용합니다. Flask의 타입 힌팅Flask에서는 주로 URL 경로에 타입 힌팅을 적용합니다. 경로 변수의 타입을 지정하여 올바른 타입의 값이 전달되지 않을 경우 404 에러를 반환합니다.from flask import Flaskapp = Flask(__name__)@app.route('/add//')def add(num1, num2): return str(num1 + num2)if __name__ =..

파이썬/FastAPI 2024.07.03

라우팅 플라스크와 FastAPI 비교 그리고 학습 프레임과 실행 프레임의 차이

개발자로서 학습 프레임을 가지면, 빠르게 변화하는 기술 환경에 더 잘 적응하고 지속적으로 성장할 수 있습니다. 당장의 성과보다는 배움의 과정을 즐기며, 모든 경험을 통해 더 나은 개발자로 성장하는 것이 중요합니다. 프레임의 개념 : 상황을 바라보는 관점이나 해석 방식 두 가지 주요 프레임: 실행 프레임목표: 빠른 성과와 결과 달성특징: 현재 업무에서 좋은 성과 내기에 집중, 인정받기와 승진에 관심, 실패를 학습 기회로 보지 않음학습 프레임목표: 지속적인 학습과 성장특징: 모든 상황을 배움의 기회로 봄, 성장과 개선에 초점, 실패도 학습 경험으로 여김개발자에게 적용하기실행 프레임 예:아직 1년차라 코드 리뷰할 자격이 없어요.이 기술 스택만 빨리 익혀서 프로젝트 끝내야겠어.학습 프레임 예:선배님들의 코드를 ..

파이썬/FastAPI 2024.07.02

FastAPI vs Flask: APIRouter와 블루프린트 비교

오늘의 학습 내용 APIRouter 다양한 사용법과 미들웨어 설정APIRouter 사용법FastAPI의 APIRouter는 여러 라우트들을 모아서 하나의 라우터 객체로 관리할 수 있게 해준다.라우터를 통해 모듈화된 구조를 유지하고, 코드의 재사용성을 높일 수 있다.@router.get("/path") 와 같이 각 경로에 대해 라우트 설정을 할 수 있다.미들웨어 설정미들웨어는 요청과 응답을 가로채어 처리할 수 있는 기능이다.FastAPI에서 미들웨어는 add_middleware 메소드를 사용하여 추가할 수 있다.예시: app.add_middleware(SomeMiddleware, arg1=val1, arg2=val2)미들웨어를 사용하여 인증, 로깅, 성능 모니터링 등을 처리할 수 있다.APIRouter와 ..

파이썬/FastAPI 2024.07.01

FastAPI Pydantic을 활용한 요청 데이터 검증 및 응답 모델 정의 학습 요약

오늘은 FastAPI에서 Pydantic 모델을 이용해 요청 데이터를 검증하고 스키마를 정의하는 방법과 응답 모델과 응답 클래스를 활용하는 방법을 배웠습니다. Pydantic을 이용하면 데이터 검증과 변환을 간편하게 할 수 있으며, 코드의 가독성도 높일 수 있다는 점을 발견했습니다. 또한, 응답 모델을 사용하면 API의 응답 구조를 명확히 정의할 수 있어 클라이언트와의 통신이 더욱 명확해진다는 장점을 확인했습니다. 오늘의 학습 내용FastAPI에서 Pydantic 모델을 사용하여 요청 데이터를 검증하고 스키마를 정의하는 방법 학습FastAPI에서 응답 모델(Response Model)과 응답 클래스를 사용하는 방법 학습학습한 내용에서의 발견Pydantic을 사용하면 데이터 검증과 변환이 매우 간편해지고 ..

파이썬/FastAPI 2024.06.28

FastAPI 기본 개념 공부

오늘은 FastAPI를 사용하여 웹 API를 구축하는 기본 개념과 실습을 진행했습니다.FastAPI의 라우팅, 타입 힌트, HTTP 메서드에 대해 학습하고 이를 실제 코드에 적용해보았습니다.학습 중 FastAPI의 자동 문서화 기능과 타입 힌트를 통한 데이터 검증의 유용성을 발견했습니다. 그러나 curl 명령어를 사용하여 POST나 PUT 요청을 보낼 때 JSON 데이터 형식에 맞지 않는 문제로 인해 어려움을 겪었습니다.이를 해결하기 위해 Content-Type: application/json 헤더를 추가하고 데이터 형식을 정확히 맞추는 연습을 통해 문제를 해결했습니다. 내일은 FastAPI의 심화 주제로 데이터베이스 연동과 사용자 인증 및 권한 관리에 대해 학습할 예정입니다.이 과정을 통해 더 복잡한 ..

파이썬/FastAPI 2024.06.27

무작정 따라하기 플라스크 끝 FASTAPI 시작

플라스크 끝플라스크 책 한권을 구매한후 21일간 공부 하면서 50% 정도 분위기와 감 그리고   오늘의 학습 내용점프 투 플라스크 책 완독Flask 애플리케이션의 구조 이해Flask 기본 라우팅 및 뷰 함수 작성템플릿 엔진 Jinja2 사용법폼 처리 및 데이터베이스 연동학습한 내용에서의 발견Flask의 유연성: Flask는 매우 경량이면서도 확장성이 뛰어난 프레임워크라는 것을 발견. 프로젝트의 요구 사항에 맞게 쉽게 확장할 수 있다는 점이 큰 장점으로 다가옴.Jinja2의 강력함: 템플릿 엔진 Jinja2를 통해 HTML을 효율적으로 관리하고, 복잡한 로직을 템플릿 내에서 구현할 수 있다는 것을 배움.어려웠던 점폼 데이터 처리&데이터베이스 연동: 폼 데이터를 처리하는 과정에서 CSRF 보호 및 데이터 검..

파이썬/FastAPI 2024.06.25
728x90