한달간 짬날 때마다 탐방했고 사이드 프젝하고싶은게(유투브 유틸라이저) 생겨서 중지
repo: (아직 dev branch에 있음, main에 merge 안함)
https://github.com/dltkdgkr123/hexagonal-architecture
based on:
https://github.com/thombergs/buckpal
배운 것 :
- 테스트 코드
1. mockito기반 모킹 찍먹 (공부할 가치가 충분한 좋은 기능이었음)
2. JPA 테스트, Spring Boot 통합 테스트 일부
3. Parameterized 테스트 경험
4. 테스트 네이밍 컨벤션 (카멜 + 스네이크 케이스 혼합해서 기대동작 자세히/가독성있게 적기)
5. sql 파일 import해서 사용하기 (@Sql은 intellij 커뮤니티 버전에서 지원 안해줘서 일단 테스트용 .properties 파일에 넣어서 씀)
6. 공용 test data 빌더 패턴으로 작성하기
- 프로덕션 코드
1. 헥사고날 아키텍처 탐방 (머리 터질뻔함)
2. 불변 객체 다루기 (java record 키워드 기반 vs lombok @Value 기반)
3. 커스텀 애노테이션 적용하기
4. jpa entity <-> POJO 맵핑, 영속성 다루기
5. 네이티브 쿼리 클론
6. 가변인자(...), immutable vs unmodifiable 일부
7. 금융도메인 찍먹 (ActivityWindow에 활동 내역을 담는 느낌)
못한 것:
1. arcunit 기반 아키텍처 테스트 (레이어 별로 컨벤션 위배하는지 검증하는 동작이었음)
2. jakarta 기반 validation (코드는 있는데 실제로 쓰고있는지 파악 안하고 종료)
3. thread, lock 관련 (소스 코드에도 NoOpAccountLock, //do nothing.. 으로 되어있음)
느낀 점:
고수의 코드를 클론하는건 많은 도움이 되지만 많은 정신소모도 동반한다.
'미니멀 개발일기' 카테고리의 다른 글
Youtube Doc 기여일기 (가성비 MAX) (0) | 2025.01.13 |
---|---|
찍먹일기 (Kafka, TDD, Event Sourcing Pattern) (0) | 2025.01.09 |
IntelliJ IDEA에서 TODO 관리하기 (0) | 2025.01.08 |
주석중독 (0) | 2025.01.08 |
Intelij IDEA 백그라운드 화면 바꿈 (0) | 2025.01.08 |