💡문제 설명 2021 KAKAO BLIND RECURITMENT 아이디 규칙에 맞지 않는 아이디를 입력했을 때 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램 개발 💡아이디 규칙 아이디의 길이는 3자 이상 15자 이하여야 합니다. 아이디는 알파벳 소문자, 숫자 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. 단, 마침표는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 신규 유저가 입력한 아이디가 new_id라고 하면 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연..
🤍Bootstrap으로 댓글창 디자인하기 댓글창은 당연히 글 상세조회 페이지에 필요하다. detail.jsp에 추가 등록 🤍댓글 추가 기능 구현하기 board.js에 버튼 클릭 이벤트를 작성한다. let index = { init: function() { $("#btn-reply-save").on("click", () => { this.replySave(); }); }, replySave: function() { //alert('user의 save함수 호출됨'); let data = { userId : $("#userId").val(), boardId : $("#boardId").val(), content: $("#reply-content").val() }; console.log(data); $.ajax..
🤍REST API) 카카오 로그인 API 서비스 환경설정 1. 카카오 개발자센터에 접속 후 로그인한다. 2. 애플리케이션을 추가하기 3. 아래와 같이 이름을 설정해서 추가해준다. 4. WEB 플랫폼 등록 5. 도메인 등록 6. 카카오 로그인 활성화 7. Redirect URI 설정 8. 동의 항목 설정 9. 이곳에서 카카오로그인 버튼 소스를 가져온다. (축약형, Middle) 10. 로그인 화면에 카카오 로그인 버튼을 추가한다. 11. 카카오 로그인 요청을 보내는 Request URI는 아래와 같이 만들면 된다. GET /oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code HTTP/1.1 Host..
🤍스프링 시큐리티(Spring Security) 회원정보 수정 구현하기 1. 먼저 회원 정보 수정 페이지로 이동하는 코드를 UserController에 작성한다. @GetMapping("/user/updateForm") public String updateForm() { return "user/updateForm"; } 2. 회원 정보 수정 화면 updateForm을 작성한다. username은 수정할 수 없도록 readonly를 넣어준다. userid는 hidden 속성으로 넣어준다. user 정보는 principal에서 가져온다. 3. 회원 정보 수정 버튼 클릭 이벤트를 user.js에 작성한다. 수정이므로 PUT 방식으로 처리한다. let index = { init: function(){ $("#b..
JSON을 이용하는 API 서버를 어떻게 만들어야 하는지 살펴본다. API 서버 구성 시 가장 주의해야 하는 부분이 보안과 인증에 대한 문제이므로 스프링 시큐리티를 사용해서 처리하고 인증 처리는 JWT를 사용하도록 한다. 🤍간단한 Note를 작성하고 이를 이용하는 API 서버 프로젝트 구현하기 1. Note 엔티티 작성 2. NoteRepository 인터페이스 작성 3. DTO 작성 3. 서비스 계층 작성 등록, 수정, 삭제, 조회 처리 public interface NoteService { Long register(NoteDTO noteDTO); NoteDTO get(Long num); void modify(NoteDTO noteDTO); void remove(Long num); List getAll..
🤍스프링 시큐리티 소셜 로그인(구글) 구현하기 1. 구글 OAuth 2.0 클라이언트 ID 생성 승인된 리디렉션 URI 지정 생성된 OAuth 클라이언트 ID 및 비밀번호는 꼭 기억해야 함. 2. build.gradle에 라이브러리 추가 //소셜 로그인 적용 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' 3. application.oauth.properties 작성 spring.security.oauth2.client.registration.google.client-id =클라이언트 ID spring.security.oauth2.client.registration.google.client-secret = 클라이언트 ..
🤍스프링 시큐리티 프로젝트 생성 1. application.properties에 시큐리티 설정 추가 logging.level.org.springframework.security.web=trace logging.level.org.zerock=debug 2. 시큐리티 설정 클래스 SecurityConfig 작성 @Configuration @Log4j2 public class SecurityConfig extends WebSecurityConfigurerAdapter { } 💡인증(Authentication) & 인가(Authorization) 은행에 금고가 있고 사용자가 금고 내용을 열어 본다고 가정했을 때 사용자가 신분증으로 자신을 증명 => 인증 은행에서 사용자가 금고를 열어볼 수 있는지 판단 => 인가..
🤍영화 목록 처리 구현하기 1. 이번에도 역시 전에 만들어둔 PageRequestDTO, PageResultDTO를 그대로 가져와서 사용한다. 2. MovieService 코드 작성 JPA를 통해 나오는 엔티티 객체들과 Double, Long 등의 값을 MovieDTO로 변환하는 entitiesToDto 추가 3. MovieServiceImpl 코드 작성 4. 목록 화면 list.html 작성 페이징 코드는 기존과 동일하므로 생략한다. Movie List Page REGISTER # Title & Picture Review Count AVG Rating Regdate [[${dto.mno}]] [[${dto.title}]] [[${dto.reviewCnt}]] [[${dto.avg}]] [[${#temp..