https://fastapi.tiangolo.com

  • Learn - Concurrency and async / await :
    • Modern versions of Python have support for "asynchronous code" using something called "coroutines", 
    • with 'async' and 'await' syntax.
      • Concurrent 햄버거 Vs Parallel 햄버거
      • "async def my_func():" 및 "result = await third_party_lib()" 지원.
      • Coroutine = 시작되고, 내부 대기시~ 일시중지 되며... 어느시점이 끝이 나는 함수. (고랭의 Goroutines 비슷)
    • api path operation
      • 그냥 "def" 를 쓰면, (직접 호출 안하고~) 외부 thread-pool 에서 실행이 됨.
      • fastAPI 에서는 특별히 I/O Block 없으면... 그냥 "async def" 써라?
    • Dependencies 및 Sub-dependencies
      • 마찬가지로, "def" 를 쓰면, 외부 thread-pool 에서 실행 되는데... 써브는 ...
    • 다른 유틸 함수 = ???
  • Learn - User Guide :
    • SQL (Relational) Databases
      • SQLModel = SQLAlchemy 및 Pydantic 기반으로 FastAPI 에 간단히 적용 할 수 있도록 구현됨.
    • Big 프로젝트 구조 
      • ...
  • Learn - Advanced User Guide :
    • Dependencies
    • Security
    • Middleware
    • Behind a Proxy
    • Jinja2Templates
    • Lifespan Events (startup & shutdown)
      • 어플리케이션의 "starts up 이전" 및 "shutting down 이후" 에 동작할 로직을 관리.
      • 예) 데이터베이스 풀, 머신러닝 모델, ....
      • from contextlib import asynccontextmanager
        
        @asynccontextmanager
        async def lifespan(app: FastAPI):
            my_logger.info(f"startup !!!")
            yield
            my_logger.info(f"shutdown !!!")
      • @app.on_event("startup") 및 @app.on_event("shutdown") 식으로 각각 함수를 정의하...
      • 서로다른 분리된 함수라... 관리 해야할 리소르를 어떻게 공유할지가 난감 해질수 있어~ deprecated 된거 같음!
    • Settings and Environment Variables
    • WebSockets
  • Learn - Recipes :
    • ...

 

https://github.com/fastapi/full-stack-fastapi-template

  • ...

 

https://github.com/fastapi/fastapi-cli

  • ...

 

-끝-

'랭귀지&프레임웤' 카테고리의 다른 글

python ruff & uv  (0) 2022.10.26
Python DI  (0) 2022.09.04
FastAPI  (0) 2022.06.15
"certificate verify failed: unable to get local issuer certificate"  (0) 2021.05.30
Python 이란?  (0) 2019.11.06

+ Recent posts