아아.. 너무 빠른 1주였다...
7월 12일(토) 부터 시작된 루퍼스 생활
처음 오프라인 모임에서부터 고수분들의 향기가 느껴진다.
Controller - Service - Repository 구조만 알던 나에겐
제공해준 템플릿 프로젝트 구조는 충격 그 자체였다.
헥..헥사고날.. 아키텍쳐..? , record?, PR, ApiResponse는 또 뭐고 ApiSpec, Spy, Mock..?
그 동안 우물안의 개구리였단걸 절실히 느끼고 쭈글쭈글 해졌다.
다행히 흐름은 얼추 때려맞추면서 과제 진행을 했지만 바쁜 1주..
모르는건 배우고 적어가면서 따라가야겠다.
🧠 이번 주에 새로 배운 것
- TDD를 실행하면서 만난 에러를 통해 JPA의 영속성 컨텍스트에 대해서 찾아보는 계기가 되었습니다.
객체가 바로 DB와 동기화되는 것이 아니며, 반환한 영속 상태의 객체를 사용해야만 관계의 정합성이 보장된다는 것을
몸으로 체감했습니다.
💭 이런 고민이 있었어요
- User와 Point의 관계를 어떻게 설계할 것인가
처음엔 UserModel에 point 필드를 추가할까 고민했지만, User와 Point는 책임이 다르다고 판단해 PointModel로
분리했습니다. 이후 두 엔티티를 PK(id)로 JOIN할지, 비즈니스 키(userId)로 JOIN할지를 두고 성능과 조회 편의성
사이에서 많은 고민을 했지만 결국 데이터 정합성을 우선하여 PK JOIN을 선택했습니다.
정답이란것은 없겠지만 실무에서는 어떤 형태를 선호하는지 어떤 이유인지 알고 싶습니다.
💡 앞으로 실무에 써먹을 수 있을 것 같은 포인트
- TDD에서 검증 단계에서 사용게 됬던 예외처리에 대해 어떤 방식으로 처리하고, 어떻게 커스텀할지에 대해 배웠습니다.
- 로직이 미구현일 때에도 Mock api를 사용해 문제 없이 협업할 수 있다는 점을 알게되었습니다.
- 과제 제출 방법으로 PR을 하게 되었는데 이번에 처음해보게 되면서 커밋 스쿼시, 커밋 내용 변경을 알게 되었고
git으로 관리되는 회사도 많고 멘토분들도 많이 사용한다고 하시니 좋은거 같습니다.
🤔 아쉬웠던 점 & 다음 주에 해보고 싶은 것
- 탑다운 방식의 TDD를 계속 진행하면서 어떤 흐름으로 구현해 나갈지 익히면 좋겠습니다.
- 시간이 없으니 모르는 부분을 공부할 새도 없이 지나가는것 같아 최대한 빠르게 과제를 해서 시간을 좀 더 여유있게
가질 수 있도록 노력해야 겠습니다.
'Loopers > WIL(What I Learned)' 카테고리의 다른 글
| 뒤늦은 깨달음 Appication VS Domain (0) | 2025.08.08 |
|---|---|
| Loopers - 2 주차 : 설계 (0) | 2025.07.25 |