TECHNICAL NOTES

실제 문제에서 출발한 기술 기록 2페이지

개념을 다시 설명하기보다 어떤 가설을 세웠고, 로그·코드·SQL 또는 공개된 기능과 제약에서 무엇을 확인했으며, 결론의 한계를 어떻게 검증했는지 남깁니다.

TECHNICAL NOTES

전체 기술 기록

업무 사례와 서비스 분석은 확인된 사실과 해석의 범위를 구분합니다. 실제 시스템의 식별자는 재현하지 않으며, 글은 프로젝트 진행 시기 또는 분석·활용 시점을 함께 표시하고 작성일 최신순으로 정렬했습니다. RSS로 구독하기

전체 · 32개 글 · 작성일 최신순 · 2/3페이지

운영 장애 분석프로젝트 2025.10 — 2025.11 · 5분조회 집계 중

26시간 Blast 작업에서 24시간 DB 세션이 만료된 이유

192개 반응·94개 contig의 Blast가 약 26시간 이어진 작업에서 Oracle 24시간 세션 만료 후 ORA-01012가 발생한 원인을 확인하고, 각 Blast 실행 전 세션 확인 Query를 수행하도록 보완한 과정입니다.

JavaOracleJDBCLong-running Job
트랜잭션·데이터 정합성프로젝트 2023.04 · 7분조회 집계 중

JOIN 결과 행 수가 Report ID 증가폭이 되어버린 이유

한 Job에 여러 주문이 연결되면서 성적서 대상 행이 중복되고, Java 반복문의 채번 증가가 행 수만큼 실행돼 Report ID가 +N씩 건너뛴 원인을 조회 책임 분리로 해결한 과정입니다.

Oracle SQLJoin CardinalityID GenerationJava
트랜잭션·데이터 정합성프로젝트 2025.03 — 2025.08 · 9분조회 집계 중

DB Link를 제거한 뒤 남은 문제: 복수 DataSource의 트랜잭션 경계

DB Link를 직접 DataSource 접근으로 바꾼 뒤, Mapper를 분리하면서도 Service의 트랜잭션 경계를 유지하기 위해 Atomikos 기반 JTA 구성을 적용한 판단과 검증 한계를 정리했습니다.

Spring JTAAtomikosMyBatisXA DataSource
외부 API·시스템 연계프로젝트 2025.06 — 2025.11 · 7분조회 집계 중

Connection Pool을 적용해도 빨라지지 않은 이유

반응마다 JVM이 종료되는 구조에서는 Pool을 재사용할 수 없다는 점을 측정하고, 상시 기동 REST API로 연계 방식을 바꾼 과정입니다.

JavaHikariCPREST APIProcess Lifecycle
운영 장애 분석프로젝트 2025.03 — 2025.08 · 7분조회 집계 중

JVM Class Loading 로그로 추적한 Oracle JDBC Driver 충돌

애플리케이션에 포함한 Driver보다 서버 공용 구형 Driver가 먼저 로딩된 사실을 증명하고, 다른 애플리케이션의 자체 패키징을 보완한 뒤 공용 의존성을 정리한 과정입니다.

JavaOracle JDBCClassLoaderAbstractMethodError
레거시 현대화프로젝트 2025.03 — 2025.08 · 14분조회 집계 중

레거시 요청 계약을 유지한 DTO 파라미터 매핑 구조

기존 URL과 연계 시스템의 축약형 파라미터 규격은 유지하면서, Spring MVC 확장으로 내부 DTO에 의미가 명확한 필드명을 적용한 과정입니다.

Spring MVCHandlerMethodArgumentResolverBackward CompatibilityCustom Annotation
레거시 현대화프로젝트 2025.03.12 — 2025.04.08 · 7분조회 집계 중

연쇄 window.open을 iframe + postMessage로 바꾼 이유

브라우저 팝업 정책에 의존하던 다단계 화면을 Dialog, iframe, postMessage 기반의 단일 흐름으로 전환하고 레거시 호출 경로까지 보존한 과정을 정리합니다.

JavaScriptJSPiframepostMessage
트랜잭션·데이터 정합성프로젝트 2024.10 — 2025.04 · 7분조회 집계 중

Spring Singleton Service에 요청 데이터를 멤버변수로 두면 생기는 일

Spring Service의 공유 가변 상태가 동시 요청 사이의 데이터 혼입 위험을 만드는 이유와, 요청 상태 지역변수화·공통 인터페이스·회귀 테스트로 이를 제거한 과정을 정리합니다.

JavaSpringConcurrencyRefactoring
트랜잭션·데이터 정합성프로젝트 2024.09 — 2024.10 · 7분조회 집계 중

재발급 문서를 덮어쓰지 않고 이력 관계로 관리한 이유

공인 성적서의 원본·재발급·폐기 상태를 덮어쓰기 대신 발행 순번과 이력 관계로 모델링하고, 진위확인·동시 재발급까지 검증한 과정을 정리합니다.

Data ModelingOracleAudit TrailConcurrency