전체 글 5

[FastAPI] 쿠키 설정 및 쿠키 삭제

FastAPI 프로젝트에서 회원가입 및 로그인을 하면 토큰을 발행하게 되어 있다. 로그인 시에 해당 토큰을 프론트에 리턴하기 전에 쿠키에 설정하고, 또한 로그아웃 시에 쿠키를 삭제하는 로직을 추가하려고 한다. 로그인 코드 및 set_cookie async def login( req: UserLoginReqDto, response: Response ): email = req.email password = req.password user = await get_user_by_email(email) if not user: raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail="User does not exist", ) hashed_passwo..

FastAPI 2023.05.02

[FastAPI] Request에서 user 정보 얻기

해당 내용은 Startlette 공식 페이지와 스택오버플로우를 참고했다. Reqeust에 유저 정보 담기 FastAPI에서 Dependency를 이용해 token에서 유저 정보를 가져오기 위해서는 Request를 사용할 수 있다. async def get_current_user(req: Request): try: token = req.headers.get("authorization") secret_key = token_settings.secret_key algorithms = token_settings.algorithm verified_token = jwt.decode(token, secret_key, algorithms=algorithms) except jwt.ExpiredSignatureError: ..

FastAPI 2023.04.23

[FastAPI] Pydantic validator의 재사용

Validator pydantic의 BaseModel을 사용하여 프론트에서 받을 Body 값을 지정하는 동시에 Body 값 중에 validator가 필요한 경우 pydantic model 안에서 정의할 수 있다. 아래의 예시는 pydantic 공식 페이지에서 제공하는 예시와 설명이다. from pydantic import BaseModel, ValidationError, validator class UserModel(BaseModel): name: str username: str password1: str password2: str @validator('name') def name_must_contain_space(cls, v): if ' ' not in v: raise ValueError('must c..

FastAPI 2023.04.21

Mixpanel를 활용한 데이터 추출 2

2023.02.24 - [Database] - Mixpanel를 활용한 데이터 추출 1 Mixpanel를 활용한 데이터 추출 1 Mixpanel(믹스패널)은 데이터 분석을 지원해 주는 툴로, 주로 유저 행동에 대해 기록하고 그 통계를 보여준다. 믹스패널을 사용하기 위해서는 먼저 코드에 믹스패널 트래킹 코드를 심는 작업이 필 cozy-coding.tistory.com 이전글에서 믹스패널의 기본적인 활용법을 알아봤다. 오늘은 믹스패널 API에서 가져온 데이터를 JSON 파일로 저장하고 간단하게 활용하는 방법을 알아보려고 한다. JSON 파일 저장 이전 글에서 데이터를 터미널에서 확인할 때의 코드는 아래와 같았다. response = requests.get(url, headers=headers) print(r..

Database 2023.03.01

Mixpanel를 활용한 데이터 추출 1

Mixpanel(믹스패널)은 데이터 분석을 지원해 주는 툴로, 주로 유저 행동에 대해 기록하고 그 통계를 보여준다.믹스패널을 사용하기 위해서는 먼저 코드에 믹스패널 트래킹 코드를 심는 작업이 필요하다. 트래킹 코드가 심어진 소스코드를 배포하고 사용자가 서비스를 사용하게 되면, 사용자의 행동이 믹스패널에 기록된다.기록된 결과들은 데이터로 뽑아서 사용할 수 있다.이번 포스팅에서는 트래킹 코드를 심는 작업은 건너뛰고, 믹스패널 API를 사용하여 사용자 행동 데이터를 가져와 csv로 추출하는 과정을 설명하고자 한다. 믹스패널 페이지에 대략적이 설명이 쓰여있긴 하지만 굉장히 불친절해서 JSON 데이터를 얻는데 고생했기 때문에 다른 사람들에게 조금이라도 도움이 되었으면 좋겠다.Mixpanel API 사용1. use..

Database 2023.02.24