일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 혼공컴운
- Codeup
- db
- 코드업
- 프로그래머스
- 국비지원
- React
- 프로그래머
- 백엔드개발자
- 자바개발자
- Java
- 개발자
- 개발자일기
- 데이터베이스
- 스프링부트
- 코딩
- 자바스크립트
- 자바
- 운영체제
- 자바알고리즘
- SpringBoot
- 미라클모닝
- 프로세스
- 국비지원코딩
- 소셜로그인구현
- 자바의정석
- 리액트
- 알고리즘
- 프로그래밍
- 백엔드
- Today
- Total
목록Project (9)
초코딩(chocoding)
아.......... 오늘 너무 힘들다................. Likes Insert // Likes Insert ===================================================== @ResponseBody @PostMapping("/likesInsert/{board_id}/{useremail}") public ResponseEntity postLikesInsert(@PathVariable("board_id") int board_id, @PathVariable("useremail") String useremail) { Board boardEntity = boardService.selectDetail(board_id); if (boardEntity != null) { L..
delete를 구현 완료하였다. 다른 코드들과 다르게 삭제하는 것은 신중할 필요가 있다고 생각하여 js를 통해 alert창이 뜨도록 구현했다. 코드는 다음과 같다. Controller // Delete ===================================================== @PostMapping("/boardDelete/{board_id}") public ResponseEntity boardDelete(@PathVariable("board_id") int id) { Board entity = boardService.selectDetail(id); if (entity != null) { entity.setBoard_deldate(LocalDateTime.now().format(Da..

오늘은 insert와 update, detail까지 구현했다. 사실 주말 전에 insert를 마쳤고 주말동안 회고쓰는 것을 깜빡해서 오늘 구현한 update, detail과 같이 적는다 (저번주 금요일에 점심을 3시간동안 먹어버려서 insert 하나 구현함...... ) 어쨌든 crud는 별로 설명할게 없기 때문에 게시글을 수정한 시간을 테이블에 담는 것만 알려주도록 하겠다. 근데 insert 문에서 오류가 있었는데 db에서 board_delyn (논리적 delete를 위한 컬럼)의 속성을 default와 not null을 주었음에도 불구하고 default value가 db에 저장이 되지 않았다. 하지만 이상하게도 int 타입은 아무 문제 없이 저장이 되었다. 이것을 해결하기 위해 1시간정도..... 삽..
이제 Querydsl로 board list 를 출력해보겠다. 먼저 게시판 등록이나 다른 insert되는 기능들을 구현하지 않았기 때문에 직접 db에 mock data 들을 추가해주었다. 그리고 service, serviceimpl, jsp 등등 코드를 구현하였다. 구현하면서 어려웠던 점은 service에서 selectList 메서드를 구현하는데 리스트들의 반환타입과 기존 팀 프로젝트 때 만들어둔 페이지네이션의 반환타입이 맞지 않아서 꽤나 오랜 시간을 고민했다. 그리고 QueryResults 라는 것을 알게 되었다. QueryResults : QueryDSL에서 제공되는 클래스 : 쿼리 결과를 처리하고 조작하기 위한 유틸리티 클래스 중 하나로 사용 : 쿼리 실행 결과를 감싸고 여러 유용한 메서드를 제공하여..

이제 마지막으로 개인 프로젝트로 게시판을 만들려고 한다. 게시판은 쇼핑몰 웹 사이트를 구현했을 때 이미 한 번 해본 적이 있다. 하지만 그 형식은 100% 게시판 형식은 아니고.. 오직 판매자와 소비자가 1:1 문의를 할 수 있는?? 그런 형태였다. 이번에 구현하고자 하는 게시판은 조금 다르다. 내가 구현하고 싶은 것은 크게 세가지 이다. 1. 무한 댓글 가능 2. 좋아요 3. 조회수 테이블 설계는 다음과 같다. - Board - Comments - User 그리고 나는 원래 JPQL을 사용하여 팀 프로젝트를 진행했었는데 이번에는 Querydsl을 사용해보고 싶어서 하는 방법을 구글링 해봤다. 먼저 JPQL과 Querydsl의 장단점은 다음과 같다. - JPQL : JPQL(Java Persistence..

기본 초기 세팅은 아래 블로그를 참고하였다. https://dev-coco.tistory.com/128 Spring Boot 게시판 OAuth 2.0 구글 로그인 구현 Spring Boot에 Spring Security와 OAuth2.0을 사용해 소셜 로그인을 구현해보도록 하자. 1. 구글 OAuth 서비스 등록 필자는 이미 만들어놓은 프로젝트가 있어 예시 프로젝트를 하나 생성해보도록 하겠다. 1-1. dev-coco.tistory.com . . . 지난번 게시물에서 controller를 하나로 합친다고 했는데.. 일단 service를 합쳐보았다. gate라는 변수를 하나 더 두어서, 어느 소셜을 통하여 로그인을 시도했는지 구분하였다. 들어온 경로를 기준으로 if문을 사용하여 코드를 짰고, home.js..
먼저 네이버 소셜 로그인 기초 세팅은 구글링하여 다른 블로그를 참고했다. https://velog.io/@tjddus0302/Spring-Boot-OAuth-2-%EC%86%8C%EC%85%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8-%EA%B5%AC%ED%98%84-Naver Spring Boot | OAuth 2 소셜 로그인 구현 (Naver) 네이버 소셜 로그인 구현하기 velog.io . . . 나는 카카오, 네이버, 구글 이 세 개의 소셜 로그인을 구현할 예정인데 현재로는 카카오, 네이버만 구현한 상태이다. 처음 controller를 설계할 때 너무나도 무지해서 (.... ㅠㅠ) 카카오에서 넘어오는 값과 네이버에서 넘어오는 값을... 뭘로 구별해야 할까.. 하다가 모르겠어서 일단 co..

오늘은 저번에 불러온 고객의 정보를 db에 담는 작업을 했다. 내가 이 프로젝트를 주된 목적은 소셜 로그인을 위해 각 소셜의 api를 써보기 위함이다. 따라서 db구성도 최소한의 것만 하였고 굳이 회원가입과 로그인을 나누지 않았다. 따라서 내가 생각한 최소한의 구현 방식은 1. kakao를 통해 불러온 유저 정보 db user table에 담기 2. oauthtype과 oauthtoken을 복합키로 설정하여 oauthId값을 만듬 (user 중복여부를 구분하기 위함) 3. db의 저장된 user의 중복 여부 체크 이정도 이다. 먼저, 내가 구글링 했을 당시에 db에 user 정보를 저장하는 것과 저장한다고 해도 어떤 의도를 가지고 컬럼을 구성했는지에 대한 정보가 부족하였다. 너무 너무... 정보가 없어 ..

기본적인 초기 세팅은 다른 블로그들을 참고했다. https://yeees.tistory.com/231 [개인프로젝트] 소셜로그인 기능 추가 (구글, 카카오, 네이버/ Rest API, Spring Boot) 목차 1. 각각의 소셜 플랫폼에서 환경구성하기 2. 소셜로그인 Rest API 구현하기 1) 로그인 최초 요청 처리 (code 받기) 2) 로그인 이후 요청 처리 (받은 code로 token 받기) 3) 클라이언트에 반환하기 (받 yeees.tistory.com https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developer..