본문 바로가기

Spring55

[TIL] 240204 코드 리뷰/프로젝트 복습 Category 새로 배운 것/ 복습: map public List getCategories() { List categoryList = categoryRepository.findAll(); return categoryList.stream().map(CategoryResponseDto::new).toList(); } - map을 이용하여 쉽고 깔끔하게 entity로 된 list를 dto로 된 리스트로 변경 IOException //카테고리 수정 @Secured(Authority.ADMIN) @PatchMapping("/{categoryId}") public ResponseEntity updateCategory( @RequestParam MultipartFile image, @RequestPart("data") Catego.. 2024. 2. 4.
[TIL] 240203 WAS Web Server Apache, Nginx 등 정적 컨텐츠 WAS Tomcat 동적 컨텐츠 처리 https://sehun-kim.github.io/sehun/spring-short-story/ [Spring] Request 흐름과 WAS에 대한 아주 짧은 이야기 Spring은 Servlet이다? Tomcat은 WAS다?, JDBC와 ORM은? sehun-kim.github.io 2024. 2. 4.
[TIL] 230201 N+1 문제 해결 Join fetch, BatchSize Dynamic Entity Graph (JPA) Hibernate하는 힌트를 줌 table간의 관계를 보여줌 left outer join (상대쪽을 불러올 수 없음) 관계없는 collerction을 조회할 경우 N+1문제 다시 발생 Join fetch (JPA) EntityGraph와 같이 hibernate의 힌트를 줌 inner Join으로 연결 Static @Batch Size N+1 문제를 N/batchSize +1 로 변경해줌 한개만 조회하고 싶어도 batch size 설정한 만큼 조회된다는 단점이 있음 @Fetch (subselect) N+1 을 1+1로 바꿔줌 FetchJoin OneToMany FetchJoin fetchjoin을 사용하여 중복된 데이터가 조회될 때 Hibernate.init.. 2024. 2. 1.
[TIL] 240125 Spring @Transactional Transaction: 하나의 작업 Rollback: not happen at all @Transactional Transaction을 관리하는 가장 작은 단위 트렌젝션 롤백 예외 - 런타임 예외가 발생하면 롤백한다 - 예외가 발생하지 않으면 커밋한다 쉽게 이야기하면 될거면 다 되고, 안될거면 다 안된다 계좌 조회에서 예를 들면, 잔액 확인 -> 상대방 계좌 확인 -> 금액 전송 -> 내 계좌에서 금액 마이너스 -> 상대방 계좌에서 들어온 금액만큼 더해줌 등의 과정이 있다고 했을 때 이 중 하나라도 안되면 롤백 즉 마지막 작업까지 수행하지 않고 실패함 //사진 삭제 @Transactional public ReviewResponseDto deleteReviewImage(Long categoryId, Lon.. 2024. 1. 25.
[TIL] 240123 최종 프로젝트: 키워드 기반 상품 검색 상품 검색 전체 상품의 이름과 상품 설명 중 사용자가 입력한 문자열이 있으면 다 반환한다. 상품검색 * 키워드를 기반으로 상품을 검색합니다. 페이지네이션과 정렬 기능을 제공합니다. * @param keyword 검색할 키워드 * @param pageable 페이지네이션 정보 * @return 검색 결과와 상태 정보를 담은 ApiResponse ProductService // 상품 검색 public Page getProductsBySearch(String keyword, Pageable pageable) { if (!StringUtils.hasText(keyword)) { throw new ApiException("검색어를 입력해주세요.", HttpStatus.BAD_REQUEST); } Page prod.. 2024. 1. 23.
[TIL] 240119 AWS EC2 EC2 Elastice Comput Cloud (탄력적인 클라우드 컴퓨터) 적은 양을 사용할 때 요금을 조금만 내고 많이 쓸 땐 많이 내는 개념 AWS 기본 서비스 중 하나 물리서버에서 인스턴스(가상 서버)를 만듬 필요에 따라 더 많은 인스턴스를 만들수 있음 클라우드 서비스의 종류 IaaS : Infrastructure as a Service (EC2같은거) 하드웨어 인프라를 인터넷을 통해 제공하는 서비스 PaaS: Platform as a Service 어플리케이션 배포 위해 사용 (AWS Elastic Beanstalk) Saas: Software as a Service (구글 드라이브, 마이크로소프트 오피스 365) EC2의 다양한 옵션들 1. 인스턴스 유형 - 인바운드 규칙 SSH (터미널에서 여.. 2024. 1. 19.