
Netty를 활용한 양방향 소켓 통신 구성
Netty 기반 양방향 소켓 통신 서버 구성 흐름을 정리했습니다. Spring Boot에서 초기화, 디코더, 핸들러, 클라이언트 관리 방식까지 예시로 설명했습니다.

Netty 기반 양방향 소켓 통신 서버 구성 흐름을 정리했습니다. Spring Boot에서 초기화, 디코더, 핸들러, 클라이언트 관리 방식까지 예시로 설명했습니다.


MySQL 버전 업그레이드 시 SSL/TLS 지원 버전과 클라이언트 호환성을 꼭 확인해야 한다고 설명했습니다. 8.0.28에서 TLSv1.0, 1.1이 제거되며 발생하는 핸드셰이크 오류와 조회 방법을 다뤘습니다.


메모리 누수의 개념과 원인을 GC Root 관점에서 설명했습니다. 리소스 해제, static 변수 관리, 약한 참조 활용으로 예방하는 방법을 정리했습니다.


Kubernetes 환경에서 OOM 힙덤프가 사라지지 않도록 PV와 NFS로 보관 구조를 개선했습니다. 또한 Rclone과 MinIO를 활용해 웹 UI로 쉽게 내려받을 수 있게 했습니다.

클린 코드가 읽기 쉬운 이유를 뇌의 인지 구조 관점에서 설명했습니다. 함수 분리, 중복 제거, 의미 있는 이름이 인지 부하를 줄인다고 정리했습니다.


SSG DB와 관계사 DB 간 charset 차이로 한글이 깨지는 문제를 분석하고, 주요 charset 원리를 정리했습니다. MyBatis TypeHandler와 Java 문자열 변환을 활용해 한글이 정상 적재되도록 개선했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

Jackson Deserializer 코드를 분석하며 JSON 공백 문자 제거와 파싱 방식을 살펴보았습니다. 역직렬화 처리 흐름을 코드 수준에서 점검한 내용입니다.


십수년간 운영된 오라클 DB Function 기반 프로모션 조회를 Java API로 전환한 사례를 공유했습니다. 장애 대응, 테스트, 유지보수, 트래픽 분산 한계를 해결하고 성능 개선까지 목표로 삼았습니다.

리팩터링을 기능은 그대로 두고 코드 구조를 개선하는 방법으로 정리했습니다. 함수 추출, 조건문 분해, 특이 케이스 추가 같은 기본 기법과 적용 흐름을 소개했습니다.


GraphQL에서 리졸버가 클라이언트 요청에 맞는 데이터를 반환하는 핵심 역할을 맡는다고 설명했습니다. Java에서는 데이터 페처라고도 부르며, GraphQL 이해의 중심으로 정리했습니다.

JEUS 내부 모듈의 비정상적인 byte 배열 할당으로 OutOfMemoryError가 발생했습니다. 로그 교차 분석과 역컴파일을 통해 원인을 찾고 패치 적용으로 해결했습니다.

Java APM의 개념과 동작 방식을 개략적으로 정리한 글입니다. 주요 용어와 모니터링 항목의 의미를 함께 설명했습니다.