
라우팅? 클라이언트가 서버로 보내는 HTTP 요청을 처리하는 프로세스... HTTP 요청이 지정한 라우트로 전송되면 미리 정의된 로직이 해당 요청을 처리해서 반환함 APIRouter 클래스를 사용한 라우팅APIRouter 클래스 : 다중 라우팅을 위한 경로 처리 클래스... FastAPI 패키지에 포함APIRouter 클래스 임포트 후 인스턴스 생성 가능include_router : 하나의 APIRouter만 인자로 받는 함수# api.pyfrom fastapi import FastAPI, APIRouterfrom todo import todo_routerapp = FastAPI()router = APIRouter()# app@app.get("/")async def welcome() -> dict: ..

FastAPI란? Python으로 작성된 빠르고 현대적인 웹 API 서버를 만들기 위한 비동기 기반 웹 프레임워크핵심 특징 : 빠름 | 자동 문서화(스웨거 자동 생성) | 타입 기반 | 간단한 코드 | 비동기 지원 가상환경 활성화/비활성화# 가상환경을 설치할 폴더명을 인수로 지정python3 -m venv venv# 활성화venv\Scripts\activate# 비활성화deactivate pip를 사용한 패키지 관리# 패키지 목록 표시python -m pip list# fastapi 설치pip install fastapi# 패키지 제거pip uninstall fastapi# 현재 프로젝트에서 설치된 모든 패키지 목록을 파일로 저장pip freeze > requirements.txt# 필요한 패키지 일괄 ..

실수로 다른 브랜치에서 작업 후원래 커밋하려던 브랜치로 이동하고 싶을 때현재 브랜치에서 수정한 파일들이 main 브랜치에 있는 내용과 충돌할 수 있어서 Git이 브랜치 전환을 막고 있다. 해결방안) 현재 상태 임시저장 → 브랜치 변경 → main 브랜치에서 다시 변경사항 적용git stashgit checkout [브랜치명]git stash pop ... 을 했더니 파일 충돌이 일어났다.. 그래서 또 다른 해결방안1. 지금 현 상태 임시저장(추가/변경된 파일만 임시저장됨)1-2. (만약 나처럼 잘못 적용 됐다면 stash가 적용됐다면) 리셋하기2. 원래 브랜치에서 코드들 내려받기3. 임시저장한 거 불러오기git stashgit reset --hardgit pull origin [브랜치명]git stas..

CORSCORS : Cross-Origin Resource Sharing | 서로 다른 주소에 있는 서버와 웹 사이트들이 통신할 때 이를 허용하는 개념GitHub - expressjs/cors: Node.js CORS middleware프론트엔드: http://localhost:3000 | 백엔드(API): http://localhost:5000다른 출처이기 때문에, 브라우저는 자동으로 CORS 정책 검사 시행 ~> 서버가 허용하지 않으면 요청 실패 및 브라우저 콘솔에 CORS 오류가 뜸CORS 헤더프론트엔드는 서버에 실제 요청을 전송하기 전, 동일한 Path에 옵션 메소드로 요청... 이 요청은 아무런 동작 안하고 CORS 등 정보를 미리 알기 위한 Preflight 요청임Preflight Reques..