크리스마스를 맞이하는 11주차. 이젠 진짜 한 달도 안 남았다. 아자아자!!
개발
우여곡절 끝에 스프린트에 정했던 내용을 배포하게 되었다! 팀원들끼리 여러 얘기를 나누며 열심히 협업하여 만든 만큼 애정도 생긴다. 퍼실리테이터님들이 항상 말씀하시기를 "일단 배포를 해보라. 그러면 불편점들이 보일 것이다." 이미 잘 만든거 같은데 에러 터질랑가? 방심한 순간 첫날부터 에러가 터지는 것이다. 출석체크하면 count가 안되거나 연속출석일자들은 틀리게 갖고오거나.. 위 말을 바로 이해하게 되며 hotfix 브랜치를 파서 바로 바꿔 올려보았다. 또한, 우리가 의도치 않았던 값을 넣어서 프론트에서도 화면이 밀리거나 되게 다양하였다. 이런게 피드백이구나 느꼈고, 잘 대응해보도록 해야겠다. 일단은 우리의 git branch는 많이 번잡해졌기에 이도 어떻게 한 번 정리를 해야겠다.
멘토링
이번주는 멘토님을 두 분이나 만나뵙게 되어 주워들은 내용이 많다. 그만큼 헷갈리는 내용들이 엄청 많다 후후..
- ForeignKey 가급적 쓰지 말자. ID로 빼서 써도 괜찮다.
우리같은 학습자들은 강의에서 배운대로 연관관계를 걸어서 데이터에 접근 중이다. 이러면 참조를 통해 쉽게 접근이 가능하기 때문이다. 하지만 이렇게 하는 경우 join같이 여러 테이블을 묶어서 갖고오는 경우 쿼리문이 되게 더러워지고 복잡해질 수 있다. 요즘 추세로는 외래키를 걸지않고 그냥 id값을 주고 찾도록 많이 쓴다 한다.(MSA를 위해? 찾아봐야겠다..) 테이블 구조를 단순히 갖게끔도 생각해봐야겠다.
- 롬복 어노테이션은 남발하지 말자.
@Getter, @Setter 필요한데도 있겠지만 필요 없는 곳에도 다 달아두지 말자. getter는 괜찮겠지만 setter는 누군가 막 써버리면 나중에 어디서 문젠지 찾기도 번거로워지기 때문이다. 그리고 우리 모두 DI를 위해 @RequiredArgs를 쓰고 있는데 이 경우도 웬만하면 지양하라고 하신다. 나중에 생성자에도 부분부분 로직이 들어갈 수도 있기 때문이다. 근데 또 스타일 차이니 잘 고민해봐야겠다.
- @Builder를 클래스 단위에 걸지 말자.
나는 보통 생성자에다가 @Builder를 달아 두었는데, 이번에 협업을 하면서 클래스에도 거는 경우를 보았다. 이렇게 하는 경우 필드가 추가되면 바로바로 손쉽게 필드가 반영이 되기 때문인듯하다. 하지만 이경우 값을 초기화 한 필드도 날라가버리는 Warning이 뜨기에 비추한다. 일단은 warning이라는 단어 자체가 경고기 때문에 안 쓰는 방향을 택해야 한다. 두 번째 멘토님은 Builder 자체를 지양하라고도 하셨다. 생성자의 경우 내가 이 필드들을 다 집어넣겠다는 의미인데, builder를 쓰면 잊을 수도 있기 때문이다. 특히 엔티티 같은 곳에서 내가 의도하지 않은 오류도 범할 수도 있기에 그냥 생성자를 쓰자.
- @Transactional 잊지 말자.
Hibernate Session과 트랜잭션 전파에 대해서 공부를 해야겠다. findById(id), findById(id) 이러면 몇번 호출될거 같냐 여쭈셔서 두 번이라 했는데 한 번이라고 하셨다. PK로 찾는 경우는 캐싱해서 쓴다고 했다. JPA에 대해 이해도가 꽤 높아졌다 생각했는데, 이렇게 놓치는 부분이 많음을 느꼈다.
- DB - explain, index도 공부하자.
위 두개를 활용해서 검색 속도를 확인하고 튜닝을 할 수 있는 것이다. 멘토님이 간략히 사용 방법을 알려주셨는데, 개인적으로 더 많이 찾아봐야겠다.
공부도 꾸준히~
공부도 꾸준히 하여 sql은 어느덧 프로그래머스에 있는 join까지 다 풀었다. 이제 group by도 계속 공부하며 익숙해지도록 해서 적어도 나랑 같이 공부하는 동료들이 sql에 대한 두려움을 없앨 수 있도록 할 것이다. 또한 java 스터디도 하는데, 나도 계속 기본기가 늘어나고 있다. 열심히 더 열심히 해서 유종의 미를 거둘 수 있도록 하겠다!!
* 유데미 바로가기 : https://bit.ly/3SFlXDy * 유데미 STARTERS 취업 부트캠프 공식 블로그 보러가기 : https://blog.naver.com/udemy-wjtb 본 후기는 유데미-웅진씽크빅 취업 부트캠프 2기 - 프론트엔드&백엔드 과정 학습 일지 리뷰로 작성되었습니다.
'유데미 부트캠프' 카테고리의 다른 글
유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 13주차 학습 일지 (1) | 2023.01.08 |
---|---|
유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 12주차 학습 일지 (0) | 2023.01.01 |
유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 10주차 학습 일지 (0) | 2022.12.17 |
유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 9주차 학습 일지 (0) | 2022.12.11 |
유데미 스타터스 취업 부트캠프 2기 - 백엔드(java, 자바) 8주차 학습 일지 (0) | 2022.12.04 |
댓글