본문 바로가기

전체 글

(41)
[MATURI] 사이드 네비게이션 상세설명 목차 thymeleaf-layout-dialect를 이용하여 layout 사이드 네비게이션 공통 부분처리 resize 이벤트를 통해 사이드 네비게이션 크기 조절 사이드 네비게이션의 버튼을 클릭시 나오는 각종 팝업창 또는 페이지 이미지 1. thymeleaf-layout-dialect 를 이용하여 layout 사이드 네비게이션 공통 부분처리 일반적으로 웹 사이트를 제작할 때, header나 footer와 같은 공통 부분은 따로 조각을 분리하여 코드를 작성합니다. header나 footer조각을 넣는 방식으로 코드를 작성해도 되지만 thymeleaf-layout-dialect 라이브러리를 통해 사이드 네비게이션과 기타 공통된 코드가 작성된 layout에 페이지별로 공통되지 않는 코드를 넣는 방식으로 처리하였..
[MATURI] 회원가입 기능 상세설명 목차 이메일 인증 유효성 검사 비밀번호 암호화 회원가입 로직(SNS회원 가입, 일반 회원가입) 1. 이메일 인증 인증번호 받기를 클릭시 나오는 alert창 javaMailService를 사용하는 Config클래스 @Configuration @PropertySource("classpath:email.properties") public class EmailConfig { @Value("${mail.smtp.port}") private int port; @Value("${mail.smtp.socketFactory.port}") private int socketPort; @Value("${mail.smtp.auth}") private boolean auth; @Value("${mail.smtp.starttls...
[MATURI] 로그인 기능 상세 설명 hibernate-validator를 활용하여 back단에서 유효성 검사 일반 로그인, SNS로그인 로직처리 session,Interceptor 을 활용한 로그인 체크 HandlerMethodArgumentResolver 구현해서 만든 @Login을 통해 쉽게 session에서 id 값 가져오기 1. hibernate-validator를 활용하여 back단에서 유효성 검사 로그인 유효성 검사는 민감한 정보를 다루므로 front단에서 유효성 검증을 하지 않고, hibernate-validator를 활용하여 back단에서 유효성 검사를 하였습니다. MemberLoginDTO : 로그인 정보를 받는 DTO @Data @Builder @NoArgsConstructor @AllArgsConstructor publ..
[MATURI] 공통 로직 상세설명(DTO,인터셉터,트랜잭션,상수...) 목차 URL설계를 RESTful하게 함으로 자원과 행위를 분리 Controller단에서 Entity를 사용하지 않고 DTO로만 요청을 받고, 응답함으로써 유지 보수성과 보안성을 향상 DTO변환을 Service단에서 처리함으로 유연성과 가독성을 높이고, 개발 생산성을 향상. 인터셉터를 통해 인증 및 권한 검사하는 보안 처리를 수행함으로 보안성을 강화 시키고, 공통 기능처리, 효율적인 코드관리, 유연한 개발을 하도록 설계. Service단에 트랜잭션처리를 통해 데이터 일관성 유지, 동시성 문제 해결, 코드 간결성, 안전성을 보장. 문자열은 모두 상수로 처리하여 유지 보수성 향샹 및 개발자의 실수 방지 1. URL설계를 RESTful하게 함으로 자원과 행위를 분리 프로젝트에서 사용되는 모든 요청을 정리한 UR..
[MATURI] ERD, 테이블 설계 상세설명 목차 member 테이블 article 테이블 tag,tag_value 테이블 restaurant 테이블 comment 테이블 like_article, like_comment 테이블 article_report, comment_report 테이블 follow 테이블 block 테이블 1. member 테이블 로그인기능이 있는 사이트의 중심이 되는 member테이블입니다. 회원가입시 email, name, passward 를 받습니다. 이때 salt컬럼은 회원가입시 생성되는 난수로 비밀번호 암호화할 때 사용됩니다. nick_name은 회원가입시 랜덤으로 생성해주고, 마이페이지에서 변경할 수 있도록 설계했습니다. profile_img(프로필사진), profile(상태메시지), cover_img(마이페이지 배경..
[MATURI] MATURI 프로젝트 상세 설명 목차 다음의 목차로 Maturi 프로젝트에 대해 상세하게 설명하겠습니다. 메인 페이지 상세 설명은 꼭 봐주세요! 1. ERD, 테이블 설계 상세 설명 [MATURI] ERD, 테이블 설계 상세설명 member 테이블 article 테이블 tag,tag_value 테이블 restaurant 테이블 comment 테이블 like_article, like_comment 테이블 article_report, comment_report 테이블 follow 테이블 block 테이블 1. member 테이블 로그인기능이 있는 51-taek.tistory.com 2. 공통로직 상세설명 [MATURI] 공통 로직 상세설명(DTO,인터셉터,트랜잭션,상수...) URL설계를 RESTful하게 함으로 자원과 행위를 분리 Contro..
[Spring] Could not find method developmentOnly() for arguments [org.springframework.boot:spring-boot-devtools] 프로젝트를 생성하고 세팅작업을 하던중 querydsl과련 의존성 추가 후 devtools도 추가하고, Load Gradle Change를 하니오류가 발생하였고, 에러메시지중 아래와같은 메시지가 있었습니다. Could not find method developmentOnly() for arguments [org.springframework.boot:spring-boot-devtools] 평소에 devtools를 추가할 땐 문제없이 잘실행 되었는데, querydsl을 추가하니 에러가 발생한 것을 보아 뭔가 build 과정중 꼬였구나 생각이 들었습니다. spring.io공식 문서에 예시 코드가 있었는데 이를 복붙하니 문제없이 빌드가 되었습니다. https://docs.spring.io/spring-boot/d..
Spring이란?(IoC,DI,역할 분리, 트랜잭션...) 1. 스프링의 정의 스프링이 뭐냐고 물어볼 때 스프링은 뭐다! 라고 한줄 요약하기는 스프링이 제공하는 기술이 워낙 방대하기 때문에 상당히 어렵습니다. 그래도 스프링의 정의가 뭐냐고 대답을 해야한다면 대체로 아래와 같이 표현합니다. 자바 엔터프라이즈 개발을 편리하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 2. 스프링 프레임워크 모듈에서 지원하는 여러 모듈 모듈 그룹 설명 코어 컨테이너 스프링 프레임워크의 기본 모듈을 포함한다. 이 그룹의 모듈은 스프링의 DI기능과 IoC컨테이너 구현을 제공한다. AOP 및 인스트루먼테이션 관점 지향 프로그래밍(AOP) 및 클래스 인스트루먼테이션을 지원하는 모듈을 포함한다. 데이터 접근/통합 데이터베이스 및 메시징 공급자와의 상호 작용을 간소화하는 모듈을 포함한다. ..