본문 바로가기

개발/Field-Passer 프로젝트8

[Field-Passer 프로젝트] AWS EC2에 스프링부트 프로젝트 배포하기 목서버가 필요해져서 지금까지 개발된 상황까지 코드를 통합해서 배포하기로 했습니다. 2022.10.07 - [개발/AWS] - [개발/AWS] AWS EC2 인스턴스 생성하기 [개발/AWS] AWS EC2 인스턴스 생성하기 AWS(Amazon Web Service) 서비스를 개발하고 다른 사람들도 쓸 수 있게 배포하기 위해서는 서버가 필요하다. 서버를 직접 구축하고 운용하는 것는 것은 힘들기 때문에 많은 회사가 AWS나 MS AZURE, Google Clo cocoiscat.tistory.com EC2 생성에 대해선 위 글을 참고해주세요. 1. 서버 환경 설정 1) JDK 설치 우선 서버에 JDK를 설치해줬습니다. sudo apt-get update sudo apt-get upgrade sudo apt-g.. 2023. 2. 10.
[Field-Passer 프로젝트] Spring Data JPA에서 NativeQuery로 기간 검색하고 DTO로 값 받기 오늘 하고 싶었던 건 아주 사소했습니다. 회원의 가입 일자를 기준으로 기간 검색을 해서 특정 기간에 신규 가입한 회원이 몇 명인지 알아내고 싶었어요. 정말 사소한 소원이었습니다. 근데 이게 이렇게 오래 걸릴 줄은 몰랐어요. 1. Member Entity @AllArgsConstructor @NoArgsConstructor @Getter @Builder @Entity @Table(name = "MEMBER") public class Member { . . . @Column(name = "SIGNUP_DATE") private LocalDateTime signUpDate; . . . } 2. Controller @GetMapping("/admin/membes/new") public PeriodMemberVO.. 2023. 2. 5.
[Field-Passer 프로젝트] 쿼리 최적화 (N + 1 문제 해결하기) 뇌 뺴고 코딩 하다가 N + 1 문제가 발생하는 걸 알아차려서 해결하는 방법을 써보겠다. 회원 명단을 가져오는 API를 만들고 있었는데 쿼리를 보니까 N + 1 문제가 발생하고 있는 것을 깨달았다. ================= 1 : 회원 명단 가져오기 ================= Hibernate: select member0_.id as id1_4_, member0_.authority as authorit2_4_, member0_.delete_check as delete_c3_4_, member0_.email as email4_4_, member0_.membername as memberna5_4_, member0_.password as password6_4_, member0_.privilege .. 2023. 2. 4.
[Field-Passer 프로젝트] Spring Data JPA 페이징 처리하기 프론트엔드 쪽에서 회원 목록을 조회하는 API에 대해 한 페이지에 데이터 10개씩 페이징해서 결과를 달라는 요청을 했다. 그래서 처음으로 데이터 페이징 기능 구현한 겸 글을 써본다. 1. Controller @GetMapping("/admin/members") public MemberListVO lookUpMembers(@RequestParam(name = "page") int page) { try { return adminService.lookUpmembers(page); } catch (Exception e) { return MemberListVO.builder() .resultCode(e.getMessage()) .build(); } } 이름을 lookuUpmembers으로 했는데 지금 보니까 이름.. 2023. 2. 3.