일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 버전 문자열 비교
- MYSQL
- yml
- getEntityGraph
- deserializer
- NamedEntityGraph
- 오블완
- load order
- pooled-lo
- mysql equal null
- @CreateDate
- Protecle
- 1*1000
- RootGraph
- +9:00
- 티스토리챌린지
- apatch poi
- sendFractionalSeconds
- @EntityListeners
- createEntityGraph
- EmbeddedId
- AuditingEntityListener
- mysql =
- mysql not equal null
- getDateCellValue
- 운동해서 광명찾자
- spring boot
- fractional seconds
- MSSQL
- https
- Today
- Total
목록전체 글 (96)
Hello

Intellij에서 gradle 빌드 및 테스트 코드 실행 실패가 발생했다. - 테스트 코드 실패 에러 에러내용을 확인해보면 ClassNotFoundException이 발생한 것으로 확인되어 머리가 복잡했다. 분명 해당 테스트 클래스의 테스트를 실행했는데 class를 찾을 수 없다니 이해가 안되었다. 프로젝트를 실행해보면 프로젝트는 정상 작동했다. 테스트만 안되는 것이었다. - gradle 빌드 실패 에러 아래 이미지에 html에서 실패 이유를 확인 할 수 있도록해 해당 html에서 확인을 해보니 TestSuiteExecutionException 발생한 것을 알 수 있었다. 해결 방법 settings -> gradle을 확인해보니, Build and Run 부분이 Gradle로 셋팅된 것을 확인할 수 있..

Settings -> Git -> Protected brahches 를 변경해 활성할 수 있다. protected branch는 force push가 disabled 되어 있는 이유는 해당 branch를 보호하기 위해서 이다. 예를 들어 마스터 브랜치는 언제나 검증된 코드가 올라가야 한다.이 원칙을 지키기 위해 마스터 브랜치에는 항상 올바른 커밋 혹은 머지가 되어야 할 것이다. force push를 방어하기 위해 protected branch라는 것을 마련 해 두었다.

트랜잭션 어노테이션을 작성하지 않은 메소드에서 DB호출이 있을 때 TransactionInterceptor.invoke가 호출되어 트랜잭션이 동작하는 것 처럼 보여 디버깅 해보았는데 실행되는 이유는 의외로 단순했다. Spring Data JPA(Java Persistence API)는 Spring 에서 제공하는 모듈로 JPA를 편하게 사용할 수 있도록 도와준다. 해당 모듈에서 자주 사용하는 기능을 지원하는 JpaRepository interface 를 제공하고 있다. 우리가 JpaRepository를 상속해서서 편하게 db작업을 처리할 수 있는 이유는 기본 구현체인 SimpleJpaRepository가 JpaRepository를 상속한 JpaRepositoryImplementation를 구현하고 있기 때..

a컬럼의 값이 1 일 때 b컬럼을 다른 테이블과 조인해야 하는 쿼리가 필요해 구글링하다보니 아래 블로그에서 join - on절에 case 문을 작성해 쿼리를 만드는 방법을 보고 오! 해보자! 라는 생각이 들어 테스트 해보았다. 참고 : https://ggmouse.tistory.com/143 테스트 tb_table1 tb_table2 join-on에 case문 사용하는 쿼리 SELECT a.*, b.name FROM tb_table1 a LEFT JOIN tb_table2 b ON a.code_id= case when a.code =1 then b.id END; code 값이 1일 때만 조인하는 것을 확인할 수 있다. 위 쿼리를 실제 적용 하기전에 dba분에게 신기한 쿼리가 있음을 공유하며 성능에 이슈가..

회사 github를 github cloud(GitHub Enterprise Managed User)로 이관을 하면서 기존 로컬 환경에 세팅 변경이 필요하게 되었다. 기존 github 계정은 별도로 가입했던 것으로 기억이 되는데 github cloud 이관 되면서 azure active directory(Single Sign-On)를 사용해 계정관리를 하도록 변경되어 비밀번호 인증이 아닌 authenticator앱 인증을 통해 로그인하는 형태로 변경되었다. 그래서, intellij 에서 github 계정 추가 시 Id/Pwd 형태를 사용 할 수 없게 되었다. github token을 발행해 intellij에 계정 등록 방법을 정리하고자 한다. github token 발행 1.우측 상단에 유저 이미지 클릭 ..

회사에서 DB 모니터링을 진행하고 있어 개선 해야하는 쿼리들을 공유 받았다. 그 중 조회 쿼리 개선을 요청 받은 것이 있어 몰랐던 부분을 알게되어 정리한다. CREATE TABLE `tb_test` ( `seq` INT(11) NOT NULL AUTO_INCREMENT, `string_data1` VARCHAR(50) NOT NULL COLLATE 'utf8_general_ci', `string_data2` VARCHAR(50) NOT NULL COLLATE 'utf8_general_ci', `number_data3` BIGINT(20) NOT NULL, `date` DATETIME NOT NULL, INDEX 'seq' (`seq`) USING BTREE, INDEX `date` (`date`) USI..

프로젝트 진행이 끝날 무렵 테이블 설계가 기존과 다른 부분이 생겨 erd를 수정해야 했는데 Intellij에서 Database Tools and SQL툴을 사용해 Diagram을 만들어 주는 기능이 있어 간단하게 정리하려고 작성한다.나는 MySQL로 테스트를 진행 했다. 1. 먼저 DB에 접속할 수 있도록 플러그인(Database Tools and SQL) 설치가 필요하다. 2. Shift 키를 두 번 누르면 모든 항목을 검색할 수 있는 검색 상자가 열린다. 3. 검색상자에서 Database를 검색하거나 우측 탭에서 Database탭 확인할 수 있다. 4. + 아이콘을 눌러 Data source 에서 본인이 사용하는 디비를 선택한다. 5. Data Sources and Drivers 창이 열리고 db정보..

개발 도중 데이터 정리가 필요해 보여 특정 테이블 데이터 전체를 다 날렸는데 테이블 사이즈가 줄어들지 않아 의문이 들었다. 분명 테이블을 조회 하면 데이터가 0개 인데 테이블 사이즈는 1gb에서 바뀌지 않았다. 아래 쿼리로 실제 테이블의 크기를 확인 할 수 있다. Data_length, Index_length 컬럼을 합친 값이 실제 테이블이 점유하는 테이블 크기이다. SHOW TABLE STATUS LIKE 'tb_t1'; MySQL의 테이블스페이스는 데이터베이스 테이블 데이터, 인덱스가 저장되는 물리적인 공간(파일)을 의미 하며 아래 5가지 테이블스페이스를 가진다. 이 중 실제 데이터는 File-Per_Table Tablespace에 저장 된다. The System Tablespace File-Per_..

CREATE TABLE `tb_t1` ( `id` INT(11) NOT NULL, `key` VARCHAR(50) NOT NULL COLLATE 'utf8_general_ci', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB; CREATE TABLE `tb_t2` ( `id` INT(11) NOT NULL, `some_value1` INT(11) NOT NULL, `some_value2` VARCHAR(50) NULL DEFAULT NULL COLLATE 'utf8_general_ci', PRIMARY KEY (`id`) USING BTREE, CONSTRAINT `FK__tb_t1` FOREIGN KEY (`id`) REFERENCES `settlement`.`tb..
Excel 빈값 처리 Row.MissingcellPolicy 클래스는 null 및 빈 셀의 경우 다른 가능한 정책을 지정하는 데 사용한다. Row 클래스는 3개의 final MissingCellPolicy 필드를 갖고 있다. /** Missing cells are returned as null, Blank cells are returned as normal */ public static final MissingCellPolicy RETURN_NULL_AND_BLANK = new MissingCellPolicy(); /** Missing cells are returned as null, as are blank cells */ public static final MissingCellPolicy RETURN_..