mingkeNov 25, 2023Gitbhub Actions에서 S3를 활용해서 Crendential 파일 관리하기어느 날 파이프라인 구축하던 중에 한 가지 고민이 생겼습니다. Github workflow에서 이미지를 build하는데 꼭 필요한 파일이지만, .gitignore에 있어서 원격 저장소에는 push되지 않는 파일들을 어떻게 처리할까하는 고민이었습니다AWSGithub Actions
mingkeNov 23, 2023aiohttp 비동기로 API 호출하기Python의 비동기 HTTP 클라이언트/서버 프레임워크입니다. 이것은 Python의 비동기 프로그래밍 기능을 활용하여, 동시에 여러 HTTP 요청을 처리할 수 있게 해주는 강력한 도구입니다. 동시에 여러 네트워크 요청을 처리할 때 I/O 대기 시간을 효율적으로 관리할 수 있게 해줍니다.Python
mingkeNov 22, 2023FastAPI - Redis 캐시 사용하기FastAPI에서 Redis를 사용하는 방법에 대해서 간단하게 알아보겠습니다. 운영하고 있는 서비스 중에 전기차G - 전기차 충전소 찾기 가 있습니다. 공공API를 사용해서 전기차 충전소 위치와 충전기 정보를 제공하는 서비스 입니다.FastAPIRedis
mingkeNov 20, 2023FastAPI - Swagger에 Authorize 생성하기최근에 FastAPI로 API를 개발하던 중에 Authentication을 middleware로 구현하여 추가를 하였습니다. 그리고나서 생각해보니 Swagger에서 API를 실행해 볼 때도 인증이 들어가야 했습니다. FastAPI Swagger에서 Authorize 버튼을 만들어 Header에 key를 담아 실행할 수 있는 방법에 대해 알아보겠습니다.FastAPISwagger
mingkeNov 18, 2023ECS 롤링 배포 최대 비율 최소 비율Amazon ECS에서는 서비스의 롤링 업데이트를 수행할 때 서비스에 대해 "최소 실행 작업 비율" 및 "최대 실행 작업 비율"을 설정할 수 있는 옵션이 있습니다. 이러한 설정은 배포 프로세스를 제어하여 업데이트 중에 특정 수의 작업이 계속 실행되고 리소스 제한을 초과하지 않도록 하는 데 도움이 됩니다. 이게 정확히 무슨 의미인지 몰라서 공부하고 정리해보았습니다.AWS
mingkeNov 17, 2023CloudWatch 로그 정규 표현식으로 검색하기최근 간단한 프로젝트를 ECS로 배포한 뒤 CloudWatch에 로그를 기록했습니다. CloudWatch에서 Log를 검색할 수 있도록 제공해줍니다. AWS CloudWatch에서 로그를 검색하는 방법에 대해서 알아보겠습니다. 그리고 실수했던 경험을 공유하도록 하겠습니다.AWS
mingkeNov 16, 2023FastAPI - Custom Exception Handler 사용하기FastAPI에서 커스텀 Exception Handler를 사용하는 방법을 알아보겠습니다. FastAPI API에서 다음과 같은 코드는 에러 응답을 반환합니다. FastAPI를 처음 쓸 때 HTTPException을 그냥 사용했었는데, status code와 detail message만 전달하니 함께 일하던 프론트엔드 동료가 error를 구분하기 어렵다고 구분할 수 있도록 code도 함께 넣어 전달해달라는 요청이 있었습니다.FastAPI
mingkeNov 16, 2023FastAPI - lifespan 사용하기FastAPI lifespan은 Application 시작과 종료까지의 기간을 의미합니다. 시작 이벤트와 종료 이벤트가 발생할 때 동작하는 로직을 구현하여 실행할 수 있으며, 시작 이벤트에서 발생한 리소스를 계속 유지할 수 있습니다.FastAPI
mingkeNov 14, 2023sqlalchemy greenlet_spawn error 해결sqlalchemy.exc.StatementError (sqlalchemy.exc.MissingGreenlet) greenlet_spawn has not been calledSQLAlchemy
mingkeNov 12, 2023FastAPI - Async SQLALCHEMY 테스트 환경 구축하기테스트 코드의 중요성은 두 말하면 입이 아픈데요. SQLAlchemy를 비동기로 사용하면 테스트 환경을 구축하는 방법도 달라집니다. 오늘은 Pytest를 이용해서 SQLAlchemy를 비동기로 테스트하는 환경 구축을 공부해보겠습니다.FastAPIPytestSQLAlchemy