프로젝트 정리/스프링과 JPA 기반 웹 애플리케이션 개발
37. 관심 주제 등록 기능 구현
타임리프 자바스크립트 템플릿 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#javascript-inlining Escaped: [[${variable}]] Unescaped: [(${variable})] 네추럴 템플릿: /*[[${variable}]]*/ null; Ajax 호출시 CSRF 토큰을 전달 하는 방법 https://docs.spring.io/spring-security/site/docs/current/reference/html5/#servlet-csrf-include-ajax 타임리프 자바스크립트 템플릿으로 Ajax 호출시 CSRF 토큰 설정 실습 시작 커밋: https://github.com/devjun63/whiteshi..
36. 관심 주제 등록 뷰
태그 등록 뷰 SQL 확인 # 개발할 때에만 create-drop 또는 update를 사용하고 운영 환경에서는 validate를 사용합니다. spring.jpa.hibernate.ddl-auto=create-drop # 개발시 SQL 로깅을 하여 어떤 값으로 어떤 SQL이 실행되는지 확인합니다. spring.jpa.properties.hibernate.format_sql=true logging.level.org.hibernate.SQL=DEBUG logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE 프론트엔트 라이브러리 Tagify npm install @yaireo/tagify 예제) https://yaireo.github.io/tagify/
35. 관심 주제 도메인
관심 주제 (Tag)는 엔티티인가 밸류인가? Entity = 독자적인 식별자를 가지고 있는 것 value = Entity에 속해있는 것 설계하기 나름 Tag를 Account에서만 쓰겠다 Account의 부가적인 정보를 표한하는데만 쓰면 Value 엔티티다. 왜? 태그 독자적인 라이프사이클이 있고 다른 곳(Study)에서도 참조할테니까. Tag 엔티티 Id Title (unique) 객체 관점에서의 관계 ManyToMany Account에서 Tag를 참조 (단방향) 릴레이션 DB 관점에서의 관계 조인 (join) 테이블을 사용해서 다대다 관계를 표현. Account_Tag에서 Account의 PK 참조. Account_Tag에서 Tag의 PK 참조. 실습 시작 커밋: https://github.com/de..
34. 관심 주제와 지역 정보 관리 기능 미리보기
2부 관심 주제와 지역 정보 2부에서 구현할 기능 관심 주제 등록 관심 주제 삭제 지역 정보 데이터 초기화 지역 정보 등록 지역 정보 삭제 https://github.com/yairEO/tagify GitHub - yairEO/tagify: 🔖 lightweight, efficient Tags input component in Vanilla JS / React / Angular / Vue 🔖 lightweight, efficient Tags input component in Vanilla JS / React / Angular / Vue - GitHub - yairEO/tagify: 🔖 lightweight, efficient Tags input component in Vanilla JS / React /..
33. 패스워드를 잊어버렸습니다
패스워드를 잊은 경우에는 “로그인 할 수 있는 링크”를 이메일로 전송한다. 이메일로 전송된 링크를 클릭하면 로그인한다. GET /email-login 이메일을 입력할 수 있는 폼을 보여주고, 링크 전송 버튼을 제공한다. POST /email-login 입력받은 이메일에 해당하는 계정을 찾아보고, 있는 계정이면 로그인 가능한 링크를 이메일로 전송한다. 이메일 전송 후, 안내 메시지를 보여준다. GET /login-by-email 토큰과 이메일을 확인한 뒤 해당 계정으로 로그인한다. 실습 시작 커밋: https://github.com/devjun63/whiteship-studyolle/commit/63cc874271a882206f082f195e5ebb05c0d859ce 완료 커밋: https://github..
32. 닉네임 수정
계정 관리 뷰 닉네임 수정 닉네임은 특정 패턴("^[ㄱ-ㅎ가-힣a-z0-9_-]{3,20}$")의 문자열만 지원 함. 중복 닉네임 확인. 실습 시작 커밋: https://github.com/devjun63/whiteship-studyolle/commit/b11153692623259ba7a36194c32fd8df9a15b297 완료 커밋: https://github.com/devjun63/whiteship-studyolle/commit/63cc874271a882206f082f195e5ebb05c0d859ce 31. ModelMapper 적용 · devjun63/whiteship-studyolle@b111536 Permalink This commit does not belong to any branch on..