본문 바로가기

스프링과 JPA 기반 웹 어플리케이션 개발85

33. 관심 주제 도메인 관심 주제 (Tag)는 엔티티인가? 벨류인가? 엔티티다. 왜? 태그 독자적인 라이프사이클이 있고 다른 곳(Study)에서도 참조할 테니까. Tag엔티티 Id Title (unique) 객체 관점에서의 관계 MayToMany Account에서 Tag를 참조 (단방향) 릴레이션 DB 관점에서의 관계 조인 (join) 테이블을 사용해서 다대다 관계를 표현. Account_Tag에서 Account의 PK 참조. Account_Tag에서 Tag의 PK 참조. Tag엔티티 생성 package me.weekbelt.studyolle.domain; @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Setter @EqualsAndHashCode(of = "id") @E.. 2020. 4. 22.
32. 관심 주제와 지역 정보 관리 기능 미리보기 2부에서 구현할 기능 관심 주제 등록 관심 주제 삭제 지역 정보 데이터 초기화 지역 정보 등록 지역 정보 삭제 참고: https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-JPA-%EC%9B%B9%EC%95%B1# 스프링과 JPA 기반 웹 애플리케이션 개발 - 인프런 이 강좌에서 여러분은 실제로 운영 중인 서비스를 스프링, JPA 그리고 타임리프를 비롯한 여러 자바 기반의 여러 오픈 소스 기술을 사용하여 웹 애플리케이션을 개발하는 과정을 학습할 수 있습니다. 이 강좌를 충분히 학습한다면 여러분 만의 웹 서비스를 만들거나 취직에 도움이 될만한 포트폴리오를 만들 수 있을 겁니다. 활용 웹 개발 프레임워크 및 라이브러리 Java Spring Spring B.. 2020. 4. 22.
31. 패스워드를 잊어버렸습니다. 패스워드를 잊은 경우에는 "로그인 할 수 있는 링크"를 이메일로 전송한다. 이메일로 전송된 링크를 클릭하면 로그인 한다. GET /email-login 이메일을 입력할 수 있는 폼을 보여주고, 링크 전송 버튼을 제공한다. POST /email-login 입력받은 이메일에 해당하는 계정을 찾아보고, 있는 계정이면 로그인 가능한 링크를 이메일로 전송한다. 이메일 전송 후, 안내 메시지를 보여준다. GET /login-by-email 토큰과 이메일을 확인한 뒤 해당 계정으로 로그인한다. 핸들러 작성 package me.weekbelt.studyolle.account; @RequiredArgsConstructor @Controller public class AccountController { // 기존 코드 ... 2020. 4. 22.
30. 닉네임 수정 닉네임 수정 닉네임은 특정 패턴("^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$")의 문자열만 지원 함. 중복 닉네임 확인. settings패키지 재구성 nickname 수정시 데이터를 전달 할 Nickname DTO 생성 package me.weekbelt.studyolle.settings.form; @Data public class NicknameForm { @NotBlank @Length(min = 3, max = 20) @Pattern(regexp = "^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$") private String nickname; } 올바른 nickname 입력을 검증하기위한 NicknameValidator 생성 package me.weekbelt.studyolle.settings.v.. 2020. 4. 22.