-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: 회원가입 비즈니스 로직 구현 #34
Conversation
signUp()메서드 인자에 @RequestBody 애너테이션 추가
- 랜덤한 6자리 숫자 생성
- 첫번째 숫자는 0일 수 없었던 기존 문제 해결
📊 Jacoco Test Coverage
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 코드가 응집도 있고 좋아요! 고생하셨습니다 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍👍 코드 가독성이 너무 좋고 클래스 별로 책임도 명확하게 작성하신 것 같아서 많이 배워갑니다!!! 고생하셨어요😊
&& plainPassword.charAt(i) == plainPassword.charAt(i - 2)) { | ||
return true; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💭 이렇게 구현하는게 가장 좋은 방법 같아요! 만약 연속된 문자열 개수가 늘어나면 연속된 문자열 개수를 count로 받고, isConsecutive라는 boolean 타입 변수 하나 선언해서
for (int i = count - 1; i < plainPassword.length(); i++) {
boolean isConsecutive = true; // 연속성을 체크
for (int j = 1; j < count; j++) {
if (plainPassword.charAt(i) != plainPassword.charAt(i - j)) {
isConsecutive = false;
break; // 연속성이 끊기면 반복 종료
}
}
if (isConsecutive) {
return true; // 연속된 문자가 있으면 true 반환
}
}
이렇게 해도 될 것 같은데 지금으로선 오히려 복잡해지는 것 같네요!
의진님께서 구현하신 방향이 좋습니다👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
확실이 이 방법이 확장성이 좋네요👍🏻
추후 리팩토링 시 적용해 보겠습니다:) 의견 감사합니당🙇🏻♀️
import team05.integrated_feed_backend.module.member.entity.Member; | ||
import team05.integrated_feed_backend.module.member.entity.vo.Email; | ||
|
||
@Repository |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
❓ 제가 알기로는JpaRepository 사용하면 @Repository
어노테이션이 없어도 된다고 아는데 작성하신 이유 여쭤보고 싶습니다!(제가 정확하게 아는건 아니라서 잘못 알고있다면 말씀해주세요!)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
습관적으로 붙인 것 같아요 허허😭 350460a 반영했습니다!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
덕분에 VO 관련 내용도 알 수 있었습니다! 고생많으셨습니다 👍
📊 Jacoco Test Coverage
|
🎟️ 관련 이슈
Resolves #33
👩💻 구현 내용
VerificationCodeGenerator
유틸 클래스 생성MailService
인터페이스 생성 및SimpleMailService
구현체 추가 (단순 로깅만 하는 클래스)Email
,Password
값 객체 생성Email
,Password
값 객체 테스트 코드 작성💬 코멘트
SecurityConfig
는 임의로 추가해 놨습니다!💭 고려한 점
조건 2. 숫자, 문자, 특수문자 중 2가지 이상을 포함해야 합니다.
)는 정규식으로 해결했는데, 조건 3번(3회 이상 연속되는 문자 사용이 불가합니다.
)은 정규식으로 처리하기 까다로워서, O(n) 정도의 시간 복잡도가 소요되는 방식으로 직접 구현했습니다..! (혹시 더 좋은 아이디어가 있다면 의견 공유해주세요🥹)