하루를 넘기던 분석 배치를 대기열 길이로 스케일아웃하기까지

하루를 넘기던 분석 배치를 대기열 건수 메트릭과 CloudWatch Alarm으로 ECS 태스크 1~10개 사이에서 스케일링한 기록

2024년 7월 24일 · 6 분

MyBatis bind 태그는 Enum을 부를 때 쓸모가 있다

MyBatis 의 쓸모는 쿼리로도 되는 계산보다 Enum 메서드 반환값을 SQL로 끌어와 하드코딩을 없애는 데 있었다.

2024년 7월 11일 · 3 분

Maven import 에러에서 먼저 볼 것은 버전이다

IntelliJ Maven Sync가 jar:unknown 의존성을 못 찾을 때 -U 강제 업데이트와 pom.xml 버전 명시로 푼 기록.

2024년 3월 20일 · 2 분

JVM 프록시 옵션은 모든 HTTP 클라이언트에 걸리지 않는다

JVM 옵션으로 프록시를 걸면 HttpURLConnection과 RestTemplate은 따르고, Apache HttpClient와 WebClient는 무시해 코드에서 따로 지정해야 한다.

2024년 3월 17일 · 2 분

Object를 Map으로 바꾸는 데 Reflection까지 써야 할까

필드를 Reflection으로 훑던 Object→Map 변환 메서드를 ObjectMapper.convertValue 한 줄로 줄이고, 바꾸면서 달라지는 동작을 짚었다.

2024년 3월 1일 · 2 분

Spring 4.3 WAS의 세션을 암호화된 ElastiCache에 모으기

Spring 4.3.7 기반 다중 WAS의 세션을, 전송 중 암호화가 켜진 ElastiCache for Redis에 Redisson Tomcat Session Manager로 모아 클러스터링했다.

2023년 10월 3일 · 3 분

콤마와 공백으로 여러 건 한 번에 검색하기

검색어 하나만 받던 조회 화면을 콤마·공백으로 쪼개 MyBatis foreach OR 조건으로 여러 건을 한 번에 찾게 바꾸고, 다시 보니 걸리는 점을 짚었다.

2023년 9월 25일 · 4 분

Autoscaling 환경에서 @Scheduled 배치를 한 번만 실행하기

Autoscaling으로 1번 서버라는 기준이 사라지자, 스케줄 트리거를 EventBridge Scheduler와 Lambda로 옮겨 Internal ALB 호출 한 번이 배치 한 번이 되게 바꿨다

2023년 9월 21일 · 5 분

WAR를 손으로 풀어 올리던 Tomcat 배포프로세스 변경

WAR를 직접 풀어 복사하던 배포를 Tomcat 자동 배포 동작을 추적해 파일 복사 한 번으로 줄였고, 5~10분이던 배포가 30초가 됐다

2023년 5월 11일 · 6 분