웹 프레임워크 FastAPI란?

이선재·2022년 10월 3일
1

fastapi

목록 보기
1/2

웹 프레임워크에 대해 처음 공부를 시작하는 코린이의 Why-일지

FastAPI

공식문서를 보게되면 FastAPI는 표준 파이썬 힌트를 기반으로 파이썬 3.7+로 API를 구축하기 위한 현대적이고 빠른(고성능) 웹 프레임워크이다.

그렇다면, 프레임워크란 무엇인가?

프레임워크란 목적에 따라 구조를 짜놓은 이미 프로그래밍 규칙이 정해져 있는 개발 방식이다. 클래스와 라이브러리가 합쳐있는 구조라고 생각하면 된다. 우리는 클래스와 라이브러리 등 재료를 찾지않고 이미 구성된 밀키트와 같은 프레임워크로 맛있게 조리 개발을 하면 되는 것이다.

그럼, 웹 프레임워크는?

웹 페이지를 개발하는 과정에서 겪는 어려움을 줄여주는 SW도구이다.
통상 데이터베이스 연동, 템플릿 형태의 표준, 세션 관리, 코드 재사용 등의 기능을 포함하고 있다.(출처wiki)

즉, 웹 프레임워크 FastAPI는?

FastAPI는 웹페이지를 개발하는 과정에서 어려움을 줄여주는 SW도구인 것이다!

직관적 장점

  1. 빠르다.
  2. 학습이 쉽다.
  3. 코딩하기 쉽다.
  4. 버그가 적다.
  5. 바로 운영 적용이 가능하다.
  6. OpenAPI 문서가 자동 생성된다.
  7. ASGI 사용으로 비동기 처리가 가능하다. 밑에서 설명

공식문서 속 장점

- 빠름: (Starlette과 Pydantic 덕분에) NodeJS 및 Go와 대등할 정도로 매우 높은 성능. 사용 가능한 가장 빠른 파이썬 프레임워크 중 하나. 현재
- 빠른 코드 작성: 약 200%에서 300%까지 기능 개발 속도 증가.
- 적은 버그: 개발자에 의한 에러 약 40% 감소.
- 직관적: 훌륭한 편집기 지원. 모든 곳에서 자동완성. 적은 디버깅 시간.
- 쉬움: 쉽게 사용하고 배우도록 설계. 적은 문서 읽기 시간.
- 짧음: 코드 중복 최소화. 각 매개변수 선언의 여러 기능. 적은 버그.
- 견고함: 준비된 프로덕션 용 코드를 얻으십시오. 자동 대화형 문서와 함께.
- 표준 기반: API에 대한 (완전히 호환되는) 개방형 표준 기반: OpenAPI (이전에 Swagger로 알려졌던) 및 JSON 스키마.

ASGI란?

Web Application을 서버에서 사용하려면 가장 중요한 middleware가 필요하다. 중간에서 서버로 가는 동적인 요청을 처리해주는 middleware가 ASGI이다.

ASGI를 알려면 CGI, WSGI를 알아야하는데 
CGI는 Common Gateway Interface의 약어로 middleware interface이다.
CGI는 요청이 들어올 때마다 애플리케이션 프로세스를 다시 실행해주어야 한다. 대량 요청이 들어오면 큰일이다. 그래서 만들어진 것이

WSGI(Web Server Gateway Interface)이다. WSGI에서는 Callable object, 함수나 객체로 요청을 처리하기 때문에 CGI의 단점을 보완할 수 있다. 하지만 길게 연결되어야 한다는 단점이 있었기에 
ASGI는 WSGI에 대한 호환성을 가지면서 비동기적인 요청을 처리할 수 있게 만들어진 인터페이스이다.

**callable이란 호출가능한 클래스, 인스턴스, 함수, 매서드 등 객체를 의미한다.
profile
지적을 환영하는 인프라 냠냠을 시도하는 취준생

1개의 댓글

comment-user-thumbnail
2022년 10월 4일

FastAPI 붐은 온다..!

답글 달기