본문 바로가기 메뉴 바로가기

ebson

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

ebson

검색하기 폼
  • 분류 전체보기 (80) N
    • WORK-RELATED (14)
    • OPEN SOURCE (3)
    • TECH AND AI (23)
    • STUDY (36) N
    • BOOK REVIEW (1)
  • 방명록

OPEN SOURCE (3)
[Open source contribution] langchain4j 오픈소스 기여 경험기 : 싱글톤 패턴 사용 실무 사례로 이해하는 JVM 리소스 누수 관리 전략

LangChain4j는 Java 환경에서 대규모 언어 모델을 활용한 애플리케이션을 구축할 수 있도록 돕는 오픈소스 프레임워크입니다. Spring 기반 서버 애플리케이션이나 장시간 실행되는 JVM 환경에서 사용되는 경우가 많기 때문에 단순히 기능 구현만 잘 되어 있다고 해서 충분하지 않습니다. 내부에서 생성되는 객체의 생명주기, 스레드 관리 방식, 메모리 사용 패턴까지 안정적으로 설계되어야 실제 운영 환경에서 문제 없이 사용할 수 있습니다. 이번 글에서는 LangChain4j 오픈소스에 기여하면서 경험한 사례를 바탕으로, 싱글톤 패턴과 JVM 메모리 관리가 실무에서 어떻게 연결되는지 정리해보고자 합니다. 이번 경험은 단순히 버그를 하나 수정한 사건이 아니라, 서버 애플리케이션에서 반복적으로 등장하는 설계 ..

OPEN SOURCE 2026. 1. 7. 21:09
[Open source contribution] langchain4j 오픈소스 기여 경험기 : InterruptedException 처리 모범사례로 보는 JVM 스레드 관리전략

Java 서버 애플리케이션을 운영하다 보면, 스레드 관련 문제는 항상 뒤늦게 모습을 드러냅니다. 코드가 작성될 당시에는 정상적으로 동작하고, 테스트 환경에서도 특별한 이상 징후가 보이지 않습니다. 그러나 트래픽이 증가하고, 애플리케이션이 장시간 실행되며, 재시작과 장애 복구가 반복되는 운영 환경에서는 작은 동시성 설계의 균열이 점점 명확한 문제로 드러납니다. 이번 글에서는 langchain4j 코드베이스에 기여하며 경험한 InterruptedException 처리 이슈를 중심으로, JVM 스레드 관리 관점에서 왜 이 문제가 중요했는지를 정리합니다. 이번 오픈소스 기여는 단순히 예외 처리 스타일을 다듬는 작업이 아니었습니다. 인터럽트를 어떻게 다루느냐에 따라, 라이브러리가 사용자 애플리케이션의 종료와 취소..

OPEN SOURCE 2026. 1. 7. 20:23
[Open source contribution] Mockito 오픈소스 기여 경험기 : Sets 유틸리티 클래스 테스트 추가

소개 & 배경Mockito란?Mockito는 Java 개발자들이 가장 널리 사용하는 mocking framework입니다. 단위 테스트를 작성할 때 실제 객체 대신 가짜 객체(mock)를 생성하여 테스트를 격리하고, 의존성을 제어할 수 있게 해줍니다. 간결한 API를 통해 mock 생성, 동작 정의, 호출 검증을 직관적으로 표현할 수 있어 테스트 코드의 가독성과 유지보수성을 높여 줍니다. // Mockito를 사용한 간단한 예시List mockedList = mock(List.class);when(mockedList.get(0)).thenReturn("first");assertEquals("first", mockedList.get(0)); Mockito는 2007년부터 개발되어 온 오픈소스 프로젝트로,..

OPEN SOURCE 2025. 12. 25. 11:31
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 캐시와 인덱스
  • 동시성처리
  • mybatis
  • Hot Key 문제
  • 캐시 장애
  • Java Performance
  • Cache Avalanche
  • 트래픽 처리
  • Double-Checked Locking
  • Initialization-on-Demand Holder Idiom
  • Spring Batch
  • 트랜잭션 관리
  • DB 트랜잭션
  • 백엔드 아키텍처
  • spring batch 5
  • DB 인덱스 성능
  • Eager Initialization
  • Redis vs DB
  • Redis 캐시 전략
  • TTL 설계
  • InterruptedException
  • 백엔드 성능
  • Cache Aside
  • 스레드 생명주기
  • Cache Penetration
  • 캐시 성능 비교
  • 백엔드 성능 설계
  • Enum 기반 싱글톤
  • 백엔드 성능 튜닝
  • Redis 성능 개선
more
«   2026/03   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바