일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RootGraph
- Protecle
- AuditingEntityListener
- 1*1000
- +9:00
- @EntityListeners
- apatch poi
- sendFractionalSeconds
- 오블완
- mysql equal null
- MSSQL
- mysql not equal null
- fractional seconds
- 운동해서 광명찾자
- @CreateDate
- mysql =
- 티스토리챌린지
- load order
- deserializer
- 버전 문자열 비교
- NamedEntityGraph
- createEntityGraph
- yml
- MYSQL
- pooled-lo
- getDateCellValue
- spring boot
- getEntityGraph
- https
- EmbeddedId
- Today
- Total
목록분류 전체보기 (95)
Hello
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_..
데이터 포멧이 미국시인 데이터를 받아 한국시로 변환해 처리해야하는 일이 있었다. 단순하게 미국시+8을 생각했는데 ST(Summer time) 혹은, DST(Daylight saving time)라고 하는 시간제가 적용된 시간 처리가 필요했다. 먼저 DST에 대해 알아볼 필요가 있다. 하절기에 표준시를 원래 시간보다 한 시간 앞당긴 시간을 쓰는 것을 말한다. 필요하다면 링크를 통해 DST사용 국가 확인 후 적용하면 된다. 2023년 DST는 2023년3월12일 - 2023년11월05일에 종료된다. 여름에는 오전 2시부터 시작되는데 시계는 1시간 당겨쓰게 되어 오전 3시부터 시작되고, 가을에는 시계가 오전 2시부터 시작되어 당겨쓴 1시간을 반납해 1시로 되돌아 갑니다. 즉, 2023-03-12 02:00:0..