FastAPI6 [프로젝트] 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. [프로젝트] PC 자산관리 프로그램 개발기 #3 : 왜 FastAPI인가? & 파이썬 가상환경 구축 완벽 가이드 1. 지난 이야기 & 시작하며지난 시간까지 VMware에 윈도우 서버를 올리고, 원격 데스크톱(RDP) 포트까지 열었습니다. (이제 서버 준비는 끝났네요!)이제 본격적으로 엑셀을 대체할 'PC 자산관리 시스템'을 개발할 차례입니다.저는 백엔드 프레임워크로 FastAPI를 선택했습니다. 2. 왜 하필 'FastAPI'인가요? 🤔파이썬 웹 개발이라고 하면 보통 Django(장고)나 Flask(플라스크)를 떠올리시죠?하지만 저는 과감하게 FastAPI를 골랐습니다. 이유는 딱 3가지입니다. 1️⃣ 압도적인 속도 (Fast)이름값 합니다. 내부적으로 비동기 처리를 지원해서 정말 빠릅니다.2️⃣ 자동 문서화 (Swagger UI) ⭐개발자가 제일 싫어하는 게 뭔지 아세요? 바로 '설명서(문서) 쓰기'입니다.예전.. 2025. 12. 8. [프로젝트] PC 자산관리 프로그램 개발기 #2 : 사내 VMware 서버에 개발용 가상머신(VM) 만들기 & 네트워크 설정 지난 프롤로그에서 엑셀과 파워빌더의 한계를 넘어 '웹(Web) 기반 자산관리 시스템'을 만들기로 선언했습니다.오늘은 본격적인 코딩에 앞서, 제 코드가 돌아갈 '집(Server)'을 짓는 과정입니다.제 업무용 PC에 개발 환경을 구축할 수도 있지만, 안정적인 운영을 위해 사내에 이미 구축된 VMware 서버에 저만의 가상머신(VM)을 하나 생성해서 '독립된 개발 서버'로 쓰기로 했습니다. 1. 시스템 구성도 (Architecture)이번 프로젝트의 인프라 구성은 다음과 같습니다. 핵심은 'DB는 그대로 두고, 웹 서버만 새로 파는 것'입니다.Database: 사내에 이미 운영 중인 Oracle 서버 (기존 자산 데이터 활용)Web Server: VMware 서버 내에 새로 만든 Windows VM (여기에.. 2025. 11. 28. [프로젝트] PC 자산관리 프로그램 개발기 #1 : 엑셀 & 파워빌더(CS)를 넘어 웹(Web)으로 가는 도전 그동안 저는 사내의 수백 대가 넘는 PC와 장비들을 엑셀(Excel) 하나로 관리해 왔습니다. 물론 엑셀은 인류가 만든 가장 위대한 도구 중 하나입니다. 하지만 데이터가 쌓이고 관리해야 할 자산이 늘어나면서 그 한계점은 너무나 명확하게 다가왔습니다."김 대리, 그 엑셀 파일 최신 버전 어디 있어?" "이 자산, 분명 지난달에 폐기했다고 했는데 왜 장부에는 살아있지?" 매번 반복되는 파일 공유의 비효율, 버전 관리 실패, 그리고 데이터 무결성이 깨지는 현상. 이 지긋지긋한 '엑셀 지옥'에서 벗어나기 위해, 결국 "내가 직접 웹으로 만들어서 쓴다!"라는 결심을 하게 되었습니다.(어차피 고생할 것 한번만 고생하자!!) 오늘부터 시작되는 이 시리즈는, 레거시(Legacy) 환경에서 벗어나 FastAPI 기반의.. 2025. 11. 27. 이전 1 다음