Backend/FastAPI

✨Build Up이번에 회사에서맡은 일을 해결하는 과정에서 Python FastAPI 서버를 구축하게 되었다. Llama3 모델을 활용하기 위해서 Kotlin + Spring 프로젝트에서는 유연하지 못한 것 같아 모델에 관련된 처리를 Python 서버에서 해결하기로 했고, 완전히 새로운 프로젝트를 만드는 상황이라 Logging과 배포에 관련된 문제를 모두 스스로 해결해야했다. 이번에는 그 과정 중에서도 로깅에 관한 문제를 해결해야한다.어플리케이션 밑에 찍히는 로그도 필요하지만 프로덕션에서는 Opensearch를 통해서 더 손쉽게 로그를 탐색할 수 있어야 하고 나중에는 DataDog을 활용하여 트래픽 분석도 할 수 있어야 한다. 그 중에서도 이번에는 Python FastAPI에서의 Logging에 대해서 ..
원래 글: https://velog.io/@stopmin/Precommit-Test 참고 관련 내용은 저번에 이미 정리해뒀다. 참고자료 이전 정리보다 조금 더 알게된 점은, 아래와 같다. 이 그림에서 딱 3단계로 진행되면 된다고 생각한다는 점이다. 수정 내역을 가져오고 내가 수정한 부분을 커밋하는 것이다. 이걸 upstream에서 바로 해도 되지만 origin을 통해서 하는게 나중에 문제가 생겼을 때 해결하기 좋다는 점이다. precommit test 홀리 몰리 뭐야 원래 안됐었는데 됐다!! 저기 근데 unstaged된거 있다고 하긴 하는데 잘못 건들면 안될 것 같아서 말았다. dev branch에 pull했다. 생각해보니깐 git add . 을 안했다. 그래서 다시 커밋했다. pull request d..
원래 글: https://velog.io/@stopmin/AID-backend-project 이번 프로젝트를 진행하면서 배웠던 점을 총합해서 정리한 게시물입니다. 이때까지 정리한 글 개발환경 설정 + 패키지 정리 fork한 repo를 origin에 push Lock 파일 & pre-commit FastAPI Pytest & Github action & Docker CloneCoding (CRUD, ToDO-list) DockerCompose & MongoDB Precommit Test CRUD vs AID_Web project SQLAlchemy 1. 개발환경 설정 + 패키지 정리 Pyenv: 다양한 버전의 파이썬을 관리하는데 사용되었다. Pipenv: 가상환경을 사용하기 위해 사용되었다. 이때 pipf..
원래 글: https://velog.io/@stopmin/DockerCompose-MongoDB 🤔 Docker Compose란 docker compose는 여러 개의 docker container를 모아서 관리하기 위한 툴이다. 웹 서비스는 일반적으로 프론트엔드 서버, 벡엔드 서버, 데이터베이스 서버로 구성되기 때문에 각 서버를 docker container로 연결하여 동작시키고 docker compose를 사용하여 해당 컨테이너들을 관리하는 것이다. 사용 방법 각각의 컨테이너의 Dockerfile를 작성한다(기존에 있는 이미지를 사용하는 경우는 불필요). docker-compose.yml를 작성하고, 각각 독립된 컨테이너의 실행 정의를 한다(경우에 따라는 구축 정의도 포함). "docker-compo..
원래 글: https://velog.io/@stopmin/SQLAlchemy ✏️ 정리 계기 저번에 CRUD,TODO 클론코딩하고 쓴 게시물에 보면 계속 import sqlalchemy하던데 저게 정확히 무슨 기능을 하는지 궁금했다. 그런데 당장에 정리하기에는 좀 버거움이 있고, 내용이 상당히 많은지라 따로 정리하면 좋을 것 같아서 이렇게 따로 정리하길 다짐했고 더 늦기 전에 지금 해둬야겠다고 생각했다! 🤔 ORM이 무엇인가? 이번 내용이 방대하게 느껴졌던 이유는 먼저 ORM이 무엇인지에 관해 알아야 했기 때문이다. ORM(Object Relational Mapping)이라 함은, 객체-관계 매핑이다. 객체 관계 mapping? 데이터베이스 내의 리소스(테이블)들을 객체화하여, 각 DBMS(MySQL, ..
https://velog.io/@stopmin/FastAPI-CloneCoding-updatedelete 목표 이번에 나온 미션은 FastAPI를 활용해서 to-do페이지를 만드는 것이었고, 학습의 용이성을 위해서 클론 코딩을 통해서 학습 방법을 제안해주셔서 제시해준 유튜브 링크를 통해 학습을 하는게 목표였다. 😵 매우 큰 실수를 하였다 보내주신 유튜브 계정에 많은 자료들이 있길래 구경을 하다가보니 헷갈려서 to-do가 아니라 CRUD를 만들어버렸다. 물론 이걸 나중에 알아채고 급하게 to-do도 해보았고.. 결국에 어쩌면 잘못 확인한 일이 되려 이익을 준 것 같기도 하다. 왜냐하면, CRUD페이지는 곧 Create, Read, Update and Delete기능을 구현하는 페이지로 어차피 to-do페이..
지미닝
'Backend/FastAPI' 카테고리의 글 목록