[WIL] 항해99 7주차 회고

    이번 주차를 진행하며 내가 가장 신경 쓴 부분/기술에 대한 정리

     

    1. 이메일 인증

    2022.11.06 - [Spring] - [Spring] 회원가입 시 이메일 인증 (feat.네이버메일)

     

    [Spring] 회원가입 시 이메일 인증 (feat.네이버메일)

    naver smtp용 계정 설정 네이버 로그인 -> 메일 -> 좌측 최하단 (용량/환경설정/스킨설정/pop3로그인 기록보기/모바일 메일) 중 환경설정 클릭 -> POP3/IMAP 설정 클릭 -> POP3/SMTP 설정에서 POP3/SMTP: 사용 사

    dev-daybyday.tistory.com

     

    2. Github actions로 CI/CD 구현

    2022.11.02 - [Git, GitHub] - Github Actions로 AWS EC2에 자동 배포하기

     

    Github Actions로 AWS EC2에 자동 배포하기

    Github actions가 돌아가는 원리 Github Action에서 프로젝트 빌드 후, jar 파일을 압축해서 AWS S3에 업로드 Github Action이 CodeDeploy에게 S3에 있는 jar 파일을 배포하라고 전달 CodeDeploy는 배포할 EC2 인스턴스

    dev-daybyday.tistory.com

     

    3. QueryDSL & Pagination

    @RequiredArgsConstructor
    @Repository
    public class MemberInfoRepositoryImpl implements MemberInfoQueryRepository{
    
        private final JPAQueryFactory queryFactory;
    
    
        @Override
        public Page<MemberInfo> findFilter(Pageable pageable, List<String> gender, List<LocalDate> birthDate, List<String> mbti, List<String> location) {
    
            QMemberInfo memberInfo = QMemberInfo.memberInfo;
    
            List<MemberInfo> result = queryFactory
                    .from(memberInfo)
                    .select(memberInfo)
                    .where(memberInfo.gender.in(gender))
                    .where(memberInfo.mbti.in(mbti))
                    .where(memberInfo.location.in(location))
                    .where(memberInfo.birthDate.between(birthDate.get(0),birthDate.get(1)))
                    .limit(pageable.getPageSize()) 
                    .offset(pageable.getOffset())
                    .orderBy(memberInfo.id.desc())
                    .fetch();
                return new PageImpl<>(result,pageable,result.getSize());
    
        }
    }
    728x90

    댓글