본문 바로가기

전체 글37

Middleware 커스텀해서 사용하기 from fastapi import FastAPIfrom middlewares import CustomMiddlewareapp = FastAPI()app.add_middleware(CustomMiddleware) # 미들웨어 추가middlewares.pyfrom starlette.types import ASGIApp, Receive, Scope, Sendclass CustomMiddleware: def __init__(self, app: ASGIApp) -> None: self.app = app async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: # do something await.. 2024. 5. 3.
Github Action & 도커 허브에 이미지 전송 name: action nameon: push: branches: - mainjobs: build: runs-on: ubuntu-latest steps: - name: Login to Dockerhub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - uses: actions/checkout@v3 - run: docker build -t ${{ secrets.DOCKER_USERNAME }}/server-test -f ./server.. 2024. 5. 1.
FK (외래키)에 대해서 끄적끄적... 요즘도 많지만 SI에 외주를 맡겨 만들어진 서비스를 보면, FK가 걸려 있지 않은 것을 볼 수 있다.많은 회사를 겪지 않은 2년 차 개발자이지만, 두 곳에서 다 동일한 현상을 볼 수 있었다.두 번째 회사로 이직하기 전, 첫 번째 회사에서의 경험과 인프런에서 JPA를 다루는 많은 강의와 블로그들을 통해 FK를 거는 것이 당연하고 이렇게 해야 개발자가 편하고 유지보수하기 좋아! 라고 생각했다. 다른 글에도 있지만, 제미니의 개발실무 채널에서 다룬 영상을 보고 과거를 다시 생각해보기도 했다.FK를 걸지 않았을 때, 분명한 장점도 있다.SI에서 좋지 못하게 만든 예시에 너무 절여저서 그랬던 거 같기도 하다.예를 들면, nullable한 FK 컬럼에 0을 기본 값으로 설정하는 부분이 있다.생각해보면 요즘 null.. 2024. 4. 27.
Docker-compose, FastAPI & MySQL 폴더 구조..server/ ... Dockerfilemysql/ Dockerfile my.cnf sqls/ initialize.sql mysql_data/ # 컨테이너 생성 과정에서 생성.docker-compose.yamldocker-compose.yamlversion: '3'services: backend: build: dockerfile: Dockerfile context: ./server ports: - '8000:8000' volumes: - ./server:/src environment: ENVIRONMENT: LOCAL depends_on: - mysql mysql:.. 2024. 4. 24.