본문 바로가기

python5

[프로젝트] PC 자산관리 프로그램 개발기 #5 : FastAPI의 문지기, Pydantic으로 데이터 검증 시스템 구축하기 (ORM vs Schema 완벽 정리) 1. 서론: DB 연결은 끝났다, 이제 '검문소'를 세울 차례지난 포스팅에서 우리는 사내 시스템의 심장인 오라클 데이터베이스(Oracle 11g)와 FastAPI를 연동하는 데 성공했습니다. (database.py 설정 완료) 이제 고속도로는 뚫렸으니 데이터를 주고받기만 하면 될까요? 절대 아닙니다. 사용자(프론트엔드)가 자산 가격(Price) 칸에 숫자가 아닌 "백만원"이라는 한글을 적어서 보낸다면 어떻게 될까요? 혹은 필수 입력값인 '사번'을 빼먹고 보낸다면요? DB는 에러를 뿜어내고 시스템은 멈출 수 있습니다. 그래서 우리는 DB 앞에 깐깐한 문지기를 하나 세워야 합니다. 들어오는 데이터가 올바른지 검사하고, 나가는 데이터를 예쁘게 포장해 주는 역할. 바로 FastAPI의 꽃, Pydantic(파이.. 2026. 1. 2.
[프로젝트] PC 자산관리 프로그램 개발기 #4 : FastAPI와 오라클 11g 연동! (cx_Oracle 말고 python-oracledb 쓰세요) 1. 서론: 레거시(Legacy) 시스템과의 전쟁지난 포스팅에서 우리는 파이썬 가상환경(venv)을 구축하고 FastAPI를 설치해 'Hello World'를 띄우는 데 성공했습니다. 이제 연습 게임은 끝났습니다. 진짜 게임, 바로 사내 시스템의 심장인 오라클 데이터베이스(Oracle Database)와 웹 서버를 연결하는 작업을 시작할 차례입니다.하지만 전산 실무자라면 여기서 한 가지 큰 벽에 부딪히게 됩니다."우리 회사 DB는 10년 넘은 오라클 11g인데, 요즘 나온 파이썬 라이브러리랑 붙을까?"결론부터 말씀드리면 "그냥은 안 붙지만, 방법이 있다"입니다. 오늘은 더 이상 업데이트되지 않는 구형 라이브러리인 cx_Oracle 대신, 오라클의 새로운 표준인 python-oracledb를 사용하여 구형.. 2025. 12. 30.
[FastAPI/Error] "코드를 수정했는데 반영이 안 돼요" - 포트 중복과 좀비 프로세스(Zombie Process) 해결기 1. 문제 상황 (Symptom): "귀신이 곡할 노릇이네" 👻PC 자산관리 시스템 개발 중에 겪은 아주 황당한 일입니다. VS Code 터미널을 두 개 열어놓고, 실수로 양쪽에서 서버 실행 명령어(uvicorn main:app --reload)를 동시에 입력했습니다.상식: 당연히 두 번째 터미널에서는 "Address already in use" 에러가 뜨면서 실행이 막혀야 합니다.현실: 어라? 에러 메시지 없이 둘 다 'Started'가 뜹니다.하지만 진짜 문제는 브라우저에서 발생합니다. 아무리 코드를 수정하고 저장해도 웹 화면은 옛날 그대로입니다.새로 띄운 서버가 아니라, 먼저 띄워둔 서버(혹은 죽지 않은 좀비 서버)가 8000번 포트를 꽉 잡고 놔주지 않기 때문입니다.2. 원인 분석 (Eviden.. 2025. 12. 11.
[오류 해결] VS Code 터미널 가상환경(venv) 권한 오류(PSSecurityException) 1분 해결법 파이썬 프로젝트를 시작하기 위해 가상환경(venv)을 만들고, 설레는 마음으로 활성화 명령어(.\venv\Scripts\activate)를 입력했습니다. 그런데 갑자기 터미널에 무시무시한 빨간색 에러 메시지가 쏟아지며 실행이 막혀버렸습니다. .\venv\Scripts\activate : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\...\venv\Scripts\Activate.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/?LinkID=135170)를 참조하십시오.위치 줄:1 문자:1 + .\venv\Scripts\activate + ~~~~~~~~~~~~~~~~~~~~~~~ + Ca.. 2025. 12. 8.
[프로젝트] PC 자산관리 프로그램 개발기 #3 : 왜 FastAPI인가? & 파이썬 가상환경 구축 완벽 가이드 1. 지난 이야기 & 시작하며지난 시간까지 VMware에 윈도우 서버를 올리고, 원격 데스크톱(RDP) 포트까지 열었습니다. (이제 서버 준비는 끝났네요!)이제 본격적으로 엑셀을 대체할 'PC 자산관리 시스템'을 개발할 차례입니다.저는 백엔드 프레임워크로 FastAPI를 선택했습니다. 2. 왜 하필 'FastAPI'인가요? 🤔파이썬 웹 개발이라고 하면 보통 Django(장고)나 Flask(플라스크)를 떠올리시죠?하지만 저는 과감하게 FastAPI를 골랐습니다. 이유는 딱 3가지입니다. 1️⃣ 압도적인 속도 (Fast)이름값 합니다. 내부적으로 비동기 처리를 지원해서 정말 빠릅니다.2️⃣ 자동 문서화 (Swagger UI) ⭐개발자가 제일 싫어하는 게 뭔지 아세요? 바로 '설명서(문서) 쓰기'입니다.예전.. 2025. 12. 8.