연구를 진행하면서 데이터셋뿐 아니라 코드와 문서도 함께 관리해야 하는 상황이 많아졌다.
연구 규모가 커질수록 데이터와 코드, 문서를 함께 관리하는 일이 중요해졌다.
초기에는 Python 스크립트와 Java 프로젝트를 각각 따로 관리하는 수준이었고,
Git 역시 사용법을 충분히 이해하지 못한 채 저장소를 여러 개 생성하며 시행착오를 겪었다.
당시에는 단순히 소스코드를 저장하는 정도로만 생각했지만,
연구가 진행될수록 버전 관리와 개발 기록 자체도 연구 과정의 일부라는 점을 점차 인식하게 되었다.
Git을 처음 사용하기 시작한 시기에는 프로젝트 구조를 명확하게 구분하지 못해 저장소가 여러 개로 분산되어 있다.
1~2월에는 Git의 중요성을 충분히 이해하지 못했고,
커밋 역시 Java 학습 내용을 단순히 업로드하는 수준에 머물렀다.


하지만 이후 연구 규모가 커지면서
의 중요성을 인식하게 되었고,
현재는 연구 주제별로 저장소를 구분하여 관리하고 있다.
대표 저장소는 다음과 같다.

프로젝트가 커질수록 코드보다 먼저 전체 구조를 설명하는 문서가 필요하다고 판단하였다.
대표 프로젝트에는 README를 작성하여
등을 함께 기록하였다.
README는 단순한 사용 설명서가 아니라,
연구 구현 과정을 문서화하는 기록이라는 관점에서 작성하였다.



Python 기반 데이터 분석과 Spring Boot 기반 웹 시스템을 하나의 프로젝트에서 함께 운영하면서 여러 문제가 발생하였다.
특히 Python 가상환경과 Java 빌드 환경을 동시에 관리하는 과정에서 환경 설정과 디버깅에 많은 시간이 소요되었다.
이후 분석 환경과 서비스 환경을 분리하는 구조를 선택하였다.
구성은 다음과 같다.
| 역할 | 개발 환경 |
| 데이터 수집 · 전처리 · 분석 | VS Code + Python |
| 웹 시스템 구현 · 시각화 | IntelliJ + Spring Boot |
최종적으로는 Python에서 생성한 분석 결과(CSV)를 웹 프로젝트로 전달하는 방식으로 파이프라인을 구성하였다.
이 구조를 적용한 이후에는 분석 로직을 수정하더라도 웹 프로젝트 전체를 다시 빌드할 필요가 없어졌으며,
데이터 분석과 서비스 구현을 독립적으로 개발할 수 있게 되었다.
① Spring Boot 프로젝트
웹 프로젝트는 Spring Boot 기반 MVC 구조로 설계하였다.
Controller, Service, Mapper를 분리하고,
MyBatis를 이용하여 SQL을 별도의 XML 파일로 관리하였다.
또한 CSS, JavaScript, JSP 화면을 역할별로 분리하여 유지보수가 가능하도록 구성하였다.

② Python 분석 프로젝트
Python 분석 프로젝트 역시
데이터,
스크립트,
출력 결과,
토크나이저,
모델 파일을 별도 디렉터리로 관리하였다.
초기 전처리부터 토픽 모델링,
SCV 분석,
시각화까지 연구 과정이 하나의 파이프라인으로 연결되도록 설계하였다.

지금 다시 보면,
이 시기의 가장 큰 성과는 특정 프로그램을 구현한 것이 아니라,
연구를 수행하기 위한 개발 환경 자체를 체계적으로 구성하기 시작했다는 점이었다.
버전 관리,
문서화,
프로젝트 구조 설계,
분석 환경과 서비스 환경의 분리는 이후 구축한 연구 데이터셋과 분석 파이프라인의 기반이 되었으며,
현재 구상 중인 일제강점기 기록 분석 시스템 역시 이러한 개발 환경을 기반으로 발전할 것이다.
| 02. 분석 및 구현 기록 05 연구 분석 플랫폼 구현 및 배포 (0) | 2026.07.06 |
|---|---|
| 02. 분석 및 구현 기록 03 데이터베이스 설계 및 SQL 구현 기록 (0) | 2026.07.05 |
| 02. 분석 및 구현 기록 02 모델·전처리 이해 과정 및 기술 학습 기록 (0) | 2026.07.05 |
| 02. 분석 및 구현 기록 01 데이터셋 구축 한계 및 플랫폼 분석 기반 인프라 보고서, 분석 도구 및 파이프라인 구성 (0) | 2026.07.05 |