지난 주차는 서버의 정상 동작을 위해 필요한 기능 구현이 메인이 되는 한 주였다.
3주차 때 작성한 설계를 따라 코드를 작성하였는데, 설계를 만족하는 경우도 존재하지만
작성 중간중간 설계를 수정해야하는 일이 종종 발생하였다. 이 과정에서
'아... 설계를 꼼꼼하게 작성하지 못했구나'란 생각을 하게 되었다.
설계의 잦은 수정과 함께 개발 시간 지연에 영향을 준 요인은 도메인 모델과 JPA의 완전한 분리였다.
무엇이 문제였을까?
domain 레이어의 도메인 모델 객체에서 JPA에 의존하는 요소를 완전히 제거하고,
JPA에서 사용하는 도메인 엔티티는 infra 레이어에 위치시켰다.
모델의 형태가 단순할 때는 상관 없지만 연관관계를 가질 때는 객체를 전환하는 게 다소 불편했다.
무엇을 했나?
null체크를 통해 null이 들어가지 않도록 하거나 ModelMapper 라이브러리 도입을 고민하였다.
어떤 방식으로 해결했나?
전환 시 null 인 경우를 check 해서 전환해주는 수 밖에 없었다.
무엇을 알게 되었나??
JPA를 사용할 때 연관관게를 활용하는 직접참조가 아닌 간접참조를 사용하는 경우가 있는데,
DB내 테이블 간 데드락 이슈 외에도 객체 구성을 힘들게한다는 점또한 간접참조를 사용하는 유인이 된다는 점을 깨달았다.
한 주를 마무리하며 만족한 점
이번 회차 또한 다행히 모든 과제를 제출할 수 있었다.
개선이 필요한 문제점
과제 제출에 급급한 점과 의도치 않게 목요일에 과제 제출을 위해 무리한다는 점이다.
한주 한주 지나가며 습득하고 정리해야하는 개념이 있는데 이를 정리하기 위한 시간 투자가 필요해 보이며,
시간 분배를 적절히 해서 목요일 밤에 과제 제출 시 무리하지 않도록 해야할 것이다.
문제를 해결하기 위해서...
저번에 작성한 마일스톤의 연장선이긴 하지만 적절한 시간분배를 해야한다.
분배된 시간 내에서 계획한 목표를 수행하는데, 특정 부분에서 과도한 시간 투자가 이루어지지 않도록 한다.
요구사항에 fit하게 작성하도록 한다.
'학습 로그' 카테고리의 다른 글
[항해 플러스 백엔드] 6주차 회고 (WIL) (2) | 2024.11.02 |
---|---|
[항해 플러스 백엔드] 3주차 회고 (WIL) (0) | 2024.10.13 |
[항해 플러스 백엔드] 2주간을 되돌아 보며 (2) | 2024.10.05 |