Java & Spring/Spring
![[OAuth2.0] 네이버(Naver) 로그인 - SpringBoot JPA JWT 방식용](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fb1kB7Z%2Fbtsd1jMNwK5%2FAAAAAAAAAAAAAAAAAAAAACGwPeLhrJ6xZUVCvr4X_4kHjl1_PrvI3NNOXsqSAiKb%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Db8VkJT72LXt9eXHwAYUqYYSf4GU%253D)
[OAuth2.0] 네이버(Naver) 로그인 - SpringBoot JPA JWT 방식용
목적 카카오 구글 했는데 네이버 안하면 섭섭함 그런데 네이버 Developer의 API 명세에는 JSP 등 만 있고, Spring Boot JPA 환경이 없음 * (필독) 이 글은 Spring Boot JPA환경에서 JWT를 이용한 인증방식의 Spring Security사용자를 위함입니다. 환경 1. JPA ORM을 이용한 자체 서비스가 이미 구현되어 있음 2. Spring Security로 Security filter Chain이 구현되어 있음 3. JWT를 이용한 로그인 인증방식으로 구현되어있음 4. (로그아웃 로직에 한해서 필요) Redis를 이용한 Token 캐시 서버가 연동되어 있음 * 네이버 로그아웃 구현 : https://radpro.tistory.com/678 할 것 요약 1. 네이버 De..
![[Logging] p6spy 커스터 마이징](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FogGe2%2FbtrZiV7yp5a%2FAAAAAAAAAAAAAAAAAAAAABSyeWN5rpBwXWfjM-XnMMqvAYKpGKpOk-QGFkqCuSDv%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DqgDOhoLrXcLCiQQ69ocWHPosmjk%253D)
[Logging] p6spy 커스터 마이징
코드 적용 : Configuration 클래스 하나 안에서 일괄 작성하는 방식과 Formatter 클래스를 따로두는 방식 두가지로 작성 : 각 방식에 따라 결과로 출력되는 포맷이 다르게 적용되어 있다. 1. 한줄 SQL 로그 + 처리 결과 출력 : 아래의 ConFig 클래스 안에서 해결 package TeamBigDipper.UYouBooDan.global.p6spy; import com.p6spy.engine.logging.Category; import com.p6spy.engine.spy.appender.MessageFormattingStrategy; import org.hibernate.engine.jdbc.internal.FormatStyle; import java.util.Locale; publ..
![[JPQL] JPQL | Native Query 작성하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FvbsPU%2FbtrZjqe2Gnj%2FAAAAAAAAAAAAAAAAAAAAANM_o4YdihEGZgDGmy3ZpgtjK1FEVGNa4UsG4uJ754-5%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DtmMUWsOsv8YIT9%252FDsWbQnR2t6Mg%253D)
[JPQL] JPQL | Native Query 작성하기
작성 예시 /** * 사용자 Id와 일치하는 TopicVote를 조회하며, 해당 TopicVote에 맞는 Topic과 TopicVoteItem을 join하여 반환 * @param memberId * @param pageable * @return TopicVote에 대한 Page 데이터 반환 (단, Topic-TopicVoteItem 양방향 매핑 | TopicVoteItem-TopicVote 양방향 매핑으로인한 순환참조 존재 => DTO에서 처리 ) */ @Query(value = "SELECT tv.* FROM TopicVote tv " + "INNER JOIN TopicVoteItem tvi ON tv.topic_vote_item_id = tvi.topicVoteItemId " + "INNER JOIN..
![[Redis] (4) 도커 없이 Redis 적용하기 - Ubuntu 사용](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FXv7ct%2FbtrZeh4aAOS%2FAAAAAAAAAAAAAAAAAAAAAEGCa62JehRrH2-dMCfEcrknHuCi13UF66NqDP0G89qz%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DCw3O48ax%252FA%252Bk2XlyA2wGwd1vkjE%253D)
[Redis] (4) 도커 없이 Redis 적용하기 - Ubuntu 사용
목적 : 도커를 사용하면 물론 좋겠지만, 도커 없이 사용해야하는 경우가 있다. 참고 시리즈 1. Redis - Docker 연결 - https://radpro.tistory.com/541 2. Redis를 이용한 로그인 관리 - https://radpro.tistory.com/543 3. Redis를 이용한 로그아웃 관리 - https://radpro.tistory.com/544 Ubuntu 설정 1. Ubuntu를 실행 2. Ubuntu 한번 업데이트 $ sudo apt-get update 3. 레디스를 설치 $ sudo apt-get install redis-server 4. 설치가 끝났다면, 레디스 설치 확인 겸 버전 확인 $ redis-server --version 5. 레디스 서버 실행 $ su..