개발 일기

협업에 용이한 작업 환경 구성하기 본문

Tech/배워서 남주기

협업에 용이한 작업 환경 구성하기

flow123 2022. 11. 30. 01:25

프레시카트는 1인 프로젝트 입니다.

1인 프로젝트이다 보니, 팀과 협업할 때보다 충돌이 발생하는 지점이 적었고 신경 쓸 부분도 많지 않았습니다.

현업에서는 개발 못지 않게, 개발 환경을 구성하고 개선하는 것 역시 필요할 것이라고 생각했습니다.  

이전의 팀 프로젝트에서 느꼈던 어려움을 돌이켜보고, 개발자 동료들이 공유해주는 어려움을 참고하면서

여러 기술을 도입해보았습니다.

Flyway로 데이터 베이스 스키마의 변경 이력 관리

도입 이유

이전에 팀 프로젝트를 할 때, DB를 공유해서 쓰면서 어려움을 겪은 적이 있었습니다.

스키마 변경이 있을 때마다, 공유된 내용을 확인하고, 변경 사항을 인지해야 했습니다.

 

성과

flyway 적용으로 변경 이력을 문서화 할 수 있게 되었습니다.

변경에 맞춰 애플리케이션 로직도 수정하는 작업을 할 때도, 문서화를 참고하여 편리하게 수정할 수 있었습니다.

 

GitHook과 Google Checkstyle을 도입

코드가 많아질 수록 사용하지 않는 import 문을 남겨 두는 등 코드 관리가 어려워졌습니다.

GitHook과 Checkstyle을 도입하여, 코드에 자바 구글 스타일을 적용하는 것을 강제하였습니다.

문법에 맞는 코드가 커밋 되도록 품질을 관리할 수 있었습니다.

성능 모니터링 환경을 구성

성능 이슈를 신속히 파악하고 개선하기 위해, Elastic APM 으로 성능 모니터링 환경을 구성하였습니다.

코드 참고: https://github.com/f-lab-edu/FreshCart/blob/main/docker/elasticapm-compose.yml

 

개발자들이 각자의 로컬 환경에서 동일하게 개발 환경을 구성할 수 있도록, 도커를 구성하였습니다.

Redis, Elastic APM 등 여러 서비스가 컨테이너에 올라갈 수 있도록 도커 컴포즈 yml 파일에 설정하였습니다.

코드 참고: https://github.com/f-lab-edu/FreshCart/blob/main/docker/docker-compose.yml

Comments