mingkeJan 15, 2025FastAPI 프로젝트 개선하기최근 오름캠프에서 3일간 FastAPI 미니 프로젝트가 진행되었습니다. FastAPI 수업이 길지 않았는데 다들 잘 진행해주셨습니다. 이번 포스팅에서는 좋은 평가를 받았던 프로젝트를 몇 가지 로직 변경 없는 개선을 해보도록 하겠습니다.FastAPI오름캠프
mingkeDec 31, 2024FastAPI 개발을 위한 Python 타입 힌트 알아보기FastAPI에서는 Python의 Type Hint를 사용합니다. 모든 코드에 강제되는 것은 아니지만 FastAPI를 잘 쓰기 위해서는 어느 정도 필요합니다. APIRouter 와 관련된 코드에서 타입 힌트를 사용하면 API에서 받는 입력 값들에 대해 유효성 검사가 이루어 집니다. 이번 포스팅에서 FastAPI 개발을 위해서 필요한 Python의 타입 힌트에 대해서 알아보겠습니다.FastAPIPython
mingkeDec 11, 2024FastAPI 비밀번호 해싱하기(feat.argon2)너무나 당연하게도 유저의 비밀번호를 저장할 때 평문으로 저장하면 안됩니다. FastAPI 공식문서를 보면 비밀번호를 해싱할 때 passlib[bcrypt]를 사용합니다. 이번 포스팅에서 agron2 해싱 방법을 사용하는 방법을 알아보겠습니다.FastAPI
mingkeNov 18, 2024FastAPI Response 성능 높이는 방법JSONResponse는 Python의 빌트인 json 라이브러리를 이용해서 직렬화합니다. 고성능이 요구되지 않는 상황에서는 기본 응답도 충분하겠지만, 성능을 조금이라도 더 올리고 싶은 경우에 시도해볼만한 방법이 있습니다. 이번 포스팅에서 Response 응답을 변경하여 성능을 좀 더 높이는 방법을 알아보도록 하겠습니다. orjson 과 webtool 라이브러리를 이용해보도록 하겠습니다.FastAPI
mingkeNov 1, 2024FastAPI permissions 구현하기FastAPI는 DjangoRestFramework랑 다르게 API를 구현할 때 permissions에 대한 기능을 제공하지 않습니다. 그래서 개발할 때 따로 구현해주어야 합니다. 이번 포스팅에서 permissions을 간단하게 구현해보도록 하겠습니다.FastAPI
mingkeOct 7, 2024FastAPI Soft Delete 구현하기 by PostgreSQL trigger오늘 다뤄볼 주제는 Soft Delete 입니다. Soft Delete는 데이터를 삭제하는 것이 아닌 ‘이 데이터는 삭제된 것임’ 이라고 표시를 해주는 것입니다.FastAPIPostgreSQL
mingkeAug 14, 2024FastAPI Swagger 접근 제한하기최근에 Swagger 관련 이야기를 하다가 Swagger에 접근하는 방법에 대한 이야기가 나왔습니다. 프로젝트를 하면서 API를 만들었는데 Swagger에 같은 팀원만 접근할 수 있도록 만들 필요가 있었습니다.FastAPISwagger
mingkeJun 9, 2024FastAPI lifespan asynccontextmanager 직접 구현하기 (feat.__aenter__, __aexit__)FastAPI에서 startup 이벤트와 shutdown를 구현하는 방법으로 lifespan을 사용하는 방법이 있습니다. 이번 포스팅에서 좀 더 객체지향적이고 사용성 좋은 방법으로 구현해보았습니다.FastAPIPython
mingkeMay 28, 2024FastAPI에서 Scheduler 사용하기백엔드 개발하다보면 Scheduler를 개발해야할 때가 종종 있습니다. FastAPI를 사용할 때 복잡하지 않은 Scheduler라면 apscheduler 라는 라이브러리를 사용하면 됩니다.간단하게 알아보도록 하겠습니다.FastAPIPython
mingkeMay 27, 2024FastAPI - API 파라미터 camelCase로 변경하기 (feat. Pydantic Field)API 명세에서 CamelCase를 사용하고 백엔드 코드베이스에서는 snake_case를 유지하는 방법을 알아보도록 하겠습니다.FastAPIPydantic