1. 오늘 한 것
- 프로젝트 초기 설정
- spotless 적용
- 코드,깃 컨벤션 마무리
- 주간 기술 멘토링
- 로그인/인증인가 개발 시작
2. 프로젝트 초기 설정
- 프로젝트를 시작하기에 앞서 커스텀 응답, 예외 처리를 구현하였다.
- 이전까지는 그냥 프론트에 응답 값으로 데이터만 넘겨주면 되는거 아닌가 하는 생각이였는데 팀원들과 기획을 하면서 궁금한 점을 찾아본 결과

chatGPT는 이 사진과 같이 상태 코드, 메시지, 데이터, 메타데이터를 넘겨주는 것이 일반적인 방법이라는 설명을 해준다.
그래서 데이터만 넘겨주는 것이 아닌 저 형태로 응답을 반환하도록 초기 설정을 해주었다.
3. spotless 적용
- 저번 프로젝트에서 다른 팀이 사용했던 spotless라는 코드 포맷을 지키도록 해주는 기능을 적용해보고자 하였다.
- spotless를 적용하는 것 자체는 어렵지 않았다. build.gradle 파일에 플러그인을 넣어주고 spotless 설정을 넣어주기만 하면 되었다.
- 하지만 이렇게 넣어주기만 하면 자동으로 적용되지는 않고
./gradlew spotlessApply
위와 같은 명령어를 터미널에 입력하던가 gradle 창을 열어서 spotlessApply를 실행해주어야 적용이 되었다.
- 이를 해결하고자 build.gradle의 tasks안에 assemble.dependsOn spotlessApply를 넣어 빌드가 실행되면 spotless 규칙을 적용하도록 해보았다. 하지만 내가 생각하던 자동화는 런을 눌렀을 때 규칙 적용이 되는거였는데 이상하게 런을 아무리 해보아도 빌드가 실행되지 않는건지 코드가 규칙에 맞게 바뀌지 않았고 한참을 찾은 후에야 새로운 방법을 찾게 되었다.
- githooks 이라는 git 에서 어떤 이벤트가 생겼을 때 자동으로 특정 스크립트를 실행할 수 있게 해주는 기능을 사용하게 되었다.
- githooks의 실행 조건 중에 커밋을 할때 스크립트를 실행하도록 하는 조건을 사용해서 spotless 자동화 까지는 아니여도 반자동화는 구현했다.
4. 코드,깃 컨벤션
- 캠프를 처음 시작할 때 까지만 해도 컨벤션이 있다는 것만 알고 어떻게 정하는건지 좋은게 무엇인지 하나도 모르던 때가 있었는데 이제는 팀원들과 소통하며 사용하고 싶은 컨벤션을 얘기해 볼 수 있는 정도는 된 것 같다.
- 다양한 컨벤션을 적용해보는 것이 되게 좋은 경험이라고 생각하는데 여러 사람들을 만나며 프로젝트를 한 덕분에 여러 컨벤션을 배우게 된 것 같다.
5. 기술 멘토링
- 저번 주 금요일에 SA피드백을 받고 주말이 지난 바로 월요일에 기술 멘토링을 받게 되었는데 주말동안은 크게 기획쪽이나 코드 개발에 진전이 없어서 기술멘토링에서는 주로 우리 팀이 궁금했던 질문들을 하는 시간을 가졌었다.
- 웹소켓을 이용한 실시간 채팅 기능이나 프론트를 구현하는 방법 등등 모르는 것들이 많아 아직 질문하기에도 조금 정리가 되지 않은 느낌이 많이 들었다.