회원가입3 2022.05.25 「Email 인증」 열심히 프로젝트를 하다가 초기 구상한 wiki를 다시 보게 되었다. 회원가입 시 이메일 api를 사용하기로 했는데 그걸 까먹었다.. 그래서 회원가입을 다시 건드리게 되었다. Java의 MailSender 인터페이스를 사용하여 SMTP 구글 이메일로 이메일 인증 번호를 클라이언트 요청 이메일로 보내주도록 설계하고 인증 번호를 redis DB에 저장하여 비교하고 회원가입을 이루게 할 것이다. Mail Sender // Mail implementation 'org.springframework.boot:spring-boot-starter-mail' 먼저 의존성을 추가했다. Application.yml 지금까지 Properties 파일을 사용하고 있었는데, 이번 기회에 yaml을 사용해보기로 결정했다. 이유는 인.. 2022. 5. 25. 2022.05.16 「리팩토링」 프로젝트를 진행 중이다. 제대로 신경 써서 하다 보니 너무 오래 걸리는 것 같다. 또 제대로 짰다고 생각한 코드도 리팩터링 할 영역 투성이다. 이러면서 실력이 느는 거겠지..? 진짜 제대로 된 프로젝트 한번 만들어보자 리팩토링 목록 불변 객체 이슈 => setter를 허용한 객체 문제 : 불변성을 띄질 못한다. 해결 : loginDTO 객체는 값을 전달하는게 목적이므로 확실하게 불변성을 지녀야 한다. 따라서 불변객체로 다시 만들자 public class UserLoginDTO { private final String userId; private final String userPw; public UserLoginDTO(String userId, String userPw) { this.userId = use.. 2022. 5. 16. 2022.05.12 「ResponseEntity body & BuilderPattern & Join」 Restful 한 api를 설계하는 것은 참 까다로운 것 같다. 학원에서 완전 기초적인 내용만 배운 것도 있었고 그 부분만 머릿속에 깊이 저장되어 있었기 때문에 제대로 된 rest 방식은 다른 것임을 이해하는데 시간이 너무 오래 걸렸다. 회원 가입, 로그인만 하더라도 어떻게 보면 누군가에겐 별게 아닐테지만 어떤 식으로 생각을 하며 설계를 하느냐에 따라 시간이 오래 걸리는 것 같다. 어제 한 비밀번호 암호화도 마찬가지다. 특히 restful한 방식으로 설계를 하는 것은 처음 해보기 때문에 더 낯설고 이해가 잘 안 되었다. 보통 Return Type인 ResponseEntity를 사용해 응답 관련 정보를 돌려주는데 헤더와 바디에 적절한 데이터를 넣어주는 걸 고르는 게 쉽지 않았다. 오늘도 아침부터 지금 오후.. 2022. 5. 12. 이전 1 다음 반응형