본문 바로가기

비동기2

FastAPI 이론 목차 FastAPI란 FastAPI는 빠른 웹 API를 구축하기 위한 Python 웹 프레임워크입니다. FastAPI는 ASGI(Asynchronous Server Gateway Interface) 규격에 따라 개발되었으므로, ASGI를 지원하는 웹 서버(Uvicorn, Hypercorn, Daphne 등)와 함께 사용될 수 있습니다. FastAPI 특징 비동기 프로그래밍 지원 FastAPI는 Python의 비동기 프로그래밍 기능을 지원합니다. 이는 효율적인 I/O 작업을 가능하게 하며, 더 많은 요청을 더 빠르게 처리할 수 있도록 해줍니다. 다른 웹 프레임워크인 Flask와 Django도 비동기 프로그래밍을 지원하기 위해 점차 발전하고 있지만, FastAPI는 처음부터 비동기를 전면에 내세우며 설계된것.. 2023. 12. 19.
Bound | Blocking(Non-Blocking) | Multiprocessing vs Multithreading vs Asynchronous Programming 목차 Bound "Bound"는 프로그램이나 시스템의 성능이 특정 자원에 의해 제한되는 상태를 의미합니다. 대표적으로 CPU Bound와 IO Bound가 존재합니다. CPU Bound CPU Bound는 프로그램이나 시스템의 성능이 CPU의 처리(계산) 능력에 의해 제한되는 경우를 말합니다. CPU Bound 상황에서는 CPU가 연산 작업에 바쁘게 동작하며, 프로그램의 속도는 CPU의 처리 속도에 의해 결정됩니다. CPU Bound 예시 수학적 계산 : 대규모 수학적 연산, 복잡한 수학 문제 해결 등 데이터 압축 : 파일이나 데이터의 압축 및 압축 해제 과정은 CPU를 집중적으로 사용합니다. CPU Bound 상황에서는 더 강력한 CPU를 사용하거나, 병렬처리를 통해 성능을 향상할 수 있습니다. IO .. 2023. 12. 15.