전체 글191 Gateway와 서비스 간 X-Forwarded-Prefix 처리 문제로 인한 OAuth2 Redirect URL 저장 실패 해결기 아래 코드는 OAuth2 인증 성공후 JWT를 발급 후 request session에 저장되어있는 redirection_url값을 가져와서 redirection response를 반환하는 SpringSecurity에서 제공하는 AuthenticationSuccessHandler인터페이스를 구현한 구현체입니다. 하지만 redirectToTargetUrl메서드에서 request session에 redirection_url이 저장되지 않아서 null을 반환하면서 redirection을 하지 못하는 문제가 발생했습니다.public class CustomSsoAuthenticationSuccessHandler implements AuthenticationSuccessHandler { // 코드 생략 .... .. 2025. 1. 15. DB 설계 규칙 DB 설계 규칙 6가지1. 한 칸에는 한 가지 정보만 들어가도록 만들어라.데이터베이스 테이블을 설계할 때 ‘한 칸에는 한 가지 정보만 들어가야 한다.’라는 규칙을 지켜야 한다. 이 규칙이 뭔지 알아보기 위해 이 규칙을 안 지킨 사례를 먼저 살펴보자.[사례 1]students (학생)id (PK)이름연락처1김철수010-1234-5678, 010-8765-43212이영희010-1111-2222, 010-3333-4444위 사례를 살펴보면 한 칸에 2가지 이상의 정보가 들어가 있는 걸 확인할 수 있다.“왜 한 칸에 2가지 이상의 정보가 들어가면 안 되는 걸까?”데이터를 삽입하거나 수정할 때 로직이 복잡해지고, 데이터 중복 및 무결성 문제가 발생할 가능성이 높아진다. 따라서 한 칸에는 한 가지 정보만 넣어야 한.. 2024. 12. 28. DB 설계의 핵심원칙 및 전체 과정 DB 설계의 핵심 원칙 및 전체 과정DB 설계의 핵심은 '중복 없애기'이다.정의:데이터베이스 설계의 가장 중요한 원칙은 중복된 데이터를 제거하여 데이터 무결성을 유지하고, 저장소와 성능을 최적화하는 것입니다. 이를 위해 정규화를 비롯한 다양한 설계 기법을 사용합니다.중복이 문제를 일으키는 이유:데이터 무결성 훼손:동일한 데이터가 여러 곳에 저장되면, 업데이트할 때 모든 복사본을 수정해야 하므로 실수로 일부만 수정되는 경우 데이터가 불일치 상태에 빠질 수 있습니다.스토리지 낭비:중복된 데이터를 저장하면 저장 공간이 불필요하게 낭비됩니다.성능 저하:중복된 데이터를 처리하는 데 더 많은 시간이 소요되어 쿼리 성능이 저하됩니다.해결 방법:정규화(Normalization)를 통해 중복을 최소화하고, 테이블을 효율.. 2024. 12. 26. DB 설계 전 필수로 알아야 하는 개념 DB 설계 전 필수로 알아야 하는 개념데이터베이스 모델링(Database Modeling)이란?데이터베이스 모델링은 애플리케이션 운영에 필요한 데이터를 효율적으로 저장하고 관리하기 위해 데이터를 체계적으로 분류하고 구조를 설계하는 과정입니다.관계형 데이터베이스(RDBMS)의 기본 구성테이블(Table)정의: 데이터베이스에서 데이터를 저장하는 기본 단위로, 행과 열로 이루어진 2차원 구조를 가집니다.특징:테이블은 특정 주제나 개념을 나타내며, 예를 들어 고객 정보를 저장하는 테이블은 '고객'이라는 주제를 가지고 있습니다.각 테이블은 고유한 이름을 가져야 하며, 데이터의 논리적인 구조를 제공합니다.예시:Customers 테이블:CustomerIDNameEmailPhone1Alicealice@email.com.. 2024. 12. 26. 이전 1 2 3 4 ··· 48 다음