본문 바로가기
반응형

전체 글1100

[Error] After saving the identifier must not be null! Spring Data JDBC를 사용하는중에 아래와 같은 에러가 발생하였다. After saving the identifier must not be null! 해석을 해보면 식별자가 Null이다. 라는 의미여서 Entity 와 sql을 확인해보았는데 오타는 없었다. 문제는 데이터엑세스 계층을 담당하는 repository에서 는 CrudRepository를 사용하는데 여기서 참조되는 Entity에서 @Id 가 지정이 되지 않아서 발생한 문제였다. Entity에서 @Id를 넣어주면서 해결. public class Test { @Id private long testId; private String testName; } 2024. 1. 4.
GRUB 이란? Grand Unified Bootloader 의 약자로 멀티부트로더 중 하나이다. 부트로더는 PC 실행 시 가장 먼저 시작이 되고 그러면서 리눅스 OS의 커널을 로드하고 파라미터들을 커널에 넘겨주는 작업부터 시작하여 부팅에 전반적인 작업을 진행한다. GRUB은 파일시스템과 커널 포맷을 이해하고 있고, 그리하여 파일명과 커널이 위치하고 있는 디스크 파티션만 알고 있다면 커널을 로드할수 있다. 위키에서는 아래와 같이 소개를 하고 있다. https://ko.wikipedia.org/wiki/GRUB GRUB - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 우분투 기준으로 grub으로 부팅시 아래와 같은 화면을 만날수 있다. 만약 피시를 잘못 부팅했을경우나 O.. 2024. 1. 3.
CocoCut [동영상 저장 프로그램] 어떤 페이지에 자신이 필요한 영상이 있어서 다운로드를 하고자 할때 자바스크립트나 다른 이유에 있어서 다운로드가 불가능하도록 막아놓은 사이트들을 만날수 있다. 저작권이 걸리지 않는 선에서 사용을 해야하고, 저장을 할수 있는 chrome 확장도구를 알게 되어 소개하는 포스팅을 작성 중이다. https://chromewebstore.google.com/detail/%EB%B9%84%EB%94%94%EC%98%A4-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%8D%94-cococut/gddbgllpilhpnjpkdbopahnpealaklle?hl=ko 비디오 다운로더 - CocoCut 최고의 비디오 다운로더 크롬 확장 프로그램, 이 비디오 다운로더는 Chrome에서 비디오, 음악을 무료로 안전하게 한.. 2024. 1. 2.
소트 튜닝 (sort 오퍼레이션) SQL 수행 중 Sort 가 필요한 경우 dbms는 정해진 메모리 공간에 sort area 를 할당하고 정렬을 수행하곤 한다. Oracle은 PGA(Private Global Area) 에 Sqlserver 는 버퍼캐시에 저장을 하곤 한다. 소트를 발생시키는 오퍼레이션은 아래와 같다. Sort Aggregate : 전체 로우를 대상으로 집계를 수행할 때 나타나며, 아래와 같이 Oracle 실행계획에 ‘sort’라는 표현이 사용됐지만 실제 소트가 발생하진 않는다. SQL Server 실행계획엔 ‘Stream Aggregate’라고 표시된다. Sort Order By : 정렬된 결과집합을 얻고자 할 때 나타난다. Sort Group By : Sorting 알고리즘을 사용해 그룹별 집계를 수행할 때 나타난다... 2024. 1. 1.
nextcloud 서버 가족들과 공유 폴더를 사용하려고 알아보다가 홈 서버에 구축을 할수 있는 nextcloud를 알게되어 소개하려고 한다. 사이트 들어가면 구매를 하여 사용할수도 있지만.필자처럼 서버에 구축하여 기본 기능을 사용하는 방법도 있다.https://nextcloud.com/ Nextcloud - Open source content collaboration platformThe most popular open source content collaboration platform for tens of millions of users at thousands of organizations across the globenextcloud.com  linux 설치는 간단하다. 패키지 update / upgradesudo apt .. 2023. 12. 31.
Emby 서버 요즘 OTT 가 많지만 가격이 많이 올라서 홈네트워크에 미디어 서버를 구축하여 필요한 파일만 구매해서 보려고 하다가 Emby를 알게 되어 간단하게 포스팅을 하려고 한다. https://emby.media/ Emby media server for personal streaming videos tv music photos in mobile app or browser for all devices android iOS windows phone appletv androidtv smarttv and dlna emby.media 서버에 구축을 하면 모바일, 스마트 티비, 컴퓨터 어디서든 접근할수 있는 장점이 있다. 설치 및 사용법은 간단하다. 우선 사이트에서 다운로드 경로를 들어가서 각자의 OS에 맞는 다운로드를 들.. 2023. 12. 30.
최대, 최소값(GREATEST, LEAST) 일반적으로 쿼리에서 최대 최소 값이라고 하면 Max 와 Min 함수를 의미하지만 이번 포스티에서 다루는 함수는 GREATEST, LEAST 이다. 값들 중에 최대값과 최솟값을 반환하는 함수이다. 사용법은 아래와 같다. SELECT GREATEST(10, 20, 30, 40, 50) FROM dual -- 결과 50 반환 SELECT LEAST(10, 20, 30, 40, 50) FROM dual -- 결과 10 반환 숫자 이외에도 문자열이나 날짜도 사용이 가능하다. SELECT LEAST('AAA', 'BBB', 'CCC', 'DDD') FROM dual -- 결과 AAA 반환 SELECT LEAST(SYSDATE, SYSDATE + 1, SYSDATE + 2) FROM dual -- 결과 SYSDATE.. 2023. 12. 29.
숫자 자리수 0으로 채우기 이전 포스티에서 정규식에 대해 다룬적이 있다. 정규식 관련 내용은 아래 참고 포스팅을 참고 바란다. 정규식과 비슷한 내용으로 숫자 왼쪽에 0을 채우는 방법에 대해서 적어볼 것이다. 예를들어 회원번호가 THENICESJ1 THENICESJ2 THENICESJ3 THENICESJ4 . . . 이런식으로 쌓이는 테이블이 있다면 10의자리가 되면 THENICESJ9 THENICESJ10 이렇게 자리수가 바뀌고 100의 자리로, 1000의 자리로 가면 자리수가 계속해서 많아진다. 이럴경우를 대비해서 THENICESJ0001 THENICESJ0002 .. .. THENICESJ0010 . . THENICESJ0100 이렇게 특정 자리수를 고정해두고 앞의 빈칸을 0으로 채우면 좋은 방법이다. 방법은 간단하다. int.. 2023. 12. 28.
@ColumnDefalut Annotation 이전 포스팅에서 lombok 에서 제공하는 Builder.Default 에 대해서 다룬적이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. 이번 포스팅에서는 @ColumnDefalut annotation이다. Builder.Default 와 비슷하게 사용이 되고, 사용위치는 entity에서 사용이된다. entity 는 ORM 에서 사용되고 자세한 내용은 참고 포스팅 참고 바란다. @ColumnDefault("원하는값") 처럼 사용한다. @ColumnDefault("test") private String id; 이렇게 해주면 entity 를 DDL 시킬 경우 CREATE TABLE tablename( ... ... ... id varchar(...) default "test" not null ..... 2023. 12. 27.
반응형