(Python) FastAPI MVC(1)

2023. 1. 20. 01:38컴퓨터 공학

반응형

이 문서는 Fastpi-mvc를 번역한 글입니다.

 

 

Why fastAPI-mvc?

 

fastapi-mvc란?

fastapi-mvc는 fastapi 웹 프레임워크의 개발자 생산성 툴입니다.

모든 개발자가 fast-api를 시작할 때 필요한 것을 바탕으로, fast-api 응용프로그램 개발을 더욱 쉽게 하기 위해서 만들어졌습니다.

fastapi-mvc는 적은 코드로 더 많은 것을 달성할 수 있습니다.

특정 작업을 시작하는 데 필요한 모든 것을 생성하여 개발을 더욱 쉽게 만들 수 있도록 설계된 "Generator"라는 여러 스크립트가 함께 제공됩니다.

 

fastapi-mvc는 독단적인 소프트웨어입니다. 일을 처리하는 최선의 방법이 있다고 가정하고, 그 방법을 장려하도록 설계되었지만

경우에 따라 대안을 방해하기도 합니다.

"fastapi-mvc"방식을 배운다면, 생산성이 크게 향상될 것입니다. 그러나 다른언어에서 비롯한 습관을 fastapi-mvc 개발 방식에 적용하려 하거나 다른 곳에서 배운 패턴을 사용하려 한다면 만족스럽지 못한 경험을 할 수 있습니다.

 

 

Motivation

FastAPI는 훌륭하고, 모던하며 빠른 웹 프레임워크 입니다. 하지만 실용적인 도구들이나 개발자를 위한 제네레이터(Generator)가 부족합니다. (예시: 새로운 프로젝트 구조를 만드는 것)

 

어떤 팟 캐스트에서 이런 문장을 들었습니다.(아마 Google의 쿠버네티스 팟캐스트 중 하나)

 

“The common denominator in excellent frameworks is that they got people working very quickly on what they’re trying to learn, experiment with, or use.”

 

"훌륭한 프레임워크의 공통점은 사람들이 배우고, 실험하고, 사용하면서 매우 빠르게 발전합니다."

 

좋은 예시는 바로 Ruby on Rails입니다. 성공을 빠르게 경험할 순 있지만, 성공은 단지 사용하고 의존하는 기본 기술을 배울 수 있는 문을 열어줄 뿐입니다.

 

FastAPI + fastAPI-mvc를 Ruby on Rails로 생각하세요. 그것이 최소한의 목표입니다.

 

 

Features

MVC 아키텍처 패턴을 사용하여 구현됐습니다.

 

fastapi-mvc로 생성된 프로젝트는 아직 FastAPI를 모르지만 MVC에 익숙한 개발자가 빠르게 익힐 수 있도록

MVC 아키텍처 패턴으로 구조화되어 있습니다.

 

WSGI + ASGI production server

 

WSGI를 마스터로 사용하고 ASGI를 함께 사용하면 순수 ASGI를 사용했을 때 보다 더 나은 결과를 얻을 수 있습니다.

 

  • 더 나은 퍼포먼스(초당 요청)
  • 다른 프로토콜에 대한 더 나은 지원
  • 더 넓은 구성
  • 리버스 프록시 사용으로 더 나은 지원

 

TBD

 

 

반응형