JPA Enum Table ID 전략 선택

간혹 레거시 코드, DB 테이블 중에 Enum 값을 테이블로 직접 만들어서 관리하는 경우가 있다. 이러한 Enum을 가진 엔티티를 통합 테스트하고자 할 때, Enum 엔티티의 id 값이 발목을 붙잡는 경우가 있었다. id 값이 깔끔하게 1, 4, 3 등으로 선택 되어야 Enum 값 활용이 가능한데, AUTO_INCREMENT 옵션에 의해서 유효하지 않...

QueryDSL 하나의 테이블에 2번 조인을 걸고 싶을 땐 어떻게 하는가?

QueryDSL에서 하나의 테이블에 각각 나눠서 2번 조인을 걸고 싶을 때가 있다. 예를 들면 부모(Parent), 시터(Sitter)의 정보를 각각 필요로 하는데 이들이 사용자(User) 테이블 하나로 구성되어 있는 경우다. 이런 경우 Q객체를 2가지 변수로 나누어 할당한 후, 조인을 걸면 된다! References [동일 entity , table...

CPU Load 와 CPU Utilization 은 어떻게 다른가

💾 문제 상황 어느 날 현태님께서 분석계 DB 상태 알람이 동작하지 않는 걸 체크해달라고 하셨다. CPU의 사용량이 70%를 넘어가면 관리자에게 알림이 오도록 설정해두신 것 같았다. CloudWatch 지표를 살펴보니 CPU Load가 70%를 넘기면 알림이 오도록 셋팅되어 있었다. 그러나 CPU Load는 평균적으로 0~1% 사이를 오갈 뿐이었다. ...

Unleash custom strategy를 이용한 feature toggle 변수 필터 지정

feature toggle & Unleash feature toggle 이란 특정 지점에 분기를 형성하여 각 조건에 해당되는 대상에게 각기 다른 기능을 제공해줄 수 있다. 가령 “2022년 7월 1일부터 3일까지는 A기능을, 7월 4일부터는 B기능을 제공하고 싶다.” 라는 니즈가 있으면 7월 1일부터 3일까지는 feature toggle을 ON...

모종삽과 굴삭기

“현구님, 어드민 페이지에 메모 기능 추가하는 거 어려워요?” 몇 달 전 저녁 회식 자리였다. 지글지글 익어가는 삼겹살을 보며 얼을 타던 나에게 사업 담당자님께서 넌지시 질문을 던지셨다. 정신을 차리고 바라본 담당자님의 얼굴엔 ‘그리 어려운 게 아닐 텐데 왜 추가해주지 않느냐’는 표정이 그려져 있었다. 이미 몇 번이고 이유를 설명했었지만, 답답함이 가...