목록스프링부트 (46)
sm 기술 블로그
JPA에서 검색기능을 구현하는 방법은 다양하다. 하지만 쿼리문을 직접 사용해서 구현하는 것이 직관적이기 때문에 쿼리문을 사용해보려고 한다. 1. 폼에 검색 추가 검색 margin, padding 등 어떠한 조건도 주지 않은 상태이다. 정말 기본 으로 테일윈드 적용시 노말라이즈로 인해 다음과 같이 나올 것이다. GET방식을 사용하는 이유 GET이 아닌 POST 방식으로 전달할경우 검색과 페이징을 처리한다면 웹 브라우저에서 '새로고침' 또는 '뒤로가기'를 했을 때 '만료된 페이지 입니다'라는 오류가 종종 발생한다. 그 이유는 동일한 POST요청이 중복으로 요청하는 것을 방지하기 위해 '만료된 페이지입니다.'라는 오류를 발생시키는 것이다. 때문에 페이징에서 2페이지에서 3페이지를 갔다가 뒤로가기를 한다면? 오..
사전 작업 1)구글에 로그인한후 계정관리자를 들어간다. 2)왼쪽의 보안 탭으로 들어가자 3)2단계 인증을 활성화한다(앱 비밀번호를 받기 위함) 4)앱 비밀번호를 클릭해서 - 메일 / - Windows 컴퓨터를 선택한다 5)생성을 누르고 받아온 기기용 앱 비밀번호를 password란에 기입한다. 적용 의존성 추가 implementation 'org.apache.commons:commons-lang3:3.12.0' implementation 'org.springframework.boot:spring-boot-starter-mail' lang은 문자를 랜덤으로 조합하기 위해서 사용된다. starter-mail은 메일을 보내기 위해서 사용된다. application.yml mail: host: smtp.gmai..
사전작업 카카오개발자에 가입 후 애플리케이션을 생성한다. 생성하면 아래와 같이 키가 발급 될 것이다. 위 키 중 javascript를 사용할 것이다. 그다음 플랫폼을 등록한다. 우리는 웹을 이용할 것이므로 웹 부분에 추가한다. ※ 사이트 도메인은 상세 페이지가 아닌 포트까지 입력한다. 1. 템플렛을 이용해서 보내기 (자바스크립트는 보내는 용도로만 사용함) ※ 들어가기에 앞서 단순히 html에서 작동시키면 오류가 발생한다. 웹서버를 키고 그 곳에서 진행하도록 하자. 1) 템플렛 등록 다음과 같이 메시지 -> 메시지 템플릿 빌더 바로가기 를 통해 템플릿을 만든다. 2) 템플릿 꾸미기 이 화면에 진입하게 될것이며 사용목적은 메시지 API로 체크하고 이미지 프로필 등등은 사용자가 원하는대로 바꾸면 된다. 3) ..
로그인, 로그아웃 링크가 상황에 맞게 보이게 하기. 로그인 로그아웃 sec:authorize는 권한에 따른 조건문으로 권한 if문으로 생각하자. isAnonymous()는 익명의 사용자 즉, 로그인이 되지 않았다면 로그인 표시를 한다. isAuthenticated()는 인증된 사용자 즉, 로그인이 되어 있다면 로그아웃을 표시한다. SecurityConfig (... 생략 ...) import org.springframework.security.web.util.matcher.AntPathRequestMatcher; (... 생략 ...) @RequiredArgsConstructor @Configuration @EnableWebSecurity public class SecurityConfig { privat..