본문 바로가기
반응형

분류 전체보기120

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.
Git Project와 issue 관리 GitHub는 VCS(Version Control Service)로 많이 사용했다. 하지만 학부생인 현재 형상관리 툴을 제대로 사용하지 못하고 그냥 개인 프로젝트 저장, 기록에만 사용하고 다시 열어보면 어떤 과정이 있었는지 알 수 없었고 심지어 완성이 된 것인지 하다가 그만둔 건지 뭘 했는지 알 수 조차 없는 그런 레포가 되었다... ㅠ 계속 노션으로 관리하면 돼, 다음부터는 관리하는 법을 배워서 프로젝트를 진행하면 돼, 협업할 때 제대로 하면 돼 하며 미뤄왔던 일을 이번에 GitHub에서 제공하는 여러 기능을 공부하면서 정리해보겠다. 이 글은 GitHub Pro버전에서 진행한 것이기 때문에 Pro가 아니면 에러가 발생할 수 있습니다!! (발생 안 할 수도..) GitHub의 기능을 많이 활용한 Open.. 2022. 7. 14.
Entity와 DTO의 분리 자바 ORM 표준 JPA 프로그래밍 교재를 통해 공부하며 고민했던 내용입니다. JPA를 공부하며 의문이 생겼다. JPA를 사용하면 Entity와 DTO를 분리해서 사용해야 된다고 한다. 이전에 Mybatis를 사용할 때는 mapper가 DAO의 역할을 하기 때문에 별도로 만들지 않고 DTO만으로 처리를 했었다. 이렇다고 배웠다.. 스프링 공부를 시작한 지 얼마 안 되었을 때라서 Member에 대한 API는 모두 MemberDTO로 처리하였고, API를 만들다 보니 필요 스펙에 따라 온갖 어노테이션을 갖다 붙였다. 지금 다시 열어보면 정말 최악의 코드인 것 같은데 그때 당시에는 잘 짰다고 생각했던.. 어쩌면 이러한 실수? 무지? 때문인지 JPA를 공부하면서 크게 깨달음을 얻게 되었다. MyBatis를 사용.. 2022. 7. 6.
반응형