본문 바로가기
프로젝트/Tripagram

[설정] 초기 개발환경 구성

by 히포파타마스 2023. 1. 20.

초기 개발환경 구성

 

프로젝트를 몇 번 진행하다보니, 초반 설정에 공통되는 부분이 많다고 생각했다.

프로젝트가 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

댓글