2024/03 35

[FastAPI] FastAPI 요청에 대한 응답은 JSON으로 변환, JSON이란?

JSON이란? JSON (JavaScript Object Notation)은 경량의 데이터 교환 형식으로, 인간이 읽고 쓰기 쉬울 뿐만 아니라 기계가 파싱하고 생성하기에도 용이합니다. JSON은 두 개의 구조를 기반으로 합니다. 이름/값 쌍의 집합 (객체): 다양한 언어에서는 객체(object), 레코드(record), 구조체(struct), 딕셔너리(dictionary), 해시 테이블(hash table), 키드 목록(keyed list), 또는 연관 배열(associative array)로 구현됩니다. JSON에서는 객체를 중괄호로 묶은 일련의 이름/값 쌍으로 표현합니다. 값의 정렬된 리스트 (배열): 대부분의 언어에서 배열(array), 벡터(vector), 리스트(list), 시퀀스(sequenc..

[FastAPI] FastAPI에 적용된 어노테이션(Annotation)이란?

FastAPI에 적용된 어노테이션(Annotation)이란? '어노테이션(Annotation)' 기능은 프로그래밍 언어에서 코드에 메타데이터를 추가하는 방법을 말합니다. 이 메타데이터는 실행 시간(runtime)이나 컴파일 시간(compile-time)에 다양한 용도로 사용될 수 있으며, 코드의 가독성을 높이고, 오류를 줄이며, 반복을 감소시키는 등의 이점을 제공합니다. Python에서 타입 힌트(type hints) Python에서는 타입 힌트(type hints)를 어노테이션의 한 형태로 사용합니다. 이는 함수의 매개변수나 반환 값에 예상되는 데이터 타입을 명시하는 데 사용됩니다. 이 정보는 IDE나 린터(linters), 그리고 런타임에 활용되지 않고, 주로 개발 단계에서 코드의 명확성을 높이고 버..

[FastAPI] 파이썬 라이브러리에서 Pydentic이란?

파이썬 라이브러리에서 Pydentic이란? Pydantic은 데이터 유효성 검사(validation)와 설정 관리(settings management)를 위한 Python 라이브러리입니다. Pydantic은 Python 3.6 이상의 타입 힌트(type hints)를 사용하여 데이터의 형태와 제약조건을 명시적으로 선언할 수 있게 해 주며, 데이터의 변환(conversion), 유효성 검사, 문서화(documentation)를 간소화합니다. Pydantic의 주요 특징 강력한 타입 힌트 기반의 유효성 검사: Pydantic은 Python의 타입 힌트를 활용하여 데이터 모델의 각 필드에 대한 타입과 제약조건을 정의합니다. 데이터가 모델에 로드될 때, Pydantic은 이 정의에 따라 자동으로 유효성을 검사하..

[FastAPI] 비동기 처리가 가능한 async 키워드

다음 함수를 설명해 주세요. 이미지의 async 키워드는 FastAPI를 사용한 비동기 함수의 정의에 사용되고 있습니다. async 키워드는 Python에서 비동기 프로그래밍을 가능하게 하는 문법적 요소로, 해당 함수가 'coroutine'이라고 불리는 특별한 유형의 함수임을 나타냅니다. FastAPI는 비동기 프로그래밍을 기본으로 하는 웹 프레임워크이며, async def로 정의된 함수들은 비동기 실행이 가능합니다. 이는 함수 내부에서 await 키워드를 사용하여 I/O 바운드 작업(예: 데이터베이스 조회, 네트워크 요청 등)이 완료될 때까지 기다리는 동안, 이벤트 루프가 다른 작업을 계속 처리할 수 있도록 합니다. 그 결과, 높은 동시성과 향상된 성능을 가진 애플리케이션을 만들 수 있습니다. 함수에 ..

[FastAPI] API란 무엇인가요?

API란? API (Application Programming Interface)는 소프트웨어 또는 애플리케이션 간에 정보를 교환하고 상호작용할 수 있도록 하는 규약 또는 명세입니다. API를 통해 개발자들은 다른 소프트웨어나 서비스의 기능을 자신의 애플리케이션에서 직접 사용할 수 있습니다. API 구성 요소 정의(Definitions): API는 함수나 메서드, 객체 등의 명세를 정의합니다. 이러한 정의들은 API를 사용하는 개발자가 어떤 기능을 사용할 수 있는지, 어떤 매개변수를 제공해야 하는지 등을 명확히 합니다. 프로토콜(Protocols): API는 데이터 교환을 위한 프로토콜을 사용합니다. 예를 들어, 웹 API는 주로 HTTP(S) 프로토콜을 사용하여 클라이언트와 서버 간의 통신을 합니다. ..