스프링 3

상품 조회 중에 만난 N+1문제

N+1문제란? JPA로 개발을 하면 자주 접하는 문제이다. 하위 엔티디들을 첫번쨰 조회할떄는 코빼기도 안보이다가 Lazy로 되어 있는 놈들은 필요할때가 되면 그제서야 조회를 시작한다. 시작할때 한방에 Eager로 조회를 하면 sql문을 많이 날릴필요가 없다. 저번 포스팅에서 작성한 페이징 처리를 위해서 작업을 마치고 조회 쿼리문을 세어보니 총 12번의 쿼리문이 나갔다. Page findProductsByProductIdIsLessThanOrderByCreatedAtDesc(Long productId, Pageable pageRequest); 결과 2022-01-18 21:55:57.772 DEBUG 7944 --- [nio-8080-exec-2] org.hibernate.SQL : select 1번 pr..

Spring boot 에서 AWS S3 버킷 업로드 파일 확장자 구분해서 업로드 해주기

아거 프로젝트에 파일을 저장하는 부분을 고민하다가 S3에 업로드 하여 업로드된 파일의 URL을 DB에 저장을 하기로 회의를 통해서 결정 하게 되었습니다. S3는 AWS에서 제공을 하는 객체 스토리지 서비스입니다. 쉽게말해서 도라에몽 주머니 처럼 아무거나 다들어가는 만능 주머니 입니다. 그래서 Springboot를 이용하여 AWS S3에 파일 업로드에 대한 포스팅을 해보려고 합니다. S3버킷 만들기는 다른 블러거분들이 올린 좋은 글들을 참고해서 만들어 주시면 될것같습니다. 버킷을 만들고 IAM키를 만들었다는 가정하게 진행을 하겠습니다. S3에 아무파일이나 올리면 안되기때문에 이미지만 올리게 s3의 권한정책을 변경해보겠습니다. 아거에서는"png","jpg","jpeg"만 업로드 하게 설정하였습니다. 버킷 정..

스터디 올래 코드 분석해보기

회원 가입 https://shaded-parakeet-7d2.notion.site/bf59c166548145a8a5e23aaf529f40e2 회원가입 로그인까지의 순서도 APP→ index.html→ shaded-parakeet-7d2.notion.site 로그인 이후 https://shaded-parakeet-7d2.notion.site/97344c16050d440382a63dbb208ff779 로그인 이후 password 변경 shaded-parakeet-7d2.notion.site 로그인 하는 과정 https://www.notion.so/e7753d1c6f124cd1b311b3b69eb91ae0 로그인시에 과정 /login post시 Authentication→ AuthenticationManage..