초기 개발환경 구성
프로젝트를 몇 번 진행하다보니, 초반 설정에 공통되는 부분이 많다고 생각했다.
프로젝트가 Spring Boot라는 동일한 프레임워크 내에서 개발을 하는 것이기 때문에, 당연히 각 프로젝트의 초기 세팅의 큰 틀은 거의 비슷할 수 밖에없다.
테스트, 보안,예외처리, 그리고 프로젝트 내에서 사용될 각종 부가적인 세팅까지
프로젝트마다 세세한 내용은 달라지겠지만, 방향이 크게 다르지 않다면 분명히 반복되는 부분이 존재한다.
그래서 나는 이런 반복되는 초기 설정들을 구성해서 하나의 프로젝트로 만들어놓았다.
[GitHub: Init_Spring_Project]
[Init_Project_Spring 구조]
Init_Spring_Project라는 프로젝트에 프로젝트 시작시 반복적으로 세팅해주어야 하는 부분을 모아놓았다.
여기에 설정파일에서 의존성을 주입받는것 외에 추가적으로 세팅된 설정/기술들은 다음과 같다.
- RestDocs : API 문서화
- Spring Security : 보안
- Auditing : Entity에 기본 정보(생성일자, 수정일자) 자동 삽입
- ExceptionHandler : 예외 처리
- ArgumentResolver : 인증된 사용자 정보를 Controller 파라미터로 받는 기능 추가
- QueryDsl : 동적 Query 작성
- LogTrace : 사용자 요청 흐름 Log 처리
물론 프로젝트마다 세부적인 설정은 차이가 날 수 있다. 하지만 그 프로젝트에 맞춰 조정해주면 될 일이다.
결과적으로 이번 프로젝트에서는 위의 Init_Spring_Project의 코드를 사용해서 초기 세팅을 한번에 처리 했다.
[초기 설정 세팅 PR]
물론 세부적인 변경은 조금 있었지만 단 한번의 PR로 초기 설정을 구성할 수 있었다.
이 프로젝트에서는 기술에 대한 이해와 연습이 아닌 프로젝트의 완성이 목표였다.
때문에 반복되는 초반 설정 구성 작업을 팀원끼리 분배하고 처음부터 일일히 작성하는 것은 비효율적이라 생각했고,
이미 구성되어있는 세팅을 사용하는것을 선택하였다.
다행히 팀원은 이 방식으로 프로젝트를 진행하는것에 동의 해주었고, 불필요한 작업이 사라져 초반 시간을 유용하게 사용 할 수 있었다.
프로젝트가 끝난 후, 다시 생각해보면 나쁘지 않은 방법이였던 것 같다.
프로젝트에 주어진 시간이 짧았음에도 완성도 높은 프로젝트를 만들고 추가적인 성능 고도화 작업까지 할 수 있었던 것은
적절히 프로젝트에 필요한 효율적인 선택을 했기 때문이라고 생각한다.
'프로젝트 > Tripagram' 카테고리의 다른 글
쓰기지연 전략 (0) | 2023.02.13 |
---|---|
Reids를 사용한 Cache 전략 (0) | 2023.02.06 |
Tripagram 회고 (0) | 2023.01.02 |
댓글