오늘
-
이거 왜 안됨..?오늘/Error 2024. 11. 15. 13:20
오더 생성 중에 user.getUserAddress가 계속 null로 입력되었다.주석된 코드처럼 Hibernate 초기화도 해보고 유저주소 생성 메서드에서 체크도 해보았으나 계속 null 이 들어왔다. db 확인 결과 user에 user_address_id가 들어가지 않음을 확인아래와 같이 바꿔주었다. 그 결과 user에 user_address_id는 잘 들어갔으나 카테고리 생성에서jakarta.servlet.ServletException: Unable to handle the Spring Security Exception because the response is already committed. 에러가 터졌다. userRepository.save(user); 이 코드 한줄 때문에. 대체 ..
-
데이터베이스 정규화오늘/Today I.. 2024. 4. 7. 22:12
데이터베이스 정규화란? 데이터베이스 설계에서 데이터의 중복을 최소화하고 데이터 무결성을 유지하기 위해 데이터를 구조화하는 과정 이상현상이 있는 릴레이션을 분해하여 이상현상을 제거하여 중복된 데이터를 허용하지 않게 함 결과적으로 데이터 무결성을 유지하고 데이터베이스 저장공간을 확보할 수 있다. 데이터베이스 정규화 절차 일반적으로 제 3 정규형 또는 BCNF까지 진행하면 데이터베이스 설계에 무리가 없다. 제 4, 제 5 정규형까지 가서 중복을 완전히 제거해버릴경우 다른 문제가 발생할 수 있다. 제 1정규형부터 BCNF까지는 기본 정규형 제 4정규형, 제 5정규형은 고급 정규형으로 분류한다. 제 1 정규형 (1NF) 제1 정규형은 모든컬럼의 값이 원자값이어야 한다. 즉, 각 필드는 반드시 하나의 값만을 가져야..
-
Virtual Thread 는 왜 도입된걸까오늘/Today I.. 2024. 3. 25. 10:23
이번 JDK21에 Virtual Thread가 도입되었다. 기존에 있는 thread 기능도 제대로 활용하지 못하는데 이 기능은 왜 들어온걸까 라는 생각만 하며 이 기능이 무엇인지 알아보았다. Virtual Thread (이하 가상 쓰레드)는 KLT(kernel-level thread) 와 ULT(user-level thread) 를 1대1 매핑해서 사용하던 기존의 쓰레드 모델을 개선한 모델이다. 여러 개의 가상 쓰레드를 하나의 네이티브 스레드에 할당하여 사용한다. Java Native Interface는 인터프리터없이 OS가 바로 읽을 수 있는 형태의 네이티브 코드를 JVM이 호출 할 수 있게 하는 인터페이스 이다. 이것 덕분에 자바가 플랫폼에 상관없이 동작할 수 있는데, 자바에서 메서드 앞에 nativ..
-
오늘, Redis가 죽었다.오늘/Today I.. 2024. 3. 23. 02:44
https://news.hada.io/topic?id=13942 Redis, 라이선스를 BSD 에서 듀얼 라이선스로 변경 | GeekNews Redis 가 기존 BSD 라이선스에서 Redis Source Available License (RSALv2) 과 Server Side Public License (SSPLv1) 의 듀얼 라이선스로 변경되었습니다.라이선스 변경으로 인해 Redis 이용자와 Redis 를 이용한 라이브러리 news.hada.io https://redis.com/blog/redis-adopts-dual-source-available-licensing/ Redis Adopts Dual Source-Available Licensing | Redis Beginning today, all fu..
-
데이터베이스 정규화 (기본 정규형)오늘/Today I.. 2024. 3. 6. 23:34
정규화(Normalization) 란? DB 설계에서 중복을 최소화하기 위해 데이터를 구조화하는 프로세스 이상현상이 있는 릴레이션을 분해하여 이상현상을 제거 이를 통해 중복된 데이터를 허용하지 않게하여 데이터 무결성을 유지하고, DB 저장 공간을 확보 가능 정규화의 장단점 장점 - DB에서 이상현상 제거 - 확장시 구조 변경 최소화 단점 - 릴레이션이 분해되므로 릴레이션 간의 JOIN 연산이 늘어남 정규화의 종류 제 1 정규형 1. 각 컬럼은 하나의 속성만 가져야한다. 2. 하나의 컬럼은 같은 종류나 타입의 값을 가져야 한다. 3. 각 컬럼이 유일한 이름을 가져야한다. 4. 컬럼의 순서가 상관없어야 한다. 제 2 정규형 제 1 정규형을 만족하는 경우 제 2 정규형을 적용할 수 있다. 1. 모든 컬럼이 부..
-
서버리스 (Serverless)오늘/Today I.. 2024. 2. 29. 17:33
서버리스란? 개발자가 직접 서버를 관리하지 않아도 되는 경우를 의미 사용량에 따라 백엔드 서비스를 제공 서버리스의 특징 특정 코드에 대한 요청이 올 경우 그에 필요한 리소스만 사용한 다음 그 부분에 대해서만 비용 청구 그렇기에 실제 사용량에 따라 요금을 청구받을 수 있다. 서버리스의 장점 1. 낮은 비용 실제 사용량에 따라 요금을 청구하기 때문에 효율적 2. 확장성 서버리스 업체가 트래픽에 맞춰 확장을 모두 처리해줌 서버리스의 단점 1. 단순작업에는 적합하나 긴 작업시간을 요하는 경우에는 비효율적임 2. 클라우드 플랫폼에 종속적임 서버리스를 사용해야 할 때 1. 빠른 출시가 필요할때 2. 사용량이 일정하지 않을 때 서버리스를 지양해야 할 때 1. 전용 서버를 사용하는 것이 비용 측면에서 더 합리적일 때 ..
-
mvc패턴 / PK, FK / HTTP 메서드오늘/기술면접주제 2024. 1. 9. 09:56
mvc 패턴의 개념 MVC는 모델 뷰 컨트롤러로 구성되며 컨트롤러는 사용자의 요청을 받아 모델로 전달한다. 모델은 비즈니스로직을 사용하여 데이터를 저장 그 후에 뷰를 통해 사용자에게 전달한다. Primary Key, Foreign Key PK 기본키. 각 컬럼을 구분하는 유일한 키. null값과 중복이 불가능. 후보키들 중 메인인 하나의 키. 유일성과 최소성을 가짐 FK 외래키. 테이블간 관계를 나타낼 때 사용. 다른 테이블의 PK를 참조하여 FK로 사용함. 데이터 무결성을 위해 FK를 사용 HTTP 메서드의 개념과 특징 http는 요청 메서드를 정의하고, 수행되길 원하는 행동을 나타낸다. 자주 쓰이는 5가지를 설명해보자면 GET : 특정 리소스를 가져올 때 사용. 데이터를 받기만 함 POST : 서버에..
-
NoSQL과 RDBMS의 특징과 차이점오늘/기술면접주제 2024. 1. 5. 10:46
NoSQL 이란? 특정 데이터 모델에 대해 특정 목적에 맞추어 구축되는 DB 현대적 어플리케이션 구축을 위한 유연한 스키마를 갖춤 비관계형 DB RDBMS의 한계를 극복하기 위한 새로운 형태 작동방식 큰 데이터볼륨, 짧은 지연시간, 유연한 데이터 모델이 필요한 곳에 최적 다른 DB와 다르게 데이터 일관성 제약 일부를 완화하여 이루어짐 특징 1. RDBMS와 달리 데이터간 관계를 정의하지 않음 2. 분산형 구조 여러 서버에 데이터를 분산 저장 3. 유연한 스키마 데이터를 저장하는 컬럼이 각각 다른 이름과 다른 데이터타입을 갖는 것이 허용됨 장점 1. 유연성 유연한 스키마를 제공하여 빠르고 반복적인 개발 가능 NoSQL DB를 반정형 및 비정형 데이터에 이상적으로 만들어줌 2. 저렴한 비용 RDBMS 에 비..