반응형

Python/Utils 59

파이썬 재시도 로직 모듈 tenacity 사용 예제

안녕하세요. 이번 글에서는 Python에서 api 호출 등의 과정에서재시도를 진행할 때 유용한 모듈인 tenacity에 대하여간단한 사용 예제를 통하여 사용법을 살펴보도록 하겠습니다. 예시 코드 스니펫은 다음과 같습니다.import aiohttpfrom tenacity import retry, stop_after_attempt, wait_random_exponential# 미설치 시 !pip install tenacity@retry( stop=stop_after_attempt(4), wait=wait_random_exponential(multiplier=1, max=7), retry_error_callback=lambda retry_state: {"status": "fallback"})a..

Python/Utils 2025.06.28

파이썬 neptune.ai 로깅 세팅 방법 정리

안녕하세요.이번 시간에서는 Python에서 머신러닝 모델 학습 시 매우 유용하게 모니터링이 가능한neptune.ai를 사용하기 위한 세팅 방법에 대해서 간략하게 정리해보도록 하겠습니다. Step 1. neptune.ai 프로젝트 생성1. 먼저, https://neptune.ai/ 사이트에 접속해주신 뒤, 회원가입/로그인을 진행해줍니다. 2. 이후, 우측 상단의 Create new project로 프로젝트를 하나 생성하고,좌측 하단의 원형 문양을 클릭하여 API 키를 확인해주신 뒤, 복사해줍니다. Step 2. neptune 로깅 설정3. 먼저, neptune 모듈 설치를 !pip install neptune 명령어로 진행해줍니다. 4. 발급 받은 API 토큰을 NEPTUNE_API_TOKEN 라는 ..

Python/Utils 2025.05.09

Poetry에서 파이썬 버전 변경 방법 정리

안녕하세요.이번 글에서는 poetry로 파이썬의 환경을 관리할 때,base가 되는 python 자체의 버전을 변경하는 방법을 정리해보도록 하겠습니다. 1. pyproject.toml 파일 확인먼저, 프로젝트 의존성 파일(pyproject.toml)에서 변경하려는 파이썬 버전을지원하고 있는지 확인해야 합니다.[tool.poetry.dependencies]python = ">=3.10, 위와 같은 조건에서 새로운 파이썬 버전을 지원하는지 확인하고, 지원하지 않는다면 파일을 수정해줍니다. 2. 파이썬 버전 변경 명령어만일, 변경하려는 파이썬의 버전이 3.12이고, python 3.12가 이미 설치된 상황이라면다음과 같은 명령어를 통하여 손쉽게 변경이 완료됩니다.poetry env use python3.12..

Python/Utils 2025.04.22

파이썬 Locust 모듈 사용법 예제(부하 테스트)

안녕하세요.이번 시간에는 Python으로 서버 부하 테스트를 아주 간단하게 진행해볼 수 있는 모듈인Locust의 활용 방법에 대하여 아주 간단한 코드 예제를 통해서 이해해보도록 하겠습니다.  FastAPI 서버 가정예를 들어, 다음과 같은 아주 간단한 메소드를 제공하는 fastapi 서버가 있는 상황을가정해보도록 하겠습니다.(참고로, node.js 등 파이썬으로 구현되지 않은 서버여도 Locust 사용에는 큰 상관이 없습니다.)from fastapi import FastAPIapp = FastAPI()@app.get("/items/{item_id}")async def read_item(item_id: int): return {"item_id": item_id, "value": "This is a t..

Python/Utils 2024.11.17

파이썬 sentry(오류 모니터링 툴) 연결 방법 정리

안녕하세요.이번 시간에는 Python에서 예외 모니터링 툴로 널리 사용되는 sentry를연결하는 방법을 간략하게 정리해보도록 하겠습니다.  센트리 프로젝트 생성1. sentry.io 사이트에 접속합니다. 2. 로그인(또는 회원 가입) 후, 프로젝트를 생성합니다. 여기서 프로젝트에서 사용하는 언어를 고를 때,python 뿐만 아니라 fastapi, flask 등 프레임워크 단위로도 존재하니 참고하세요. 3. 만든 프로젝트에 대해서 설정(톱니바퀴 모양 버튼 클릭)에 들어가줍니다. 4. 여기서 좌측의 Client Keys (DSN) 메뉴 탭을 보시면 상단에 DSN이 있으므로,이 값을 잘 복사하여 가져옵니다. 여기까지 진행되었다면 파이썬 프로그램을 sentry 프로젝트에 연결하기 위한웹 사이트에서의 기본적인 준..

Python/Utils 2024.10.26

파이썬 디렉토리 관리 모듈 shutil 함수 정리

안녕하세요. Python으로 파일 및 디렉토리에 대한 조작이 필요한 경우,os 모듈로도 작업이 가능하지만 이번 글에서는 해당 작업에 특화된또 다른 모듈인 shutil 모듈에 대하여 간략하게 주요 함수들을 정리해 보겠습니다.참고로, shutil 모듈은 파이썬 표준 라이브러리이므로, 별도의 설치가 필요하지 않습니다.  복사 관련 함수: copy, copy2, copytree1. copy먼저 copy 함수는 파일을 복사할 수 있는 기본적인 shutil의 함수입니다.이 함수는 파일의 수정 시간 등의 메타데이터는 복사하지 않고,오직 파일의 내용만 복사하는 특징을 가지고 있습니다. 사용 방법 코드 예시는 다음과 같습니다.import shutil# 'source.txt'를 현재 디렉토리에 'destination.tx..

Python/Utils 2024.10.14

파이썬으로 쿠버네티스 리소스 생성 코드 예제

Python에서 k8s의 리소스를 원격으로 생성하는 것이 가능합니다.이 글에서는 kubernetes 모듈을 활용하여 yaml 파일로 부터리소스를 생성하는 방법을 간략하게 소개해보도록 하겠습니다.  사전 작업먼저, kubernetes 모듈과 yaml 파일을 다루기 위한 pyyaml 모듈을 설치해주어야 합니다.pip install kubernetes pyyaml 또한, 파이썬 코드로 리소스 원격 생성을 진행하기 위해서는kubectl 명령어를 터미널 내에서 사용 가능하도록 config 설정이 되어있어야 합니다.  코드 예제다음은 리소스에 해당하는 yaml 파일을 이용하여 pod를 생성하는 코드 스니펫 예시입니다.from kubernetes import client, config, utils# kubernete..

Python/Utils 2024.09.20

파이썬 pdb 디버거 사용 방법 정리

Python에서 디버깅을 쉽게 진행할 수 있는 디버거인 pdb 모듈의 사용 방법을간략하게 정리해보도록 하겠습니다.  pdb 디버거 선언 방법 및 예제먼저, pdb 모듈을 임포트해줍니다.(별도의 설치가 필요하지 않은 내장 모듈입니다.)import pdb 디버거 작동을 원하는 부분에 다음 코드를 입력해주시면 됩니다.pdb.set_trace() 실제 코드 내에서 사용한 예제는 다음과 같습니다.def my_function(): foo = 3 bar = 5 pdb.set_trace() # 해당 위치에서 디버거 작동 return foo + barmy_function() 위 예제에서 my_function() 호출 시 디버거 작동 부분에서 코드가 걸리면디버거가 시작되고, 해당 위치 내에서 선언된 ..

Python/Utils 2024.08.08

파이썬 alembic으로 데이터베이스 테이블 생성 예제

Python 코드 내에서 정의한 스키마의 SQL 테이블을 자동으로 마이그레이션하도록도와주는 alembic의 사용 방법 예제를 간략하게 정리해보도록 하겠습니다.  SQLAlchemy 모델 정의먼저, sqlalchemy를 활용하여 원하는 테이블의 스키마를 정의해야 합니다. 다음과 같은 간단한 스키마의 테이블을 가정해보도록 하겠습니다.파일 이름은 models.py를 가정으로 하며, DB url까지 해당 파일에 명시해줍니다.해당 스키마로 생성할 테이블 이름은 'users'로 가정하겠습니다.# models.pyfrom sqlalchemy import Column, Integer, String, create_enginefrom sqlalchemy.ext.declarative import declarative_bas..

Python/Utils 2024.08.04

파이썬 os.environ vs os.getenv 함수 비교

Python에서 환경 변수를 다루기 위한 함수인 os.environ과 os.getenv에 대하여사용 방법과 용도를 비교해보도록 하겠습니다.  os.environos.environ은 환경 변수 목록들의 딕셔너리 객체처럼 취급하는 역할을 합니다.즉, [ ] 괄호로 환경 변수 정보를 가져오며, 읽기 / 쓰기 / 삭제 등의 역할을 모두 지원합니다.(선언되지 않은 환경 변수에 대해서는 읽기 시도 시 KeyError가 발생합니다.) 사용 방법의 코드 예시는 다음과 같습니다.import os# 읽기, 선언되지 않은 환경 변수라면 KeyError 발생value = os.environ['VARIABLE_NAME']# 쓰기, 환경 변수 선언os.environ['VARIABLE_NAME'] = 'value'# 삭제, 환경 ..

Python/Utils 2024.07.25
반응형