Leehosang Lab
포트폴리오
About Me
Resources
Today I Learned
Weekley I Learned
My resume
Search
✕
Tag Index
Backend (17)
Batch (4)
CDN (1)
Cache (1)
Chrome (1)
CircuitBreaker (1)
CompletableFuture (1)
Concurrency (1)
ConnectionPool (1)
DBCP2 (1)
Dashboard (1)
Data (2)
Debugging (1)
DevOps (1)
Feign (3)
Frontend (2)
HikariCP (1)
JPA (5)
Jackson (2)
Java (19)
Logback (1)
Logging (3)
Metrics (1)
MyBatis (2)
MySQL (6)
OkHttp (1)
Performance (3)
Redis (1)
Refactoring (1)
SQL (2)
SRI (1)
Security (4)
Spring (16)
SupplyChain (1)
TDD (1)
Testing (1)
Til (5)
Tomcat (1)
Transaction (1)
Troubleshooting (7)
books (1)
doc (1)
test (2)
wil (1)
내일배움 (13)
스파르타 (13)
이력서 (1)
자기소개 (1)
주간회고 (3)
추석 (2)
취업 (1)
Backend (17)
같은 이름, 다른 숫자 — 통계 지표의 분모 정하기
2026.10.14
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
평균의 평균이 속였다 — 학습시간이 (N+1)/2 배로 부풀던 버그
2026.09.10
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
배포할 때마다 502 — Graceful Shutdown과 로드밸런서 헬스체크
2026.04.16
@Modifying Native Upsert에서 TransactionRequiredException — @Transactional 위치가 중요하다
2026.04.14
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
Feign Client에서 간헐적 SocketTimeoutException — OkHttp ConnectionPool로 해결
2026.04.06
Redis 장애가 나도 서비스가 살아있으려면 — L1/L2 캐시 Fallback 구조
2026.04.03
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
Feign Client FallbackFactory — 외부 API 장애 시 조용히 실패하는 법
2026.02.12
Batch (4)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
CDN (1)
외부 CDN 스크립트에 SRI 걸기 — 해시는 직접 계산하고, CDN 이 만든 .min.js 는 피한다
2026.10.08
Cache (1)
Redis 장애가 나도 서비스가 살아있으려면 — L1/L2 캐시 Fallback 구조
2026.04.03
Chrome (1)
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
CircuitBreaker (1)
Feign Client FallbackFactory — 외부 API 장애 시 조용히 실패하는 법
2026.02.12
CompletableFuture (1)
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
Concurrency (1)
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
ConnectionPool (1)
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
DBCP2 (1)
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
Dashboard (1)
같은 이름, 다른 숫자 — 통계 지표의 분모 정하기
2026.10.14
Data (2)
같은 이름, 다른 숫자 — 통계 지표의 분모 정하기
2026.10.14
평균의 평균이 속였다 — 학습시간이 (N+1)/2 배로 부풀던 버그
2026.09.10
Debugging (1)
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
DevOps (1)
배포할 때마다 502 — Graceful Shutdown과 로드밸런서 헬스체크
2026.04.16
Feign (3)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
Feign Client에서 간헐적 SocketTimeoutException — OkHttp ConnectionPool로 해결
2026.04.06
Feign Client FallbackFactory — 외부 API 장애 시 조용히 실패하는 법
2026.02.12
Frontend (2)
외부 CDN 스크립트에 SRI 걸기 — 해시는 직접 계산하고, CDN 이 만든 .min.js 는 피한다
2026.10.08
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
HikariCP (1)
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
JPA (5)
평균의 평균이 속였다 — 학습시간이 (N+1)/2 배로 부풀던 버그
2026.09.10
@Modifying Native Upsert에서 TransactionRequiredException — @Transactional 위치가 중요하다
2026.04.14
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
Jackson (2)
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
Java (19)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
평균의 평균이 속였다 — 학습시간이 (N+1)/2 배로 부풀던 버그
2026.09.10
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
배포할 때마다 502 — Graceful Shutdown과 로드밸런서 헬스체크
2026.04.16
@Modifying Native Upsert에서 TransactionRequiredException — @Transactional 위치가 중요하다
2026.04.14
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
Feign Client에서 간헐적 SocketTimeoutException — OkHttp ConnectionPool로 해결
2026.04.06
Redis 장애가 나도 서비스가 살아있으려면 — L1/L2 캐시 Fallback 구조
2026.04.03
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
Feign Client FallbackFactory — 외부 API 장애 시 조용히 실패하는 법
2026.02.12
Logback (1)
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
Logging (3)
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
Metrics (1)
같은 이름, 다른 숫자 — 통계 지표의 분모 정하기
2026.10.14
MyBatis (2)
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
MySQL (6)
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
@Modifying Native Upsert에서 TransactionRequiredException — @Transactional 위치가 중요하다
2026.04.14
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
OkHttp (1)
Feign Client에서 간헐적 SocketTimeoutException — OkHttp ConnectionPool로 해결
2026.04.06
Performance (3)
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
Redis (1)
Redis 장애가 나도 서비스가 살아있으려면 — L1/L2 캐시 Fallback 구조
2026.04.03
Refactoring (1)
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
SQL (2)
같은 이름, 다른 숫자 — 통계 지표의 분모 정하기
2026.10.14
날짜 인덱스 없는 로그에서 하루치만 읽기 — PK 이진 탐색
2026.10.06
SRI (1)
외부 CDN 스크립트에 SRI 걸기 — 해시는 직접 계산하고, CDN 이 만든 .min.js 는 피한다
2026.10.08
Security (4)
외부 CDN 스크립트에 SRI 걸기 — 해시는 직접 계산하고, CDN 이 만든 .min.js 는 피한다
2026.10.08
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
Spring (16)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
배포할 때마다 502 — Graceful Shutdown과 로드밸런서 헬스체크
2026.04.16
@Modifying Native Upsert에서 TransactionRequiredException — @Transactional 위치가 중요하다
2026.04.14
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
3개 서버에 걸친 버그 연쇄 — 하나씩 뜯어보기
2026.04.11
Chrome Private Network Access 정책에 막힌 오디오 재생 — 서버 프록시로 우회
2026.04.09
Feign Client에서 간헐적 SocketTimeoutException — OkHttp ConnectionPool로 해결
2026.04.06
Redis 장애가 나도 서비스가 살아있으려면 — L1/L2 캐시 Fallback 구조
2026.04.03
동시 요청 Race Condition — DataIntegrityViolationException 처리 패턴
2026.04.01
외부 API 14번 호출하던 배치를 CompletableFuture로 2번으로 줄이기
2026.03.30
N+1 쿼리와 LIMIT 없는 조회 — 운영 중 20초 타임아웃의 원인
2026.03.25
Feign Client FallbackFactory — 외부 API 장애 시 조용히 실패하는 법
2026.02.12
SupplyChain (1)
외부 CDN 스크립트에 SRI 걸기 — 해시는 직접 계산하고, CDN 이 만든 .min.js 는 피한다
2026.10.08
TDD (1)
테스트 0개 레거시 서버의 인증 필터 고치기 — 판단은 순수 객체로, 차단은 관측부터
2026.09.15
Testing (1)
미사용 코드 4만 줄을 안전하게 지운 방법 — 콜그래프 스캐너와 '참조 0인데 살아 있는 코드'
2026.07.20
Til (5)
TIL(19)
2021.10.07
TIL(18)
2021.10.05
TIL(19)
2021.10.01
TIL(18)
2021.09.30
TIL(17)
2021.09.29
Tomcat (1)
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
Transaction (1)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
Troubleshooting (7)
실패를 '빈 성공'으로 돌려주지 마라 — 집계 배치가 조용히 0을 덮어쓴 이유
2026.10.08
커넥션 풀 기본값의 함정 — DBCP2 LifetimeExceededException 과 wait_timeout
2026.10.02
로그로 개인정보가 새는 세 갈래 — 응답 원문, printStackTrace, 조용한 더미
2026.10.01
로그 설정이 두 벌일 때 — 사라진 WARN, 무시된 springProfile
2026.09.15
평균의 평균이 속였다 — 학습시간이 (N+1)/2 배로 부풀던 버그
2026.09.10
배포할 때마다 502 — Graceful Shutdown과 로드밸런서 헬스체크
2026.04.16
왜 월요일 배치만 터질까 — @Transactional과 DB wait_timeout
2026.04.12
books (1)
06월 03일
2020.02.26
doc (1)
이력서와 전쟁 (1)
2022.01.03
test (2)
첫글입니다.
2020.02.28
06월 03일
2020.02.26
wil (1)
WIL
2021.10.04
내일배움 (13)
TIL(19)
2021.10.07
TIL(18)
2021.10.05
WIL
2021.10.04
TIL(19)
2021.10.01
TIL(18)
2021.09.30
TIL(17)
2021.09.29
TIL(16)
2021.09.28
TIL(15)
2021.09.27
TIL(14)
2021.09.24
TIL(13)
2021.09.23
TIL(12)
2021.09.22
TIL(11)
2021.09.20
TIL(10)
2021.09.17
스파르타 (13)
TIL(19)
2021.10.07
TIL(18)
2021.10.05
WIL
2021.10.04
TIL(19)
2021.10.01
TIL(18)
2021.09.30
TIL(17)
2021.09.29
TIL(16)
2021.09.28
TIL(15)
2021.09.27
TIL(14)
2021.09.24
TIL(13)
2021.09.23
TIL(12)
2021.09.22
TIL(11)
2021.09.20
TIL(10)
2021.09.17
이력서 (1)
이력서
1999.01.02
자기소개 (1)
이력서
1999.01.02
주간회고 (3)
TIL(19)
2021.10.01
TIL(16)
2021.09.28
TIL(15)
2021.09.27
추석 (2)
TIL(12)
2021.09.22
TIL(11)
2021.09.20
취업 (1)
이력서와 전쟁 (1)
2022.01.03