전체 글 152

댓글에 유저 정보를 담아보자 feat.@AuthenticationPrincipal

새로 알게된 @AuthenticationPrincipal 덕분에 앞서 이전 코드들이 넓게 넓게 변화한부분들이 있다. @AuthenticationPrincipal 어노테이션은 간단히 말해서 authentication객체에 접근할 수 있는 어노테이션이다. 즉, 필터에서 인증을 통해 authentication객체를 담았다면(나는 jwt인증을 통해서 담아주었다. 밑 코드 참고) 해당 어노테이션을 통해 객체에 접근하여 원하는 데이터를 사용할 수 있다. -생략- if (username != null) { //유효한 jwt토큰이 들어왔다면 System.out.println("jwt토큰이 유효함"); User userEntity = userRepository.findByUsername(username); Princip..

네이버 카카오 Oauth2.0 로그인 구현

구글에 이어 추가적으로 네이버, 카카오 oauth2.0 을 구현하였습니다. naver: client-id: [RestApi 키] client-secret: [Secret] scope: - email - name client-name: Naver authorization-grant-type: authorization_code redirect-uri: http://localhost:8080/login/oauth2/code/naver kakao: client-id: [RestApi 키] client-secret: [Secret : 카카오 로그인-보안 에서 활성화하고 받기] scope: - account_email client-name: Kakao authorization-grant-type: authoriza..

댓글 수정 구현 + react에서 수정,삭제하기

@Transactional public Reply replyUpdate(ReplyUpdateDto replyUpdateDto) { Reply replyEntity = replyRepository.findById(replyUpdateDto.getId()) .orElseThrow(()->new IllegalArgumentException("이미 삭제된 댓글입니다.")); replyEntity.setContent(replyUpdateDto.getContent()); return replyEntity; } @Data @NoArgsConstructor @AllArgsConstructor public class ReplyUpdateDto { private Long id; private String content; ..

댓글 삭제 구현 로직 생각 및 구현

순서도 그리는 법을 까먹어서 알아볼수있을 정도만...다시 공부해야겠다.. package tnut.blogback.model; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import j..

백준 11단계 no.3

계수 정렬 참고 : https://st-lab.tistory.com/104 자바 [JAVA] - 카운팅 정렬 (Counting Sort / 계수 정렬) [정렬 알고리즘 모음] 더보기 1. 계수 정렬 (Counting Sort) - [현재 페이지] 2. 선택 정렬 (Selection Sort) 3. 삽입 정렬 (Insertion Sort) 4. 거품 정렬 (Bubble Sort) 5. 셸 정렬 (Shell Sort) 6. 힙 정렬 (H.. st-lab.tistory.com import java.io.*; import java.util.*; public class Main { static int max (int[] arr) { int max = arr[0]; for (int j : arr) { if (j >..

매일코테 2022.07.27