이것저것 개발노트
-
docker 이미지를 빌드한 WSL 환경에서 진행 01 Poetry를 통한 파이썬 환경 구축 FastAPI를 설치하기 전에 설치에 사용할 Poetry에 대해 알아보자. Poetry는 루비의 Bundler나 자바의 Maven과 같이 파이썬의 패키지 관리를 해 주는 도구이자, 패키지 간의 의존 관계를 해결해 준다.파이썬에서 가장 원시적인 패키지 관리 도구로 pip가 유명하지만, Popetry는 pip가 하지 못하는패키지 간 의존성 해결,lock 파일을 이용한 버전 고정, 파이썬의 가상 환경 관리 등더욱 기능적이고 현대적인 버전 관리를 수행할 수 있게 해준다. Poetry를 사용하는 이유 Poetry는 고도의 패키지 관리 기능을 제공하는데, 그 중 하나인 가상환경 관리 기능은 '환경을 제한하는 것'을 가..
[FastAPI] [Chapter 5] FastAPI 설치docker 이미지를 빌드한 WSL 환경에서 진행 01 Poetry를 통한 파이썬 환경 구축 FastAPI를 설치하기 전에 설치에 사용할 Poetry에 대해 알아보자. Poetry는 루비의 Bundler나 자바의 Maven과 같이 파이썬의 패키지 관리를 해 주는 도구이자, 패키지 간의 의존 관계를 해결해 준다.파이썬에서 가장 원시적인 패키지 관리 도구로 pip가 유명하지만, Popetry는 pip가 하지 못하는패키지 간 의존성 해결,lock 파일을 이용한 버전 고정, 파이썬의 가상 환경 관리 등더욱 기능적이고 현대적인 버전 관리를 수행할 수 있게 해준다. Poetry를 사용하는 이유 Poetry는 고도의 패키지 관리 기능을 제공하는데, 그 중 하나인 가상환경 관리 기능은 '환경을 제한하는 것'을 가..
2024.10.17 -
01 docker compose 관련 파일 생성 WSL로 VSCode에서 연결하여 리눅스환경에서 실습을 수행한다. docker compose 관련 파일을 생성해 보자. 먼저 적당한 위치에 프로젝트 디렉터리를 생성하고, 해당 디렉터리에 예제 두개의 파일을 준비한다. docker-compose.yamlservices: demo-app: build: . volumes: - .dockervenv:/src/.venv - .:/src ports: - 8000:8000 # 호스트 머신의 8000번 포트를 docker의 8000번 포트에 연결 environment: - WATCHFILES_FORCE_POLLIN..
[FastAPI] [Chapter 4] Docker 이미지 만들기01 docker compose 관련 파일 생성 WSL로 VSCode에서 연결하여 리눅스환경에서 실습을 수행한다. docker compose 관련 파일을 생성해 보자. 먼저 적당한 위치에 프로젝트 디렉터리를 생성하고, 해당 디렉터리에 예제 두개의 파일을 준비한다. docker-compose.yamlservices: demo-app: build: . volumes: - .dockervenv:/src/.venv - .:/src ports: - 8000:8000 # 호스트 머신의 8000번 포트를 docker의 8000번 포트에 연결 environment: - WATCHFILES_FORCE_POLLIN..
2024.10.17 -
docker compose를 통해 파이썬과 FastAPI를 이용할 것이다. Docker는 컨테이너 서비스를 제공하는 애플리케이션이다.컨테이너란 애플리케이션 코드와 필요한 라이브러리, 종속 항목 등을 함께 패키징하여 어디서나 실행 가능하도록 만든 소프트웨어 실행 단위이다.실행에 필요한 모든 파일을 포함하며, 격리된 실행 환경에서 애플리케이션을 실행하는 기술로, 개발, 테스트, 프로덕션 등 다양한 환경에서 쉽게 이동할 수 있도록 해준다. docker compose는 Docker가 제공하는 제품 중 하나로, 여러 개의 컨테이너를 한꺼번에 다룰 수 있게 해주는 도구이며, docker compose 명령을 실행하여 이용한다. Docker 내에 설치하는 이유는 다음과 같이 두 가지 이유가 있다.1. 환경의 차이를..
[FastAPI] [Chapter 3] Dockerdocker compose를 통해 파이썬과 FastAPI를 이용할 것이다. Docker는 컨테이너 서비스를 제공하는 애플리케이션이다.컨테이너란 애플리케이션 코드와 필요한 라이브러리, 종속 항목 등을 함께 패키징하여 어디서나 실행 가능하도록 만든 소프트웨어 실행 단위이다.실행에 필요한 모든 파일을 포함하며, 격리된 실행 환경에서 애플리케이션을 실행하는 기술로, 개발, 테스트, 프로덕션 등 다양한 환경에서 쉽게 이동할 수 있도록 해준다. docker compose는 Docker가 제공하는 제품 중 하나로, 여러 개의 컨테이너를 한꺼번에 다룰 수 있게 해주는 도구이며, docker compose 명령을 실행하여 이용한다. Docker 내에 설치하는 이유는 다음과 같이 두 가지 이유가 있다.1. 환경의 차이를..
2024.10.17 -
FastAPI에 자주 등장하는 데코레이터에 대해 알아보자 FastAPI를 사용하다 보면 데코레이터 (decorator)라는 구문이 등장한다. 데코레이터는 함수나 메서드의 기능을 간단하게 수정하거나 확장할 수 있게 해 주는 고급 기능이다. 함수나 클래스, 매서드 앞에 @로 시작하는 문장을 데코레이터라고 한다.파이썬에서 일반적으로 많이 사용되는 데코레이터의 예로, 클래스 내 메서드를 정적 메서드로 바꾸는 @staticmethod와 클래스 메서드로 바꾸는 @classmethod가 잇다. 그렇다면 데코레이터는 무엇일까? 사실 데코레이터는 그 자체가 일정의 함수나 클래스이다. FastAPI로 대표되는 프레임워크에서 수많은 데코레이터를 미리 정의하고 있으므로, 프레임워크 사용자 (웹 앱 개발자)는 데코레이터를 ..
[FastAPI] [Chapter 2] 데코레이터FastAPI에 자주 등장하는 데코레이터에 대해 알아보자 FastAPI를 사용하다 보면 데코레이터 (decorator)라는 구문이 등장한다. 데코레이터는 함수나 메서드의 기능을 간단하게 수정하거나 확장할 수 있게 해 주는 고급 기능이다. 함수나 클래스, 매서드 앞에 @로 시작하는 문장을 데코레이터라고 한다.파이썬에서 일반적으로 많이 사용되는 데코레이터의 예로, 클래스 내 메서드를 정적 메서드로 바꾸는 @staticmethod와 클래스 메서드로 바꾸는 @classmethod가 잇다. 그렇다면 데코레이터는 무엇일까? 사실 데코레이터는 그 자체가 일정의 함수나 클래스이다. FastAPI로 대표되는 프레임워크에서 수많은 데코레이터를 미리 정의하고 있으므로, 프레임워크 사용자 (웹 앱 개발자)는 데코레이터를 ..
2024.10.17 -
마이크로프레임워크: 핵심적인 기능만을 가지고 있는 작고 강력한 웹 애플리케이션 프레임워크 풀 스택 프레임워크와 대조 Web API를 제공하는데 더 집중한 프레임워크 SPA (Single Page Application) 또는 Web API 또는 Batch에서 호출하여 처리하는 것이 특기 FastAPI의 특징 - 요청(request) 및 응답 (response) 스키마 정의에 따라 Swagger UI 문서를 자동으로 생성 - 위 스키마를 명시적으로 정의함으로써 타입 안전 (type safety) 개발이 가능- ASGI (Asynchronous Server Gateway Interface)를 지원하므로 비동기 처리가 가능해 속도가 빠름 ASGI: 파이썬에서 비동기 웹 애플리케이션을 위한 표준 인터페이스..
[FastAPI] [Chapter 1] FastAPI 개요마이크로프레임워크: 핵심적인 기능만을 가지고 있는 작고 강력한 웹 애플리케이션 프레임워크 풀 스택 프레임워크와 대조 Web API를 제공하는데 더 집중한 프레임워크 SPA (Single Page Application) 또는 Web API 또는 Batch에서 호출하여 처리하는 것이 특기 FastAPI의 특징 - 요청(request) 및 응답 (response) 스키마 정의에 따라 Swagger UI 문서를 자동으로 생성 - 위 스키마를 명시적으로 정의함으로써 타입 안전 (type safety) 개발이 가능- ASGI (Asynchronous Server Gateway Interface)를 지원하므로 비동기 처리가 가능해 속도가 빠름 ASGI: 파이썬에서 비동기 웹 애플리케이션을 위한 표준 인터페이스..
2024.10.17 -
ValueError: Already found path for node 'page_element_extractor_node'.For multiple edges, use StateGraph with an annotated state key. LangGraph에서 add_edge로 node를 연결하다가 아래와 같은 오류가 발생하였다. ValueError: Already found path for node 'page_element_extractor_node'.For multiple edges, use StateGraph with an annotated state key. 아무리 검색하고 찾아봐도 답이 보이지 않았지만 2시간 만에 문제를 해결하게 되었다. 현재 이렇게 만들어야하는데 병렬 노드 실행을 위한 ..
LangGraph multiple edges / For multiple edges, use StateGraph with an annotated state key.ValueError: Already found path for node 'page_element_extractor_node'.For multiple edges, use StateGraph with an annotated state key. LangGraph에서 add_edge로 node를 연결하다가 아래와 같은 오류가 발생하였다. ValueError: Already found path for node 'page_element_extractor_node'.For multiple edges, use StateGraph with an annotated state key. 아무리 검색하고 찾아봐도 답이 보이지 않았지만 2시간 만에 문제를 해결하게 되었다. 현재 이렇게 만들어야하는데 병렬 노드 실행을 위한 ..
2024.10.04