일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- home credit default risk
- Numpy #TIL #넘파이 기초
- 옵셔널태그
- 웹 크롤링
- 공부내용정리
- 머신러닝 #학습내용정리
- 작업 영역
- 크롬브라우저
- 스프링 입문
- GIT
- 데이터분석
- 기술블로그
- 김영한 #SOLID #객체지향
- 머신러닝 #회귀 #규제
- 개발자가 되기 위해 꼭 알아야 하는 IT용어
- 생성자 #자바 #기록남기기
- 캐글
- 클래스 #아이디
- 스프링부트
- C언어 #문자열변환 #정수형변환
- 컬럼수정
- 파이썬
- SafeUpdate
- 단축키정리
- SQL
- 커밋
- 개발공부
- 에러포스팅
- MVC #디자인패턴
- fastapi
- Today
- Total
데이터 분석가 몽구리
FastAPI 란? (FastAPI 장,단점) 본문
FastAPI를 이해하기 위해서는 웹 생태계의 발전과정에 대해 이해하고 있어야 합니다. 웹의 발전 과정은 1~4세대로 구분하여 이해할 수 있습니다.
1세대: 정적 웹 서비스 - HTML/CSS 로 만들어진 파일을 서버에 제공
2세대: 동적 웹 서비스 - CGI와 데이터베이스를 사용하여 사용자 요청에 따른 페이지를 동적으로 생성
3세대: MVC 프레임워크 - 모델(Model), 뷰(View), 컨트롤러(Controller)로 코드 구조화
4세대: API 중심 서비스 - 마이크로 서비스 아키텍처(MSA)를 통해 다양한 플랫폼 지원
마이크로 프레임워크의 특징
- 풀스택 프레임워크와 대비되는 개념으로, 필수 기능만 제공하여 서비스 경량화와 학습 곡선 감소
- 장점: 빠른 개발, 선택적 기능 사용, 높은 확장성, 쉬운 문제 해결
- Flask/FastAPI는 파이썬 라이브러리와 결합하여 파이썬 생태계의 강력한 기능 활용 가능
※ 풀스택 프레임워크는 프레임워크에 있는 모든 기능이 실행된다. 모든 기능이 포함되어 있기 때문에 다양한 기능을 사용할 수 있다는 장점이 있지만, 작은 기능만 사용하는 경우에는 효율성의 문제가 발생할 수 있음 (Ex. 항공모함이 모든 기능을 할 수 있는 것과 같음)
FastAPI란?
FastAPI는 Python을 위한 현대적인, 빠르고 성능이 좋은 웹 프레임워크로, 주로 API 개발에 사용됩니다. 이는 비동기 처리
를 강조하며, Starlette(비동기 프레임워크)와 Pydantic(데이터 검증 및 설정 라이브러리)에 기반을 두고 있습니다.
주요 특징
- 성능 중심: 비동기 프로그래밍을 통한 높은 처리 속도. 데이터베이스 쿼리, 서버 간 통신 I/O 작업이 많은 애플리케이션에 유리
- RESTful API 개발 용이: 보일러플레이트 코드 감소, 웹 서비스와 클라이트 간 데이터 교환 최적화
- 자동문서화 기능: API 작성 시 자동으로 문서 생성
- 유효성 검사: Pydantic을 통한 간편한 데이터 유효성 검사
FastAPI 기본코드
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, World"}
from fastapi import FastAPI
: FastAPI 클래스를 가져옴app = FastAPI()
: FastAPI 클래스를 생성@app.get("/")
: HTTP GET 요청의 경로 지정def read_root():
: GET 요청 처리 함수return {"message": "Hello, World"}
: JSON 형태의 응답 반환. FastAPI가 자동 변환
FastAPI 서버 실행 방법
FastAPI 서버를 실행하기 위해서는 uvicorn을 설치해야한다. uvicorn 설치는 pip install uvicorn
을 터미널에 입력하여 설치를 진행할 수 있다.
FastAPI코드를 main.py
에 저장한 후, 아래 명령어를 실행하여 애플리케이션을 실행합니다.
uvicorn main:app --reload
--reload는 개발 중 코드 변경 시 자동으로 서버 재시작합니다.
서버를 시작하게 되면 위의 사진과 같이 서버를 구동하게 되며, 나와있는 주소를 입력하면 해당 웹사이트로 이동할 수 있습니다.
이번 시간에는 FastAPI가 무엇이며, 어떤 특징을 가지고 있는지 알아봤습니다. FastAPI는 높은 성능과 더불어 AI 서비스를 활용하는 데에 많이 사용되고 있으며, FastAPI에 대한 수요도 점차 증가하고 있어 FastAPI를 먼저 배워보는 것도 추천드립니다.
다음 시간에는 FastAPI의 기본 문법에 대해 학습을 진행하도록 하겠습니다!