본문 바로가기

전체 글11

PostgreSQL 왜 선택해야할까? 관계형 데이터베이스(RDBMS)로는 MySQL, PostgreSQL, MariaDB, Oracle Database 등이 있습니다.그중에서도 오픈 소스로 널리 사용되는 MySQL과 PostgreSQL은 각각의 장점이 뚜렷합니다.이번 포스팅에서는 가장 많은 점유율을 자랑하는 MySQL 대신 PostgreSQL을 선택한 이유를 알아보겠습니다.먼저, 두 데이터베이스의 기본적인 장단점을 비교해보겠습니다.PostgreSQL의 장점복잡한 데이터 모델 지원: JSON, XML, GIS 같은 다양한 데이터 타입을 지원해서 복잡한 데이터 모델을 만들기 좋습니다.고급 쿼리 기능: 복잡한 데이터 조작이 필요할 때 다양한 기능을 제공해 분석 작업에 강력합니다.확장성: 사용자 정의 함수를 만들 수 있어, 필요한 기능을 추가해 맞.. 2024. 11. 5.
[Java] 가비지 컬렉션(GC)란? 자바 가비지 컬렉션(GC)은 사용하지 않는 객체를 자동으로 제거하고 메모리를 회수하는 프로세스를 말합니다. 이를 통해 개발자가 메모리 관리에 신경 쓰지 않아도 되어 효율적인 프로그래밍을 가능하게 합니다. 자바 가비지 컬렉션(GC)가 필요한 이유 자바는 개발자가 직접 메모리를 해제해줄 수 없는 언어입니다. 따라서 사용하지 않는 객체들이 계속해서 메모리를 점유하면, 불필요한 메모리 낭비가 발생할 수 있습니다. GC는 이러한 객체를 찾아내어 메모리를 해제하여 시스템 성능과 안정성을 향상시킵니다. 자바 가비지 컬렉션(GC)의 동작방식 가장 간단한 형태의 GC인 Minor GC와 Major GC로 구분됩니다. Minor GC는 Young 영역에서 실행되며, Eden 영역이 가득 찼을 때 발생합니다. 살아남은 객체.. 2023. 8. 17.
[Spring] 특정 오류메세지 한글로 나오지 않고 물음표로 응답할 때 스프링 컨트롤러를 실행할 때, 특정 컨트롤러에서 오류 메시지가 물음표로 나오는 경우가 있다. 분명 다른 컨트롤러에서는 모두 정상 메세지를 응답해 주는데 이 컨트롤러에서만 물음표로 나온다. 에러 로그를 확인해보니 InternalAuthenticationServiceException로 해당 예외는 보통 사용자 인증 과정에서 내부적으로 예외가 발생한 경우이다. 근데 해당 과정에서 에러가 발생 시 에러 메시지가 나오도록 설정을 해놓았는데도 물음표가 나왔다. 혹시나 응답 헤더에서 무슨 문제를 찾을 수 있지 않을까 해서 헤더를 찾아보았다. 콘텐츠 타입이 json은 맞는데 그 뒤에 뭔가 이상하다는 것을 확인할 수 있다. [application/json;charset=ISO-8859-1] 검색해 보니 해당 타입은 한글.. 2023. 8. 14.
[MySQL] SQL Error 1364 데이터베이스 에러 스프링 실행 중 데이터베이스 오류가 발생했다! 오류는 SQL Error: 1364 데이터베이스에서 발생하는 에러로 새 데이터를 삽입하거나 업데이트할 때, 컬럼에 기본 값을 설정하지 않았는데 해당 컬럼에 데이터가 없는 경우 발생합니다 아래는 해당 오류를 수정하기 위한 방법입니다 Point 컬럼 기본값 확인 데이터베이스 초기화 컬럼 기본값 확인 컬럼 중 기본값이 어떤 식으로 되어있는지 확인은 방법입니다. SHOW CREATE TABLE [테이블명]; // 예 SHOW CREATE TABLE prac; 명령어를 실행하면 테이블의 정보가 나옵니다 여기서 기본값에 이상이 있는 경우 수정해주시면 됩니다. 데이터베이스 초기화 사실 제일 간단하면서 강력한 방법입니다. 저같은 경우는 yaml에서 ddl-auto 설정을 .. 2023. 8. 11.