

JPA 배치 인서트 vs JDBC배치 인서트
대용량 데이터 등록에서 JPA 배치와 JDBC 배치를 직접 비교해 성능을 확인했습니다. 단일 MySQL 환경에서는 JDBC 템플릿 배치를 선택해 생산성과 속도를 함께 높였습니다.


대용량 데이터 등록에서 JPA 배치와 JDBC 배치를 직접 비교해 성능을 확인했습니다. 단일 MySQL 환경에서는 JDBC 템플릿 배치를 선택해 생산성과 속도를 함께 높였습니다.


CJ올리브영 리테일플랫폼개발팀에 합류하기까지의 지원 동기와 준비 과정을 소개했습니다. 공부 환경 조성, 면접 회고, 서비스 체험을 통해 성장한 경험을 정리했습니다.

사내 기술 블로그 글 발굴을 위해 소규모 블로그 스터디를 운영한 후기입니다. 단계별 글쓰기와 온라인 협업 도구로 4편의 글을 발행했고, 다음 운영 개선점도 확인했습니다.


GraphQL의 개념과 REST 대비 장점을 설명하고, Spring for GraphQL과 Apollo Client 연동 예시를 함께 정리했습니다.\n필요한 데이터만 주고받는 API 설계에 유리하지만, 스키마를 공통 관리해야 하는 점도 함께 짚었습니다.

Spring Boot 2.7에서 3.1로 이관할 때 필요한 핵심 변경점을 정리했습니다.\nJava 17, Jakarta EE, Spring Cloud·Batch·Security·JPA 대응 방법을 함께 설명했습니다.


스프링부트 3.0 네이티브 이미지를 쿠버네티스에 적용한 배포 방식의 변화를 다뤘습니다. 실행 시간과 이미지 크기 개선 효과를 수치로 보여줬습니다.

FCM의 기본 개념과 푸시 알림 전송 흐름을 Spring Boot와 Android 예제로 정리했습니다. Firebase 프로젝트 설정부터 토픽·토큰 발송 테스트까지 단계별로 설명했습니다.
쿠팡 파트너스
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


CircuitBreaker와 Retry로 외부 장애 전파를 막고, Redis 장애 시 Oracle RDB로 즉시 우회하는 구조를 소개했습니다. Resilience4j 설정값과 상태 전이를 함께 정리해 실무 적용 방법을 설명했습니다.

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

WebRTC 화상회의 서버의 기본 구조와 Mesh 방식의 시그널링 흐름을 정리했습니다. Spring Boot, 프론트엔드, Flutter 예제로 연결과 미디어 교환 과정을 테스트했습니다.


회원 서비스의 병목 원인을 트랜잭션, DTO 변환, 스레드 설정에서 찾았습니다. 읽기 트랜잭션 축소, 수동 매핑, 톰캣 스레드 조정과 웜업으로 응답 편차를 크게 개선했습니다.

분산 환경의 회원 서비스에서 세션 저장소를 Aerospike에서 Redis로 교체하며 Spring Session을 도입한 과정을 정리했습니다. 모듈별 ID 생성과 직접 호출 문제를 캐시, 헤더 전달, Nginx 설정으로 개선했습니다.


Spring Boot와 MongoDB에서 `@Transactional` 사용 시 단일 인스턴스에서는 트랜잭션 오류가 발생했습니다. 레플리카 셋을 구성하고 primary에 연결해야 정상적으로 롤백과 커밋을 처리할 수 있었습니다.

Spring Bean Injection에서 `@Qualifier`와 `@Primary`의 차이를 다루는 글입니다. 스프링 빈 주입 우선순위를 다시 점검합니다.