Member 임시 저장을 Quartz를 이용한 스케쥴링Member에 임시 저장을 하게 된다.Quartz를 이용하여 스케쥴링 설정이 되어 시간이 어느정도 지날때까지 인증을 하지 않게되면 회원이 삭제되는 로직Auth키를 Redis에서 잠시 저장을 한다.Redis 값에 회원 정보를 통째로 저장Member에 인증을 했는지 안했는지 구분하는 boolean값 컬럼을 지워도 됨그림으로 설명하자면

원래 로직이 이렇게 되고,

이렇게 간단하게 바뀌게 된다.
좀 더 효율적인 로직으로 발전하게 되었다.
@PostMapping("/member/signUp/email")
public void signUp(@Valid MemberDto memberDto, BindingResult bindingResult) throws JsonProcessingException {
validation.validate(memberDto, bindingResult);
if (bindingResult.hasErrors()) {
log.error("errors={}", bindingResult);
return ;
}
// 원래 로직 - 멤버 DB로 미리 회원을 저장
// memberService.signUp(memberDto);
authKeyRepository.deleteAuth(memberDto.getEmail());
//임의의 authKey 생성 & 이메일 발송
String authKey = mss.sendAuthMail(memberDto.getEmail());
memberDto.setAuthKey(authKey);
// 바뀐 로직 - Redis에서 모든 회원정보를 저장
// 이후에 인증을 완료하면 회원 DB에 새로 저장
authKeyRepository.saveAuth(memberDto);
}
Jacoco를 이용한 테스터 확인 및 단위 테스트 구현Docker 설정에 대해 알아보기(local + aws)