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 프로젝트 구조
- ...
- SQL (Relational) Databases
- 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 |