최종 프로젝트 2일차
오늘은 아침에 ERD를 계속 수정해나갔다.
너무.. 힘들다 ㅋ ㅋ
점점 주문 테이블이 비대해지고 있다. 조인이 너무 많지 않게 고려를 하면서도 중복 데이터가 안 생기도록 설계하기 꽤나 애를 먹고 있다.
팀원들과 회의를 하는데 내 DB 지식이 너무나도 부족하다고 느꼈다. 유저가 삭제됐을 때 어느 데이터가 남아야 하고 또 없어져야 하며, 그로인한 연관관계와 캐스케이드 설정도 머리가 지끈거리고, 시나리오 대로 데이터를 가져올 때 조인을 최소화 하기 위해 테이블에 어떤 필드들을 넣어주고 빼주고 해야 하는지도 부족함을 많이 느낀다. 단순히 이론 지식을 쌓는다고 해결되지 않을, 그런 위기감을 느끼고 있다.
API도 설계를 했는데, 내가 중간에 취업 특강을 들으러 잠시 자리를 빈 동안 대부분 완성이 되어서 나는 컨벤션을 정립하는 정도만 기여를 했다.
이후 저녁을 먹고 코드 및 커밋 컨벤션을 찬찬히 정하다가 하루를 마무리 했다.
내 이전 팀에서 컨벤션을 정리해둔 것과, 그 컨벤션을 베껴,, 아니 참고해서 커스텀해간 팀의 것과, 다른 팀들을 모두 참고해서 우리 팀의 컨벤션을 정립해가고 있다. 역시 개발자는 복붙 ㅋㅋ
내일 컨벤션을 마저 정하고, 이슈 및 PR 템플릿을 만들고, 기반 코드들을 미리 푸쉬해두고 작업을 시작할 것 같다.
테스트는 성공 케이스만 다루기로 했다.
아키텍처는 어제와 크게 다를 건 없는데, 튜터님을 지금까지 4~5분 찾아뵈어서 의견을 들어보았는데 너무 빨리 끝날 것 같다는 분들도 계셨고, 기한 내에 못 끝내실 것 같다는 튜터님도 계셔서 다양한 의견들이 나왔다. 평균적으로 적당하다는 의견이 있는 것 같으니 일단 밀어붙이기로 했다.
대충 계획을 세웠는데, 토일월 3일 해서 서비스 기본 구성을 다 구현을 한 뒤, 이후 일주일동안 더 깊게 공부하고 적용해보며 각자 맡은 부분을 구현하기로 했다. 그리고 다음 날에 중간 발표 전 내부적으로 맡은 부분을 세미 발표하기로 했고, 이후 발표준비를 3일 전부터 준비하여 각종 버그들을 고치면서 여유롭게 발표하기로 했다.
중간 발표 이후부터는 아직 미정이긴 한데, 일단 빨리 끝내놓으면 그래도 더 해볼 부분이 많으니까 우선 이렇게 정해두었다.
컨벤션을 정하던 중에, 다른 팀에서 엔티티 및 DTO의 필드를 전부 래퍼 클래스로 하기로 했다는 규칙을 봤다. 통일성 + null처리를 위해서 였다.
생각해보니 나도 지금까지 엔티티를 쓸 때 id 필드는 Long 타입으로 하면서, 나머지는 기본형 타입을 썼었다.
그러다 문득, boolean 타입과 Boolean 타입에서의 롬복 getter가 다르게 적용되지 않았었나? 기억이 가물가물해서 정리하고 가려고 적어본다.
boolean과 Boolean 타입에서 is-로 시작하는 변수는 롬복에서 다르게 메서드가 만들어진다.
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Member {
private boolean isNew;
public void test(){
this.setNew(true); //Lombok - 자동생성된 setter
this.isNew(); //Lombok - 자동생성된 getter
}
}
이거는 기본형인 boolean 의 롬복 getter 및 setter로 만들어진 메서드다. getter는 is-가 그대로 남아있고, setter는 set-으로 변경이 된다.
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Member {
private Boolean isNew;
public void test(){
this.setIsNew(true); //Lombok - 자동생성된 setter
this.getIsNew(); //Lombok - 자동생성된 getter
}
}
하지만 래퍼 클래스인 Boolean의 경우, getter 와 setter는 모두 is는 그대로 두고 get, set이 붙은 카멜케이스로 된다.
참고 링크
'TIL ✍️' 카테고리의 다른 글
24년 1월 10일(수요일) - 68번째 TIL (1) | 2024.01.11 |
---|---|
24년 1월 8일(월요일) - 66번째 TIL (2) | 2024.01.09 |
24년 1월 4일(목요일) - 64번째 TIL (1) | 2024.01.05 |
24년 1월 3일(수요일) - 63번째 TIL (0) | 2024.01.04 |
24년 1월 2일(화요일) - 62번째 TIL (1) | 2024.01.03 |