AI가 설계한 프로젝트일까?
2편에서 이야기했듯 이번 프로젝트는 AI에게 개발을 맡겼지만, 그렇다고 모든 결정을 AI에게 맡긴 것은 아니다.
프로젝트를 시작하면서 AI에게 여러 가지 아키텍처와 기술 스택을 제안해 달라고 요청했다. AI는 다양한 선택지를 제시했고, 그중에서 어떤 기술을 사용할지는 내가 직접 결정했다.
즉, AI는 여러 가지 가능성을 제안하는 역할을 했고, 최종적인 아키텍처는 사람이 판단하고 선택했다.
가장 먼저 결정한 기술
프로젝트를 시작하면서 가장 먼저 정한 것은 프론트엔드와 백엔드 기술이었다.
처음부터 다음 세 가지는 사용하기로 결정했다.
- React
- Spring Boot
- Docker
React는 사용자 인터페이스를 구성하기 위해, Spring Boot는 REST API 서버를 위해 선택했다.
그리고 Docker는 개발 환경과 배포 환경을 최대한 동일하게 유지하기 위해 처음부터 사용할 계획이었다.
배포를 집에 있는 노트북에서 진행할 예정이었기 때문에 Docker를 이용하면 서비스 관리가 훨씬 편할 것이라고 판단했다.
Python은 AI의 제안이었다.
처음에는 React와 Spring Boot만으로 프로젝트를 구성하려고 생각했다.
하지만 프로젝트를 구체화하면서 주가와 재무제표, 공시, 경제지표를 수집해야 한다는 문제가 생겼다.
이 과정에서 AI는 데이터 수집기를 별도의 Python 프로젝트로 분리하는 것을 제안했다.
처음에는 Spring Boot에서 모든 외부 API를 호출하는 방법도 생각했지만, Python에는 금융 데이터를 다루기 위한 생태계가 훨씬 잘 갖춰져 있었다.
특히 이번 프로젝트에서 사용한 FinanceDataReader는 Python 라이브러리이기 때문에 Python을 사용하는 것이 훨씬 자연스러웠다.
결국 Python 수집기를 별도의 서비스로 분리하는 구조를 선택하게 되었다.
지금 생각해 보면 이 선택은 프로젝트를 진행하면서 가장 만족스러웠던 결정 중 하나였다.
PostgreSQL은 AI의 추천을 따랐다.
데이터베이스는 AI가 PostgreSQL을 추천했다.
처음에는 특별히 데이터베이스를 정해 두지 않았지만, PostgreSQL이 대용량 데이터 처리와 복잡한 조회에 강점이 있다는 설명을 듣고 그대로 채택했다.
결과적으로 금융 데이터를 저장하고 다양한 조건으로 검색하는 현재 프로젝트와도 잘 맞는 선택이었다고 생각한다.
Redis를 추가한 이유
프로젝트 규모가 커지면서 동일한 데이터를 반복해서 조회하는 경우가 많아졌다.
주가나 기업 정보처럼 자주 조회되지만 자주 변경되지 않는 데이터는 매번 PostgreSQL에서 읽어 오는 것보다 캐시에 저장하는 편이 효율적이다.
그래서 Redis를 도입해 PostgreSQL의 부하를 줄이고 응답 속도를 개선하려고 했다.
다만 현재는 직렬화 문제의 원인을 아직 해결하지 못해 Redis를 비활성화한 상태다.
컨테이너는 실행되고 있지만 실제 서비스에서는 캐시를 사용하지 않고 있으며, 이후 원인을 해결하면 다시 적용할 계획이다.
최종적으로 완성된 구조
프로젝트는 역할에 따라 서비스를 분리했다.
- React는 사용자에게 화면을 제공한다.
- Spring Boot는 REST API와 비즈니스 로직을 담당한다.
- Python은 외부 금융 데이터를 수집한다.
- PostgreSQL은 모든 데이터를 저장한다.
- Redis는 캐시 역할을 담당하도록 구성했다.
- Docker Compose는 모든 서비스를 하나의 환경에서 실행한다.

처음에는 단순한 React + Spring 프로젝트였지만, 기능이 하나씩 추가되면서 지금과 같은 구조로 자연스럽게 발전하게 되었다.
설계하면서 가장 크게 느낀 점
이번 프로젝트를 진행하면서 느낀 점은 AI는 여러 가지 선택지를 제시하는 데 매우 뛰어나다는 것이었다.
하지만 어떤 기술을 선택하고 어떤 구조로 프로젝트를 가져갈지는 결국 사람이 결정해야 했다.
AI는 훌륭한 개발자이자 조언자였지만, 프로젝트의 아키텍트는 사람이었다.
그 역할을 명확하게 나누면서 개발을 진행한 것이 지금까지 프로젝트를 안정적으로 이어올 수 있었던 가장 큰 이유라고 생각한다.
다음 글에서는 Python 수집기를 이용해 DART OpenAPI, 한국은행 ECOS, FinanceDataReader의 데이터를 어떻게 수집하고 데이터베이스에 저장했는지 소개해 보려고 한다.
'바이브코딩으로 홈페이지 만들기' 카테고리의 다른 글
| 4. Python 데이터 수집기 만들기 (1) | 2026.06.30 |
|---|---|
| 2. AI에게 홈페이지를 만들게 하기 (0) | 2026.06.28 |
| 1. 바이브 코딩으로 홈페이지를 만든 이유 (0) | 2026.06.27 |