2023.08.09.수.TIL

heeh·2023년 8월 11일

TIL

목록 보기
61/82
post-thumbnail

2023.08.09.수.TIL

  • 인증된 이메일, 회원 가입이 완료된 이메일일 때 인증 코드 이메일을 수신 받지 않도록 (발신하지 않도록) 예외 처리하기
  • 인증을 아직 하지 않은 이메일에 대한 인증 코드는 새로 받을 때 마다 전 코드가 비활성화 되기 하기
    • 인증된 이메일이 아니고 계속 인증 코드 메일을 보내도 똑같은 인증 코드 번호가 온다….
    • 다시 물어보기
  • 로컬 데이트 타임을 키로 써서 응용
  • 깃 사용!
    • 커밋 → 푸시 → 풀리퀘스트 → 이슈 클로즈
    • 커밋, 푸시 후 (로컬 안에 있는 작업한 브랜치를 리모트에 있는 디벨롭에 머지해도 되냐 하는 요청 = )풀리퀘스트 → 풀리퀘스트 팀장님 확인 → 로컬 안에 있는 작업한 브랜치를 리모트에 있는 디벨롭에 머지( 깃허브의 풀리퀘스트에서 초록색버튼 누르면 머지가 되고 충돌 있으면 알림이 뜨고 완료가 되면 브랜치 삭제 버튼이 뜨고 누르면 삭제됨 ) → 리모트 작업 브랜치 삭제됨 → 이슈 닫기 → 끝? → 이슈 만들기 → remote 디벨롭 체크아웃 → local 디벨롭 업데이트 → local 디벨롭 기준으로 브랜츠 따서 feature/이슈번호/{기능 설명} → 기능 구현 → 반복
  • A에 B를 넣어야 한다면(머지 해야 한다면) A를 선택하고 B를 넣기(머지 하기)
    • A를 체크 아웃(선택)하고 B를 넣기!(머지)
    • Merge B into A
    • git-merge
      • A를 체크 아웃(선택) → git merge B(선택) → MERGE
  • redis 이메일 인증 구현 다했구욤.,,, 리팩터링 필요하지만 다했고,,, 머지까지 완료하고…!!!!! 이제 새로운 이슈 만들기 → remote - 디벨롭 체크아웃 → local 디벨롭 업데이트 → 디벨롭 기준으로 브랜츠 따서 feature/이슈번호/{기능 설명} → 기능 구현
  • redis 설정으로 인해 필요 없어진 class
    package com.example.hybrid_kanbanboard.user.repository;
    
    import com.example.hybrid_kanbanboard.user.entity.EmailVerification;
    import org.springframework.data.jpa.repository.JpaRepository;
    
    import java.util.Optional;
    
    public interface EmailVerificationRepository extends JpaRepository<EmailVerification,Long> {
        Optional<EmailVerification> findByEmail(String userMail);
    }
    package com.example.hybrid_kanbanboard.user.entity;
    
    import jakarta.persistence.*;
    import lombok.Getter;
    import lombok.NoArgsConstructor;
    import lombok.Setter;
    
    import java.time.LocalDateTime;
    
    @Getter
    @Entity
    @Setter
    @NoArgsConstructor
    @Table(name = "email_verifications")
    public class EmailVerification {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long emailId;
    
        @Column(nullable = false)
        private String email;
    
        @Column(nullable = false)
        private int verificationCode;
        // 이메일 인증에 사용되는 인증 번호 저장
    
        @Column(nullable = false)
        private LocalDateTime expirationDateTime;
        // 이메일 인증 유효 기간
    
        private boolean isApproved = false;
    
        public EmailVerification(String email, int verificationCode, LocalDateTime expirationDateTime) {
            this.email = email;
            this.verificationCode = verificationCode;
            this.expirationDateTime = expirationDateTime;
        }
    
        public void approve() {
            this.isApproved = true;
            // 인증이 됐으면 true가 되도록!
        }
    }
  • 예약어 … spring에서 이미 있는 명령어 같은.. 단어 다른데다(테이블, 패키지 등) 못쓰게 함….
  • 프로필은 second project 에서 가져옴 ㅎㅎ
  • 예외 처리 확인하기
  • 이메일 인증 요청, 인증 검증하고 회원가입 할 때 이메일 다른거 써도 왜 회원가입 되는지….
  • 인증 코드 랜덤 확인하기
  • JPA : CRUD 레포지토리
  • REDIS 레포지토리 : CRUD 레포지토리 상속..? - DB

redis - 임승현튜터님

로그아웃

profile
공부하자개발하자으쌰으쌰

0개의 댓글