스택 트레이스를 포기하지 않는 가상 스레드
스레드 수가 CPU보다 먼저 처리량의 상한이 되는 지점, 리액티브가 그 대가로 가져간 스택 트레이스, Java 21의 가상 스레드가 무엇을 그대로 두려는지 짚었습니다. 스케줄러 parallelism과 타임 셰어링 부재까지 적었습니다.
스레드 수가 CPU보다 먼저 처리량의 상한이 되는 지점, 리액티브가 그 대가로 가져간 스택 트레이스, Java 21의 가상 스레드가 무엇을 그대로 두려는지 짚었습니다. 스케줄러 parallelism과 타임 셰어링 부재까지 적었습니다.
회사 AI 전환기 두 편에서 못다 한 하네스 설계 이야기. 슬래시 커맨드를 스킬로 만들어 팀원이 직접 치지 않아도 같은 절차를 밟게 하고, 강제를 늘리기보다 덜어낸 판단을 적었습니다.
운영자가 손으로 한 번 더 돌린 배치가 대상을 두 배로 만들었습니다. 배치 경로 대신 모든 진입 경로가 지나는 코어에 가드를 둔 이유를 적었습니다.
Quartz cron 트리거의 misfire 기본값을 바꿀 때 그 기본값이 실제로 닿는 범위를 따라가며, 고친 곳과 일부러 남긴 곳, 옛 값이 그대로 남는 기존 트리거를 나눠 적었습니다.
몇 MB짜리 JPEG가 디코딩되면 수백 MB가 되는 차이를 파일 크기 검증이 못 보던 문제와, 축소 디코딩·해상도 상한·세마포어를 어디에 두었는지 적었습니다.
회수 배치가 에러도 경보도 없이 멈췄습니다. 원인을 공유 스레드풀 설정에서 찾았고, maxPoolSize 가 왜 처음부터 닿을 수 없는 값이었는지까지 짚었습니다.