[GDG Campus Korea] Whatever you make 3주차 회고록

박준형·2023년 8월 30일

📖이번주 진행했던 학습/개발 내용은 무엇이었나요📖

  • 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 테스트 하기
profile
으쌰 으쌰

3개의 댓글

comment-user-thumbnail
2023년 9월 10일

역시 BackEnd의 왕 답게 항상 기술적으로 중요한 부분에서 고민을 하시는군요!!! Docker를 학습하면서 더욱 멋진 개발자가 되었길 바랍니다~!~!~!👍👍

답글 달기
comment-user-thumbnail
2023년 9월 10일

백엔드의 세계란 멀고도 험하네요...s3로 프론트랑 통신하는거 구경갈게용

답글 달기
comment-user-thumbnail
2023년 9월 10일

우와 백엔드 어렵다어려워...저도 얼른 도커 환경에 접속하고 싶습니다!!! 대체 문제가 뭘까요!! 내일 해결해보도록 해요~~ 내일 사진 주고받는 것도 해봅시다. 다음주도 화이팅여요~.~

답글 달기