본문 바로가기

백엔드/Makit

(2)
세션을 통한 회원가입 회원가입 기능을 구현할 때 가장 고려해야했던 것은 다음과 같다. 1. 각 항목을 다른 페이지에서 입력 받기 때문에 각 항목을 세션으로 저장 후 회원가입 시 한번에 db에 저장시키기2. password 보안성을 위한 단방향 암호화   먼저 기본적으로 설계한 구조는 다음과 같다.  컨트롤러, 서비스, entity, repository는 기본적 요소이니 제외하고DTO, Validator 등을 추가적으로 사용하고자 했다.  DTO를 사용한 이유는 다음과 같다. 1. 클라이언트 요청에서 수신하는 데이터와 응답 데이터를 캡슐화2. 클라이언트와 서버 간의 데이터 구조를 명확히 정의하므로, 예상치 못한 데이터 변화를 방지3. 요청 데이터가 복잡한 경우(ex) JSON), DTO를 사용하면 코드 가독성과 유지보수성이 향..
회원가입 시 이메일 전송을 통한 유효성 검사 플랫폼 개발을 시작하면서 먼저 가장 먼저 선행되는 기능인 회원가입. 그를 위한 이메일 유효성 검사를 구현했다.프론트엔드 파트가 지정해준 api 및 용어에 맞추어 개발을 진행하였다. flow는 다음과 같다. 1. 이메일 입력 후 올바른 양식인지 확인(프론트엔드 담당)2. 입력한 이메일에 인증 코드 발송 요청 시 이미 등록된 이메일인지 아닌지 검사 후 코드 발송 여부 판단3. 인증 코드 검증. 인증 코드의 유효시간은 3분4. 인증 코드 재전송. 재전송에 필요한 시간은 따로 지정하지 않음 먼저 이메일 전송을 위해 내가 택한 기술은 Spring Boot + Spring Mail이다JavaMailSender 인터페이스를 통해 이메일을 쉽게 발송할 수 있으며, 외부 라이브러리 없이 Spring Boot의 appli..