/users
/posts
/slides
/apps
/books
mysetting
/users
/posts
/slides
/apps
/books
9:39 12/23
jinlee.kr
9:39
jinlee.kr
개발자 이진우
https://jinlee.kr
Hydejack is a boutique Jekyll theme for hackers, nerds, and academics, with a focus on personal sites that are meant to impress.
저작도구: Jekyll v3.10.0
최종 피드 수집: 2026-09-17 06:16
전체 (57)
11d
MongoDB에서 중복 값이 있는 필드에 unique 인덱스를 걸면 생기는 일
이미 중복 데이터가 쌓인 컬렉션에 unique 인덱스를 생성하려다 실패한 경험을 정리한다. MongoDB가 unique 인덱스 빌드를 어떻게 처리하는지, 여러 인덱스를 한 번에 만들 때 무슨 일이 벌어지는지, 그리고 어떻게 복구했
database
+ 더보기
0
0
0
읽기모드
14d
쿠키 누적과 maxHttpHeaderSize 초과로 발생한 500 장애 해결기
특정 사용자·특정 PC에서만 간헐적으로 발생하던 500. 부모 도메인에 누적된 쿠키가 요청 헤더 한도를 넘긴 것이 원인이었다. 클라이언트가 쿠키를 많이 갖게 되는 구조, 개발계에서 재현되지 않은 이유, 일부 PC에서만 발생한 이유
network
+ 더보기
0
0
0
읽기모드
25d
오버커밋 배포 장애 회고
개발계 백엔드 20개 서비스의 CPU request를 낮추자 배포가 무한 Progressing에 빠졌다. 스케줄러가 request만 보고 한 노드에 파드를 과밀 배치했고, 동시에 콜드스타트한 JVM들이 CPU 기아에 빠져 Cras
devops
+ 더보기
0
0
1
읽기모드
26d
채널 종속 정책과 공통 논리를 나누는 기준
진입 채널(BFF)이 여럿인 구조에서 새 로직을 추가할 때, 요청이 들어온 채널에 바로 넣기 쉽다. 하지만 그 전에 "이 정책이 이 채널에만 해당하는가, 아니면 모든 채널이 지켜야 할 공통 논리인가"를 먼저 물어야 한다. 채널별
web
+ 더보기
0
0
2
읽기모드
1M
HTTP Keep-Alive와 stale 커넥션 - idle timeout mismatch가 만드는 장애
한 줄 요약
1. 배경: 어떤 장애였나
2. HTTP Keep-Alive = TCP 커넥션 재사용
3. Idle Timeout은 양쪽 끝에 각각 존재한다
4. 문제는 이 둘의 비대칭(mismatch)이다
5. 왜 클라이언트는 “서
network
+ 더보기
0
0
1
읽기모드
7M
Memory Leak 판별을 위한 Heap Dump
1. 도입부: 문제 상황
1.1 후리가나(발음명) 맥락과 kuromoji 도입
1.1.1 PhoneticConverter를 먼저 본 이유
1.2 Datadog Profiling 관찰 요약
1.3 Datadog 스크린샷
2.
devops
+ 더보기
0
0
3
읽기모드
7M
WebFlux Multipart 프록시에서 'Unexpected end of form'이 터지는 이유
1. 서론
2. 문제 상황
3. 문제 코드
4. 원인: “multipart를 파싱한 뒤 재조립”하면 원본 헤더가 더 이상 정답이 아니다
4.1 multipart 처리 흐름에서 boundary/길이는 바뀔 수 있다
4.2 왜
web
+ 더보기
0
0
4
읽기모드
7M
Spring Boot 버전 업데이트 이후, WebFlux 필터 헤더 전파가 깨진 이유와 해결기
1. 배경
2. 시스템 구조
3. 장애 현상: BFF의 모든 요청이 validateTrustedAccess에서 에러 발생함
4. 로그 이해
5. 왜 업그레이드 후에만 문제가 터졌을까?
6. 해결: “헤더 mutate” 대신 “명시
web
+ 더보기
0
0
0
읽기모드
10M
왜 API 요청 수를 줄여야 할까?
1. 서론: 요청 수를 줄이는 이유를 다시 생각해본다
2. AWS 네트워크 구조: 어디서 비용이 발생하는가?
2.1 IGW(Internet Gateway)의 역할
2.2 내부 통신(VPC → VPC)은 왜 저렴한가
3. I
web
+ 더보기
0
0
2
읽기모드
11M
Project Loom 실험기
1. 서론
2. 본문
3.1. Platform Thread vs Virtual Thread
3.2. I/O 바운드 vs CPU 바운드
3.3. 실험 코드
3.4. 실험 결과 분석
3.5. 결과 해석
왜 Vir
web
+ 더보기
0
0
1
읽기모드
1y
Spring Security + JWT 기반 인증/인가 구현기
1. Spring Security 기본 개념
2. JwtAuthenticationFilter 동작
3. JwtProvider 구현
4. SecurityConfig 설정
5. @PreAuthorize를 통한 권한 제어
6. 예외 처
web
+ 더보기
0
0
0
읽기모드
1y
JWT Refresh Token Rotation (RTR) 전략으로 보안 강화하기
0. 배경 지식: OAuth2와 OIDC
1. 문제 제기: Refresh Token의 위험성
2. Static Refresh Token 방식의 한계
3. RTR(Rotate Refresh Token) 방식
📌 공격자가 먼
web
+ 더보기
0
0
1
읽기모드
1y
Spring Boot 멀티모듈 아키텍처 전환기
1. 배경: 왜 모놀리스 아키텍처를 벗어났는가?
1.1. 패키지 우선 분리
1.2 도메인 모듈 분리
2. 목표 설정: 무엇을 얻고 싶었나?
3. 계획 및 단계 설정
4. 측정 환경
5. 성능 변화 (Before & Afte
web
+ 더보기
0
0
1
읽기모드
1y
Gradle에서 settings.gradle과 build.gradle의 역할과 차이
📌 Settings.gradle의 역할
주요 기능
빌드 실행 시
📌 build.gradle의 역할
🔍 settings.gradle vs build.gradle 차이
🔍 멀티모듈 빌드 흐름
📝 마치며
📌 Setti
web
+ 더보기
0
0
1
읽기모드
1y
Gradle에서 api vs implementation 의존성 스코프 정리
📌 의존성 스코프가 중요한 이유
📌 api와 implementation의 정의
📌 컴파일·런타임 classpath 노출 차이
📌 예제로 살펴보는 모듈 경계
📌 빌드 성능과 캡슐화 효과
📌 선택 가이드라인
📌 마이그레이
web
+ 더보기
0
0
1
읽기모드
1y
Gradle에서 settings.gradle과 build.gradle의 역할과 차이
📌 Settings.gradle의 역할
주요 기능
빌드 실행 시
📌 build.gradle의 역할
🔍 settings.gradle vs build.gradle 차이
🔍 멀티모듈 빌드 흐름
📝 마치며
📌 Setti
web
+ 더보기
0
0
2
읽기모드
1y
Server-Sent Events(SSE) 구현과 실무에서 마주할 수 있는 문제 해결기
1. Server-Sent Events(SSE)란?
1.1. SSE의 동작 원리
1.1.1. SSE 동작 시퀀스 다이어그램
1.1.2. 재연결 처리 시퀀스 다이어그램
1.2. SSE vs WebSocket v
web
+ 더보기
0
0
1
읽기모드
1y
Java로 구현한 Virtual Host 기능과 Host 헤더 이슈 해결기
1. Virtual Host란?
1.1. Name-based Virtual Host
1.2. IP-based Virtual Host
1.3. Port-based Virtual Host
1.4. Virtual Host 방식의
web
+ 더보기
0
0
58
읽기모드
1y
ElasticSearch란 무엇인가?
1. ElasticSearch 소개
1.1. ElasticSearch의 정의와 역사
1.2. ELK 스택(ElasticSearch, Logstash, Kibana)의 개요
2. ElasticSearch의 핵심 특징
database
+ 더보기
0
0
62
읽기모드
1y
Mac에서 ElasticSearch 설치 및 실행하기
1. 시작하기 전에
1.1. 필수 요구사항
1.2. 설치 방법 선택
2. Homebrew를 이용한 설치
2.1. Homebrew 설치
2.2. ElasticSearch 설치
2.3. ElasticSearch 실행
3
database
+ 더보기
0
0
62
읽기모드
About
Badge
Contact
Activity
Terms of service
Privacy Policy