본문 바로가기

Backend/Python26

[Python] 자주 발생하는 에러 5가지와 해결 방법 파이썬을 사용하다 보면 누구나 한 번쯤은 마주치게 되는 에러들이 있습니다.이번 글에서는 파이썬 개발 시 가장 자주 발생하는 에러 5가지와 그 해결 방법을 실제 코드 예시와 함께 정리해보겠습니다. 1. IndexError: list index out of range리스트의 인덱스 범위를 벗어날 때 발생하는 에러입니다.# 에러 발생 코드numbers = [1, 2, 3, 4, 5]print(numbers[10]) # IndexError: list index out of range 해결 방법방법 1: 인덱스 범위 확인numbers = [1, 2, 3, 4, 5]index = 10if index 방법 2: try-except 사용numbers = [1, 2, 3, 4, 5]try: print(number.. 2025. 6. 9.
[Python] Requests 패키지 요청 별 활용 방법 Python의 requests 라이브러리는 HTTP 요청을 보낼 때 데이터를 전달하기 위해 json, data, params 의 옵션이 존재합니다. 이들은 각각 사용하는 목적과 방식이 다릅니다.  1. params: URL 쿼리 문자열에 데이터를 추가 사용 목적: GET 요청이나 URL에 데이터를 추가할 때 사용됩니다.전송 방식: 쿼리 문자열로 데이터를 URL에 포함합니다.요청 예시import requestsurl = "https://example.com/api"params = {"key1": "value1", "key2": "value2"}response = requests.get(url, params=params)print(response.url) 출력 예시https://example.com/api?.. 2025. 1. 23.
[Python] Supabase 연결 오류 Supabase 프로젝트 생성, 데이터를 csv로 업로드 한 후python으로 조회하기 위해 sqlalchemy 와 관련 패키지를 설치했다.pip install sqlalchemy psycopg2-binary .env 파일에 DB 정보를 입력 후 데이터 조회를 시도했는데from dotenv import load_dotenvfrom sqlalchemy import create_enginefrom sqlalchemy.orm import sessionmaker, declarative_baseimport osimport psycopg2, tracebackload_dotenv()user = os.environ["user"]password = os.environ["password"]host = os.environ[.. 2024. 12. 31.
[Python] 날짜 시간대 변경하기 1. 문제프론트엔드에서 날짜를 선택하고 (단일, 범위 날짜 선택 가능)백엔드에서 날짜에 맞는 데이터를 찾아서 보내주려고 하는데, 둘이 날짜가 맞지 않았다.프론트엔드에서 보내는 날짜를 확인 해 보니, 로컬 시간대와 일치했지만백엔드에서는 UTC로 변환하여 처리하고 있던게 문제인 것으로 확인했다. 2. 시간대 변환 코드from datetime import datetimeimport pytz# 한국 표준시 설정kst = pytz.timezone('Asia/Seoul')# ISO 8601 형식의 UTC 데이터utc_date = "2024-12-07T00:00:00Z"# UTC 데이터를 KST로 변환dt = datetime.fromisoformat(utc_date.replace("Z", "+00:00")).asti.. 2024. 12. 9.
[Python] 비트코인 자동매매 - 비동기 요청하기 1. 비동기 요청의 필요성업비트 거래소에서 원화로 거래할 수 있는 코인을 대상으로 데이터를 받아서각종 지표를 추가하고, 머신러닝을 진행한 후 예측 데이터들 중 적절하다고 판단되는 것들을 선별하여 투자를 진행한다.이 계산과정이 약 26 ~ 30초 가량 소요되는데, 실제 환경이라면 이 정도 시간은 기다릴 수 있었다.하지만, 모델 별 성과 측정을 위한 테스트 환경이라면 여러 일을 계산해야 하기 때문에 상당한 시간이 소요된다. 비동기 요청이라고 해서 요청 값을 더 빨리 받을 수 있는건 아니다.비동기 요청의 강점은 요청 건수가 다수일 때, 앞의 요청의 응답을 기다리지 않고 그 다음 요청을 진행하며앞의 요청에 대한 응답이 돌아오면, 이후 작업을 진행하는 방식이다. 2. 비동기 요청 예시동기적 요청 : 요청 1 ->.. 2024. 6. 18.
[FastAPI] SQL Alchemy 연결 오류 해결 1. DB 연결 주소 수정 필요기존 프로젝트는 AWS RDS MySQL로 연결해서 구현하였으나, 프리티어 기간이 종료되었다.비용이 많이 발생하지 않는다면 RDS를 종료하지 않고 유지하려고 했으나, 개인 프로젝트라서 데이터는 그다지 존재하지 않는데유지 비용이 너무 많이 들어서 프로젝트와 RDS 모두 종료하였다.프로젝트가 있는 EC2는 다른 프로그램이 동작중이라서 비용은 계속 나갔는데RDS 유지 비용 때문에 프로젝트를 내려 둔 것이 아깝다고 생각되어서 무료 DB를 사용해서 다시 살려두기로 생각했다.그래서 찾은 것이 supabase, postgreSQL 다. 2. 연결 DB 수정을 위한 초기 작업프로젝트에서 DB랑 연결하는 방식은 SQL Alchemy로 되어있고, 같은 관계형 DB로 이동하는 것이기 때문에연결.. 2024. 6. 5.