
- Docker로 (spring boot + mariaDB + Redis) 연동하여 프론트에게 서버환경 제공
- Dto로 데이터 수신 및 송신, Builder 패턴으로 엔티티로 변경하는 방법 학습
- JPA 영속성 전이와 즉시 로딩, 지연 로딩 개념 학습
지난주에 계획했던 Docker로 프론트에게 서버 환경 제공하는 것을 성공적으로 끝냈다! 솔직히 처음 써보는 기술이라 할 수 있을지 막막했는데 역시 일단 부딪혀보는 게 최고의 방법인 거 같다. 어떻게 했는지는 📃에 작성해 두었다. 그리고 평소에 궁금했던 JPA 영속성 전이와 즉시 로딩, 지연 로딩의 개념에 대해서 자세히 알게 되어 좋았다! 즉시 로딩과 지연 로딩에 대한 내용은 📃에 작성해 두었다.
아쉬운 점은 지난주랑 결이 비슷한데 역시 이름 정하는거 때문에 시간을 많이 날렸다. docker-compose 파일에 내가 사용할 컨테이너들을 명시해두는데 거기서 Redis 컨테이너 이름을 redis로 설정했다. 이전에 테스트용으로 만든 redis 컨테이너가 하나 더 있어서 충돌이 발생해서 Redis에 정상적으로 저장이 되지 않았다...
즉시 로딩과 지연 로딩을 어떤 상황에 써야 효율적인지 고민하면서 코드를 작성했다. 직관적으로는 연관관계에 있는 엔티티를 바로 조회해야하면 즉시 로딩! 그렇지 않으면 지연 로딩! 이 정도로 이해했는데 막상 프로젝트로 도입하려니까 기준이 모호하다는 생각을 했다. 관련 엔티티를 즉시 조회해야 하는 때와 그렇지 않을 때가 반반이면 어떻게 해야 하는지 이런 경우에 즉시 로딩과 지연 로딩 둘 중 뭐가 효율적인지 고민하였다.
추가적으로 김영한 선생님의 인프런 강의 "실전! JPA 활용 1" 강의에선 모두 지연 로딩을 사용할 것을 권장하고 있고 직접 쓰신 "자바 ORM 표준 JPA" 책에선 두 개를 상황에 맞게 해야 좋다고 하시는데... 어떻게 해야할까... 더 학습해야 할거 같다.
아무래도 생각했던거 보다 개발 속도가 느린거 같다. 조금 더 속도를 내야할거 같다!
- 프론트에서 S3에 업로드 한 이미지 링크 DB에 저장하기
- DB에 저장한 이미지 링크 프론트에 띄어보기
- 자주 사용하는 spring 어노테이션 정리하기
- API 테스트 하기
역시 BackEnd의 왕 답게 항상 기술적으로 중요한 부분에서 고민을 하시는군요!!! Docker를 학습하면서 더욱 멋진 개발자가 되었길 바랍니다~!~!~!👍👍