

대용량 데이터 등록
대용량 메타데이터 등록 시간을 줄이기 위해 saveAll, 배치 인서트, 비동기 병렬 처리를 단계적으로 적용했습니다. 그 결과 등록 시간을 2분 내외로 단축했습니다.
새로운 기술 블로그가 추가되었어요


대용량 메타데이터 등록 시간을 줄이기 위해 saveAll, 배치 인서트, 비동기 병렬 처리를 단계적으로 적용했습니다. 그 결과 등록 시간을 2분 내외로 단축했습니다.

Order API 서버에서 CPU와 메모리 과부하 장애가 발생했고, JPA와 HikariCP 조합에서 예상치 못한 쿼리가 원인으로 지목되었습니다. 실제 생성 쿼리와 DB 연결 풀 영향을 함께 점검할 필요를 정리했습니다.


2022 DevRel Awards 사전 이벤트로 QR 보물찾기 서비스를 기획하고 개발한 후기입니다. 어뷰징 방지와 한정된 개발 환경에서의 구현 고민을 정리했습니다.


플레이 스쿼드가 Python 계층형 구조를 Kotlin+Spring 기반 헥사고날 아키텍처로 전환한 과정을 정리했습니다. 도메인 중심 설계, 포트/어댑터 분리, 테스트 용이성 개선 포인트를 설명했습니다.


트렌비 리뷰 서비스의 성능 병목을 줄인 개선 사례를 정리했습니다. API 호출 축소, 트랜잭션 분리, 캐시와 인덱스 추가로 응답 속도와 안정성을 높였습니다.
Java 백엔드 프로젝트를 Kotlin으로 전환하며 겪은 전략, 호환성 이슈, 실무 적용 포인트를 정리했습니다. 전환 후 가독성과 간결함이 좋아졌지만, 리뷰와 DB 기본값 같은 운영 이슈도 함께 살펴보았습니다.


Kotlin에서 JPA Entity를 정의할 때 자주 보이는 안티 패턴을 정리했습니다. mutable property, data class, lateinit 사용 시 주의할 점을 설명했습니다.


QueryDSL Projection으로 N+1 쿼리를 제거해 엑셀 다운로드 시간을 크게 줄였습니다. SXSSFWorkbook으로 변경해 대용량 엑셀 생성의 메모리 사용량과 처리 시간도 개선했습니다.
이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.


Python 서버를 Kotlin·Spring Boot로 전환한 배경과 일괄 마이그레이션 방식을 소개했습니다. API·DB를 유지하고 테스트와 회고로 전환 리스크를 관리했습니다.

서비스별 Scheduler DB 분산으로 중단된 Quartz Scheduler Admin을 다시 사용할 수 있게 고도화했습니다.\n동적 DataSource 관리, 즉시 실행, 구글 OAuth 로그인, 실행 이력 관리와 RoutingDataSource 구조를 구현했습니다.


UUID를 BINARY(255)에 저장해 조회가 실패한 원인을 MySQL 우측 패딩에서 찾았습니다. UUID 크기에 맞춰 BINARY(16)으로 변경하고 H2·MySQL 차이도 확인했습니다.


UUID를 `BINARY(255)`에 저장하면서 MySQL 우측 패딩으로 조회가 실패한 원인을 분석했습니다. UUID 컬럼을 `BINARY(16)`으로 변경하고 SQL로 패딩 영향을 검증했습니다.

Vue.js와 Spring Boot로 주제별 영상 제공 모바일 웹 서비스를 구현했습니다.\n크롤링, 캐시, JWT, 코드 스플리팅과 GitHub 기반 일정 관리까지 함께 다뤘습니다.

4주간 소셜 로그인 기반 게시판 CMS 파일럿 프로젝트를 구현하며 Vue와 SpringBoot 실무 기술을 학습했습니다. 이미지 업로드, 권한 처리, XSS 방지 같은 구현과 문제 해결 과정을 정리했습니다.