베이스캠프 Sprint4
21.02.08부터 21.02.10까지 베이스캠프 Sprint4를 진행했다.
설 연휴가 포함되어 있어 실제 근무일은 3일밖에 되지 않았다.
Sprint5의 시작이었던 월요일 오전에는 Sprint4에 이어 교육을 진행했다
- HTTP/HTTPS
월요일 오후에는 DB Power Designer Tool을 이용하여 DB 모델링을 진행했다. 회의하면서 다 같이 작성했는데 급하게 작성하다 보니 후에 개발 시 발견되는 오류가 있었고, unique 제약이라던가, 각 칼럼들의 제약사항에 대해서도 충분한 논의가 이루어지진 않은 것 같다. 사실 테이블 간 연관관계나 각 칼럼들의 제약사항 이외에도 현업에서의 DB 모델링 시 어떤 것들을 더 고려해야하는지를 잘 알지 못해서 뭔가 끝내고도 끝나지 않은 듯한 기분이었다. 그리고 DB 모델링이 바뀌면 개발 프로젝트 코드 전체를 엎어야 될 수도 있을만큼 DB 모델링이 개발 프로젝트 진행 시 중요한 부분이라고 생각했는데 그 중요성에 비해 꼼꼼하게 진행하지 못한 점이 아쉬웠다.
그리고 화요일 이후로는 실제로 개발을 시작하여 다음과 같은 설정이나 기능 구현을 진행했다.
프로젝트 설정
-
.gitignore 설정
MacOS 관련 설정을 추가했다.
-
Git branch protection rule 설정
사실 이런 기능을 처음 적용해보았다. Git 교육 당시 main 브랜치로 팀원 동의 없이 merge가 되어 revoke하는 등 당황스러운 경험이 있었다. 그래서 실제 프로젝트에서는 이런 걸 방지하기 위한 것들이 있지 않을까하여 찾아보았고 git branch protection rule이라는 설정이 존재했다. 그래서 우리 팀 프로젝트에도 해당 설정을 적용했고, develop 브랜치는 2명 이상, main 브랜치는 3명 이상의 approval이 있을 때만 merge할 수 있도록 설정했다.
메인 페이지 구성
HTML 기초가 부족하여 몇 가지 사소한 이슈가 있었다.
- 다양한 input type
- radio 버튼에서 name의 역할
-
form 태그에 대해서
-
form 태그 안에 button 있는 경우 button type 지정안해주면 디폴트값이 submit이라 클릭이벤트 지정안해도 자동 submit 되네요… 이거 막으려면 button type=”button”으로 주고 이벤트스크립트 작성해서 클릭이벤트 지정하면 됩니다….
그리고 js 구현 시 기술교육에서 배웠던 것들과 책에서 읽은 것들을 활용할 수 있었다.
Entity 오류 수정
기존에 일괄적으로 작성되었던 Entity 클래스들에 오류 사항이나 개선 사항을 수정했다.
- @ToString에서 exclude 설정에 FK 필드 추가
- @Column, @JoinColumn에 대한 이해
- name 설정
- nullable 설정
사전과제 추가 공부
사전과제 스프링부트 프로젝트에서 사실 단일 테이블 모델에 대해서만 구현을 해봤다. 그래서 우리 DB 모델은 1:N 관계가 대부분이기 때문에 어떻게 구현해야할지 감이 안와서 지난 사전과제 때 못했던 스프링부트 프로젝트에서 1:N에 해당하는 board 프로젝트를 공부했다. 그리고 공부한게 생각보다 많은 도움이 되었다. 전혀 감을 못잡고 있던 상황에서 board 프로젝트에 나온 내용들 중 우리 프로젝트에서 적용할 내용들을 발견할 수 있었고 그에 따라서 내가 구현할 기능들을 어떻게 짜면 되겠다는 그림을 그려나갈 수 있었다. 물론 실제 구현 상에는 다양한 이슈가 있겠지만 전체적으로 그림을 그릴 수 있게 되었다는 데 큰 의의가 있는 것 같다. board 프로젝트를 공부하고 나니 M:N에 해당하는 영화리뷰 프로젝트까지 했다면 우리 프로젝트 개발에 좀 더 나은 그림을 그릴 수 있었을텐데 아쉽다는 생각이 든다.
Leave a comment