필터 1
성능 분석으로 알아보는 Java와 Kotlin의 static function
삼성
· 2025년 1월 6일
백엔드

성능 분석으로 알아보는 Java와 Kotlin의 static function

Java의 static function을 Kotlin에서 어떻게 대체할 수 있는지 성능 관점에서 살펴본 글입니다. 여러 방식의 차이를 비교해 적절한 선택 기준을 정리했습니다.

#Java#Kotlin
0005분
99%가 모른다는 DB Connection 누수 문제
마켓컬리
· 2025년 1월 5일
백엔드

99%가 모른다는 DB Connection 누수 문제

JDBC Driver 변경 이후 발생한 OOM 원인을 DB Connection 누수로 추적하고 Heap Dump로 확인했습니다. mysql-connector-j 업그레이드와 cleanup thread 비활성화로 문제를 해결했습니다.

#DB#Java
99305분
Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 3편 - 고정 이슈와 한계
라인
· 2024년 12월 27일
백엔드

Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 3편 - 고정 이슈와 한계

가상 스레드의 고정(pinned) 이슈를 JDK 소스 코드로 분석했습니다. 블로킹 I/O와 synchronized, JNI 사용 시 발생 가능성과 한계를 살펴봤습니다.

#Java#동시성
95005분
포스타입 정산 시스템 이관기 2
포스타입
· 2024년 12월 20일
백엔드

포스타입 정산 시스템 이관기 2

정산 시스템을 PHP에서 Java 기반 Job Runner로 이관한 과정과 테크 스펙, 테스트, 마이그레이션 전략을 설명했습니다. 또한 URI 인코딩, Reader 페이징, timeout 등 트러블 슈팅 사례와 개선 효과를 정리했습니다.

#Spring Batch#WebClient
17005분
Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 2편 - 컨텍스트 스위칭
라인
· 2024년 12월 19일
백엔드

Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 2편 - 컨텍스트 스위칭

Java 가상 스레드의 컨텍스트 스위칭 원리를 park/unpark와 Continuation 소스 코드로 분석했습니다. NioSocketImpl과 Poller 예시로 블로킹 I/O에서의 동작 흐름도 살펴봤습니다.

#Java#동시성
30005분
포스타입 정산 시스템 이관기 1
포스타입
· 2024년 12월 18일
백엔드

포스타입 정산 시스템 이관기 1

정산 시스템을 PHP에서 Java로 이관하며, 태스크 서버를 SNS·SQS·ECS 기반 Job Runner로 재설계했습니다. 작업 일관성, 재시도성, 확장성을 높이기 위한 아키텍처 선택 과정을 정리했습니다.

#Java#AWS
25005분
Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 1편 - 생성과 시작
라인
· 2024년 12월 13일
백엔드

Java 가상 스레드, 깊이 있는 소스 코드 분석과 작동 원리 1편 - 생성과 시작

Java 가상 스레드의 생성과 시작 과정을 소스 코드로 분석했습니다. 플랫폼 스레드와 Continuation 구조를 통해 동시성 효율을 높이는 원리를 설명했습니다.

#Java#동시성
39005분
Java를 주로 다루는 개발자가 생각하는 Kotlin 장점
올리브영
· 2024년 12월 8일
백엔드

Java를 주로 다루는 개발자가 생각하는 Kotlin 장점

Java 개발자가 Kotlin을 사용하며 느낀 문법적 장점을 정리한 글입니다. null 안전성, data class, 기본 인자, 확장함수 같은 편의 기능을 소개했습니다.

#Kotlin#Java
43005분
ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법
펫프렌즈
· 2024년 12월 6일
아키텍처

ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법

ArchUnit으로 Java 아키텍처 원칙을 테스트 코드로 검증하는 방법을 소개했습니다. 패키지 의존성, 순환 의존성, 어노테이션 규칙을 자동으로 강제하는 예시를 담았습니다.

#ArchUnit#Java
55005분
Spring Boot 버전업 중 알게된 Java 버전별 캡슐화 정책 강화
마켓컬리
· 2024년 12월 6일
백엔드

Spring Boot 버전업 중 알게된 Java 버전별 캡슐화 정책 강화

Spring Boot와 Java 버전업 과정에서 Gson 직렬화 에러의 원인을 자바 모듈 시스템 변화로 분석했습니다. `LocalDateTime`에 Custom TypeAdapter를 적용해 리플렉션 문제를 우회하고 해결했습니다.

#Spring Boot#Java
36005분
추상화 & 리팩토링을 통한 해외 물류사 개발 비용 절감
무신사
· 2024년 12월 5일
백엔드

추상화 & 리팩토링을 통한 해외 물류사 개발 비용 절감

해외 물류사 연동을 if-else 분기 중심에서 추상화와 팩토리, 조합 구조로 리팩토링했습니다. 이를 통해 신규 물류사 추가 시 기존 코드 수정과 테스트 부담을 크게 줄였습니다.

#Java#리팩토링
37005분
[SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기
데보션
· 2024년 11월 29일
백엔드

[SpringBatch 연재 10] 스프링배치 플로우 컨트롤 하기

Spring Batch의 Flow Controller로 Step 실행 순서와 분기 방법을 설명했습니다. next, on, from, stop을 이용해 조건별 배치 흐름을 구성하는 방법을 정리했습니다.

#Spring Batch#Java
16005분