아무리 여러 번을 해봐도 로그인은 늘 어렵다.....ㅎㅎㅎ 그리고 아직 친해지지 못한 맥북 + 리액트 네이티브 환경에서 하려니 엄청난 에러를 겪고 겨우 성공한 카카오 로그인... 시작!! ⭐️Frontend 0. 카카오 개발자센터 애플리케이션 설명 생략 1. 리액트네이티브 카카오 로그인 라이브러리 설치 npm install @react-native-seoul/kakao-login //RN 0.60.X 이상부터는 Auto linking 지원 pod install https://github.com/crossplatformkorea/react-native-kakao-login GitHub - crossplatformkorea/react-native-kakao-login: react-native native m..
🤍스프링 시큐리티(Spring Security)란 스프링 기반의 애플리케이션의 인증, 인가 등을 담당하는 스프링 하위 프레임워크 인증과 권한에 대한 부분을 Filter 흐름에 따라 처리함 보안에 대해 체계적으로 다양한 옵션을 제공해주므로 개발자가 보안 관련 로직을 작성하지 않아도 됨. 스프링 시큐리티, SNS 로그인 구현하기 1. build.gradle 관련 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-oauth2-client' implementation('org.springframework.session:spring-session-jdbc:') testImplementation 'org.springframework.securi..
이제 뮤지컬 데이터를 DB에 INSERT까지 했으니 목록을 SELECT할 차례!! 이번에 개인 프로젝트를 하는 목적은 여러 명이서만 해봤던 프로젝트 진행 과정을 처음부터 끝까지 내 힘으로 하면서 공부하는 목적이 제일 크기 때문에 엄청 큰 규모로 할 생각도 없고 일단 혼자 힘으로 해결하는 데에 의미가 가장 크다. 그래서 프론트단은 타임리프(Thymeleaf) + 부트스트랩을 사용하기로 했다. 🤍DTO, Service, Controller, Repository 작성 -먼저 Entity와 별개로 DTO를 추가로 작성해 주었다. JPA로 처리할 때 변경이 적은 Entity 대신 DTO 객체를 만들어 원하는 컬럼의 기능만 뽑고 데이터를 교환하기 위해서. MusicalDTO 1 2 3 4 5 6 7 8 9 10 1..
🤍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..
🤍영화 목록 처리 구현하기 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..
💡구현 목표 영화(Movie)와 회원(Member)이 있고 회원이 영화에 대한 리뷰(Review)를 기록하는 시나리오를 기반으로 프로젝트를 구성함. 한 편의 영화는 여러 회원의 평가가 행해질 수 있다. 한 명의 회원은 여러 영화에 대해 평점을 줄 수 있다. 💡다대다 관계의 특징 다대다 관계(M:N)는 논리적 설계와 실제 테이블 설계가 다르게 됨. 영화 엔티티와 회원 엔티티는 양쪽 모두 독립적인 엔티티로 설계가 가능함.(대부분 명사인 경우) 사람에 해당하는 회원 입장에서는 여러 편의 영화를 평가한다는 구조가 됨. 영화 입장에서는 한 편의 영화는 여러 회원이 존재한다는 관계가 성립하게 됨. 다대다(M:N)를 해결하기 위해서는 실제 테이블 설계에 매핑(mapping) 테이블을 사용함. (=연결 테이블) 여기에..
🤍글 상세보기 구현하기 1. Index.jsp 글 상세보기 버튼에 태그 추가 2. BoardController 작성 //글 상세보기 @GetMapping("/board/{id}") public String findById(@PathVariable int id, Model model) { model.addAttribute("board", boardService.글상세보기(id)); return "board/detail"; } 3. BoardService 작성 public Board 글상세보기(int id) { return boardRepository.findById(id) .orElseThrow(()->{ return new IllegalArgumentException("글 상세보기 실패: 아이디를 찾을 ..