728x90
반응형

전체 글 140

[FastAPI / Gemini API] Google AI 서비스 503 UNAVAILABLE 과부하 예외 처리 및 백엔드 예비 엔진(Fallback) 구현

FastAPI 기반의 농가 수확량 및 AI 출하지 적기 예측 시스템에서 Google Gemini API 연동 단 중, 트래픽 순간 폭증으로 발생한 503 UNAVAILABLE 외부 서비스 과부하 에러를 감지하고, 서비스 중단(Downtime)을 방지하기 위해 로컬 백업 분석 엔진(Fallback Mechanism)을 도입해 무중단 서비스를 구축한 트러블슈팅을 기록합니다.1. 환경 (Environment)Backend: Python 3.10 / FastAPIAI Engine: Google Gemini API (gemini-2.5-flash)Database: MongoDB (PyMongo)Server Protocol: Uvicorn (ASGI)2. 문제 상황 (Problem)/farm/predict-harv..

ERROR 2026.08.06

[Next.js / TypeScript] TypeError: Cannot read properties of null (reading 'toFixed')

Next.js (App Router) 메인 페이지(src/app/page.tsx)에서 백엔드 API로부터 상품 목록을 받아와 렌더링하던 중, 특정 상품의 평점 데이터가 null로 반환되어 컴포넌트 렌더링 단계에서 500 Internal Server Error 및 TypeError가 발생한 문제를 안전 연산자(??)를 도입해 해결한 과정을 기록합니다.1. 환경 (Environment)Framework: Next.js (App Router / Turbopack)Language: TypeScriptFile: src/app/page.tsx2. 문제 상황 (Problem)개발 서버(npm run dev) 실행 후 메인 페이지(/) 접속 시, 아래와 같이 product.rating.toFixed(1) 호출 지점에서..

카테고리 없음 2026.08.05

[FastAPI / Pandas] KeyError 기반 데이터 스키마 불일치 해결 및 104만 건 유통 데이터 컬럼 1:1 매핑 트러블슈팅

FastAPI 백엔드에서 농산물 가격 예측 데이터셋을 기반으로 AI 출하 공지 문구를 생성하던 중, 실제 유통 데이터 CSV 파일의 컬럼 스키마와 코드상의 필드명이 일치하지 않아 발생한 KeyError를 해결하고, 104만 건의 대용량 데이터 전처리 로직을 안전하게 보완한 과정을 기록합니다.1. 환경 (Environment)Backend: Python 3.10 / FastAPIData Processing Engine: PandasData Source: 한국농수산식품유통공사(aT) 품목별 유통 가격 조사 데이터셋 (약 104만 행)AI Engine: Google Gemini Pro (LLM)2. 문제 상황 (Problem)기존 코드는 가상의 예측 컬럼(predict_price, past_price, dat..

카테고리 없음 2026.08.05

[Spring Boot / Java] incompatible types: invalid constructor reference 컴파일 에러 해결 및 계층형 아키텍처(Layered Architecture) 역할 분리

Spring Boot 백엔드 프로젝트 개발 중, ProductController에서 전체 상품 목록 조회 API를 구현하다가 메서드 참조(ProductResponseDto::new) 부분에서 발생한 incompatible types 컴파일 에러 원인을 분석하고, 서비스 계층과 컨트롤러 계층의 데이터 변환 책임을 명확히 분리하여 해결한 과정을 기록합니다.1. 환경 (Environment)Framework: Spring Boot 3.xLanguage: Java 17Architecture: 3-Tier Layered Architecture (Controller - Service - Repository)File: com.example.farmSpring.controller.ProductController.jav..

ERROR 2026.08.05

[Next.js / TypeScript] ESLint @typescript-eslint/no-explicit-any 경고 해결 및 타입 안정성 강화

Next.js (App Router) 프로젝트에서 장바구니 기능을 구현하던 중, QuantityAndCart.tsx 컴포넌트의 findIndex 콜백 함수 내에서 사용된 any 타입으로 인해 발생한 ESLint 경고 메시지를 명확한 인터페이스(CartItem) 정의를 통해 해결한 과정을 기록합니다.1. 환경 (Environment)Framework: Next.js (App Router)Language: TypeScriptLinter: ESLint (@typescript-eslint/eslint-plugin)File: src/app/products/[id]/QuantityAndCart.tsx2. 문제 상황 (Problem)localStorage에 담긴 장바구니 데이터를 불러와 기존 아이템 존재 여부를 검사..

ERROR 2026.08.05

[FastAPI / PyMuPDF] PDF 파싱 에러(Failed to open file) 원인 분석 및 파일 경로 자동 추적 트러블슈팅

FastAPI 환경에서 PyMuPDF(fitz) 라이브러리를 활용해 프로젝트 폴더 내의 test.pdf 문서를 읽어오는 /read-pdf API를 테스트하던 중, 500 Internal Server Error와 함께 Failed to open file 'test.pdf' 예외가 발생하는 문제를 해결한 과정을 기록합니다.1. 환경 (Environment)Backend: Python 3.10 / FastAPIPDF Parsing Engine: PyMuPDF (fitz)Server: Uvicorn (ASGI)OS / IDE: Windows 11 / VS Code2. 문제 상황 (Problem)/read-pdf 엔드포인트 호출 시, 아래와 같은 JSON 에러 응답과 함께 서버 단에서 예외가 던져짐.JSON { ..

ERROR 2026.08.05

[FastAPI / PyMongo] insert_one()의 원본 변이(In-Place Mutation)와 ObjectId 직렬화 에러 완전 정복

FastAPI 백엔드에서 비정형 농가 문서 데이터를 파싱하여 MongoDB에 적재(insert_one)한 후, 그 결과를 클라이언트에 응답(Response)하는 /analyze-farm-doc API를 호출할 때 500 Internal Server Error와 함께 serialize_response 단에서 TypeError가 발생하는 현상을 겪었습니다. 1. 환경 (Environment)Backend: Python 3.10 / FastAPIDatabase: MongoDB (PyMongo)Server/Protocol: Uvicorn (ASGI)Key Library Function: fastapi.encoders.jsonable_encoder, pymongo.collection.Collection.inser..

카테고리 없음 2026.08.05

[Windows / Node.js] taskkill로도 안 지워지는 node_modules 파일 점유(EACCES/EBUSY) 우회 해결기

Next.js 개발 중 node_modules 내부 모듈 꼬임 현상으로 폴더를 재설치하려 했으나, 프로세스 중복 실행이나 Windows 파일 시스템의 핸들 점유(File Locking)로 인해 삭제가 거부되고 taskkill /f /im node.exe 명령어로도 해결되지 않는 문제를 겪었습니다.재부팅 없이 폴더 격리(Rename) 방식을 통해 즉시 개발 환경을 복구한 원인 및 해결 노하우를 기록합니다.1. 환경 (Environment)OS: Windows 10 / 11 (Command Prompt / CMD)Environment: Node.js / npmFramework: Next.js 14IDE: VS Code (Visual Studio Code)2. 문제 상황 (Problem)node_modules..

ERROR 2026.08.05

[Next.js / FastAPI] 브라우저 콘솔의 if (!res.ok) throw Error와 백엔드 HTTP 422/500 에러 연동 해결기

Next.js 대시보드에서 카카오 알림톡 발송 버튼 클릭 시, 백엔드로부터 OK(HTTP 200~299) 응답을 받지 못하여 브라우저 콘솔에 [browser] Error: 알림톡 발송 실패 예외가 발생하는 현상을 겪었습니다.프론트엔드 예외 처리 구문과 백엔드(FastAPI) Pydantic 모델 검증(Validation) 간의 연동 원인 및 해결 과정을 기록합니다.1. 환경 (Environment)Frontend: Next.js 14 / App Router (app/page.tsx)Backend: Python 3.11 / FastAPI (Pydantic BaseModel)Communication: Fetch API (POST /send-kakao)2. 문제 상황 (Problem)Next.js 화면에서 A..

ERROR 2026.08.04

[FastAPI / MongoDB] print문은 찍히는데 500 에러? ObjectId JSON 직렬화(Serialization) 오류 해결기

FastAPI 기반 백엔드에서 카카오 알림톡 발송 모듈을 실행하던 중, 터미널 상에는 알림톡 발송 성공 로그가 정상적으로 출력되었음에도 불구하고 HTTP 응답 직전에 500 Internal Server Error가 발생하는 현상을 겪었습니다.MongoDB에서 가져온 데이터 타입과 FastAPI의 JSON 직렬화 동작 방식 간의 충돌 원인 및 해결 과정을 기록합니다.1. 환경 (Environment)Backend: Python 3.11 / FastAPIDatabase: MongoDB (PyMongo / bson.ObjectId)Framework / Server: UvicornFrontend: Next.js (개발 서버 http://localhost:3000)2. 문제 상황 (Problem)카카오 알림톡 발..

ERROR 2026.08.04
728x90
반응형