반응형 분류 전체보기122 Item 1 생성자 대신 정적 팩터리 메서드를 고려하라 1. 클래스는 생성자와 별도로 정적 팩터리 메서드를 제공할 수 있다. @Data @RequireConstruction @AllConstruction public class DtoResponse{ private String name; private String email; ... public static DtoResponse fromEntity(Entity entity){ return new DtoResponse(entity.getName(), entity.getEmail(), ...); } } 스프링 부트 API를 개발하다 보면 테스트 코드에서나 결과를 반환할 때 dto로 변환을 한다. 이럴 때 일반 Dto 생성자를 사용하는 것보다 DtoResponse.fromEntity를 호출해서 반환하는 것이 더 의.. 2022. 11. 7. jenkins & tomcat 빌드 & 배포 자동화 세팅 이전 포스팅: https://dpwns523.tistory.com/5 SpringBoot API 개발팀을 위한 aws 세팅 AWS에서 EC2를 생성해, 개발팀이 공동으로 작업할 수 있는 서버를 만드는 과정 SpringBoot, Nginx, Tomcat, Mysql AWS : EC2, Route53(Domain), Certificate Manager, SSL, ELB(ALB) EC2를 먼저 생성한다. AWS에.. dpwns523.tistory.com 이전 포스팅에서 개발용 stage 서버를 만들었고, .war를 빌드하여 tomcat에 올리는 것까지 확인을 했다. API 개발 협업을 진행하다보면 GitHub에 branch를 생성하고, 각자 로컬에서 개발을 진행하고, 테스트를 보고 pr을 보내 코드 리뷰 후 .. 2022. 8. 3. SpringBoot API 개발팀을 위한 aws 세팅 AWS에서 EC2를 생성해, 개발팀이 공동으로 작업할 수 있는 서버를 만드는 과정 SpringBoot, Nginx, Tomcat, Mysql AWS : EC2, Route53(Domain), Certificate Manager, SSL, ELB(ALB) EC2를 먼저 생성한다. AWS에 로그인을 한 후, EC2 서비스에 들어가 인스턴스 시작을 누른다. 그러면 Quick Start라며 AMI를 보여준다. AMI는 쉽게 말하면 AWS에서 미리 구축해놓은 서버를 이미지(컨테이너)로 만들어 제공을 해주는 것이다. 나는 우분투를 선택하였고, 인스턴스 유형은 CPU와 메모리를 선택하는 것인데, t2.small을 선택했다. 나중에 CPU나 메모리가 부족하면 AMI 서비스를 이용해 내가 구축해놓은 서버를 이미지로 복사.. 2022. 7. 30. 지연 로딩과 조회 성능 최적화 본 내용은 인프런 김영한 님의 강의 실전! 스프링 부트와 JPA 활용 2를 바탕으로 작성한 내용입니다. 주문 내역을 확인해서 배송 정보, 회원 정보까지 확인하는 API를 만들어본다. 주문 내역에 대한 엔티티 설계는 다음과 같고, 주문 엔티티가 연관관계의 주인이 되는 경우 모두 지연 로딩을 설정했다. 조회 성능을 최적화하기 위해 초기 데이터를 삽입하였다. UserA(주문 회원) JPA1 BOOK (주문 상품) JPA2 BOOK (주문 상품) UserB(주문 회원) SPRING1 BOOK (주문 상품) SPRING2 BOOK (주문 상품) 이제 본격적으로 V1~V4까지 API 버전을 바꿔가며 지연로딩으로 인해 발생하는 성능 문제를 어떻게 해결해나가는지 학습하겠습니다. V1 : 엔티티를 직접 노출 지연 로딩을.. 2022. 7. 22. 이전 1 ··· 27 28 29 30 31 다음 반응형