본문 바로가기

전체 글119

@Authentication UserDetails에 null이 담기는 문제 원인 게시글 생성 시 `UserDetails` 객체에서 `null` 값이 반환되는 문제로, 이는 스프링 시큐리티 환경에서 인증된 사용자의 상세 정보를 제대로 불러오지 못하는 상황이다. 시도 우선, 스프링 시큐리티가 제공하는 기본 `User` 클래스를 사용해보았지만 여전히 null 값이 반환되었다. UserDetailsService 인터페이스를 구현하는 커스텀 서비스를 생성해서 loadUserByUsername을 오버라이딩 해서 사용자 정보를 불러오게끔 했지만 여전했다. UserDetails 인터페이스를 직접 구현하는 방법도 시도했다. 이 방식 역시 `UserDetails` 객체에서 `null`이 반환되는 문제를 해결하지 못했다. 해결 https://devjem.tistory.com/70 [프로젝트] @A.. 2024. 3. 21.
[Spaceplorer.com] Entity와 기능 개발 - 2 https://dao-blog.tistory.com/93 [Spaceplorer.com] Entity와 기능 개발 - 1 2024.03.04 - [프로젝트] - [Spaceplorer.com] 웹 프로젝트 개요 3/4- [Spaceplorer.com] 웹 프로젝트 아이디어 및 기획 3/4~ 글 요약 이름 : Spaceplorer 개요 : 여러 행성 간 여행을 도와주는 패키지여행안내 및 판매 dao-blog.tistory.com 옵션 엔티티 옵션 엔티티를 추상클래스로 만들고, 이를 상속받는다(상속전략) Spaceship, Landmark, Hotel, Entertainment는 생성할 때, optionName과 cost, OptionType을 추가로 입력 해, DB에 저장한다. 옵션 엔티티 @Entity .. 2024. 3. 20.
Database 선택 가이드 1. **Key-Value Database: Redis** Redis는 빠른 속도를 자랑하는 인메모리 key-value 데이터베이스이다. 간단한 key와 value 쌍을 사용하여 데이터를 저장하고 검색한다. 다양한 데이터 구조를 지원하여, 높은 성능을 필요로 하는 애플리케이션에 적합하다. 2. **Relational Database: 정확도와 일관성** 관계형 데이터베이스는 데이터를 테이블로 구성하여 관리한다. 정확도와 일관성을 중시하며, 복잡한 쿼리와 트랜잭션을 지원한다. 데이터의 무결성과 일관성을 유지하는 데 강점을 가진다. 3. **Graph Database: Neo4j** Neo4j는 관계를 중심으로 데이터를 저장하고 조회하는 그래프 데이터베이스이다. 비행기 노선, SNS 친구 관계, 코로나 전염.. 2024. 3. 19.
Redis 야무지게 사용하기 Redis 캐시로 사용하기 캐시란? 사용자 입장에서 원래의 소스보다 더욱 빠르게 엑세스 할 수 있는 임시 데이터 저장소를 뜻한다. 대부분의 애플리케이션에서 속도 향상을 위해 캐시를 사용하고 있다. Key - Value 구조 : 어떠한 데이터도 쉽게 저장할 수 있다. In-memory 데이터 저장소(RAM) : 굉장히 빠른 속도 빠른성능 평균 작업속도 < 1ms 초당 수백만 건의 작업 가능 캐싱 전략(Caching Strategies) 레디스를 사용할 때, 시스템에 어떻게 배치하는지에 따라 성능이 달라지게 된다. 이를 효과적으로 배치하기 위한 전략이다. 데이터의 유형과 데이터에 대한 엑세스 패턴을 잘 고려하여 선택해야 한다. 읽기 전략 1. 애플리케이션은 데이터를 찾을 때 우선 Cache를 찾는다. 2. .. 2024. 3. 19.
[Spaceplorer.com] Entity와 기능 개발 - 1 2024.03.04 - [프로젝트] - [Spaceplorer.com] 웹 프로젝트 개요 3/4- [Spaceplorer.com] 웹 프로젝트 아이디어 및 기획 3/4~ 글 요약 이름 : Spaceplorer 개요 : 여러 행성 간 여행을 도와주는 패키지여행안내 및 판매 서비스 개발툴 : 개발환경 : 인텔리제이 개발언어 : 자바, 자바스크립트 프레임워크 : 스프링부트, 부트스 dao-blog.tistory.com 1. 기능 개발중 응답 메시지를 어떻게 보낼지에 대한 고민 생각 1. 정보를 담은 EntityDto( UserResponseDto )에 응답메시지용 dto( ApiResponseDto )를 넣어 한번에 리턴 리스트처럼 여러개의 EntityDto를 만들때에 비효율적으로 응답메시지용 dto가 중복되.. 2024. 3. 12.
스프링 시큐리티 소셜로그인 무한 리디렉션, successHandler 작동이 안되는 문제 1.무한 리디렉션 2024-03-08T15:50:10.416+09:00 DEBUG 1740 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing GET / 2024-03-08T15:50:10.424+09:00 DEBUG 1740 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy : Secured GET / 2024-03-08T15:50:10.441+09:00 DEBUG 1740 --- [nio-8080-exec-1] o.s.security.web.FilterChainProxy : Securing GET /index.html 2024-03-08T15:50:10.442+09:00 DEBUG 1.. 2024. 3. 9.