Polynomeer

JSP 기반 시스템의 구조적 문제를 해결한 아키텍처 전환기: 시퀀스 테이블 기반 코드 생성의 병목을 해결한 이야기

아래는 레거시(MyBatis 기반) 시스템과 신규(JPA 기반) 시스템의 공존 및 배포 과정에서 발생할 수 있는 데이터 정합성 문제와 이를 해결하기 위한 전략 및 실무적 대응 방법을 상세하게 정리한 기술 문서 스타일의 글입니다. 기술 블로그나 사내 문서로도 바로 활용 가능하게 구성했습니다. 💡 레거시(MyBatis)와 JPA 시스템의 공존 시 데...

JSP 기반 시스템의 구조적 문제를 해결한 아키텍처 전환기: 시퀀스 테이블 기반 코드 생성의 병목을 해결한 이야기

💥 시퀀스 테이블 병목을 잡아라 – 계약 코드 생성의 병렬 트랜잭션 최적화 사례 운영 중인 시스템에서 병목 현상을 해결하는 것은 언제나 현실적 제약과의 싸움입니다. 이번 글에서는 계약 코드 생성 과정에서 발생한 시퀀스 테이블 병목 문제를 해결하며 경험한 설계적 고민, 실용적인 트랜잭션 전략, 그리고 그 성과를 공유하려고 합니다. ❗ 문제 상황:...

JSP 기반 시스템의 구조적 문제를 해결한 아키텍처 전환기: DTO 중심 아키텍처 전환과 검증 체계 개선

🛠️ 레거시 JSP 시스템의 구조적 한계 극복기 — DTO 중심 아키텍처 전환과 검증 체계 개선 ✍️ 들어가며 오랜 기간 유지되어 온 JSP 기반의 웹 시스템은 빠르게 변화하는 비즈니스 요구사항과 정제되지 않은 데이터 흐름, 그리고 복잡하게 얽힌 UI 중심 로직으로 인해 유지보수성에 큰 어려움을 겪고 있었습니다. 특히 Map 기반의 비정형 데이터 ...

조건 기반 예측 캐싱: 고속 엑셀 다운로드 처리 구조 설계

전체 다운로드에 준하는 대량 데이터 요청을 실시간 처리하면서도, API 서버 부하를 줄이고 사용자 응답 속도를 개선할 수 있는 방법은 없을까? 사전 생성이 어렵지만 반복되는 조건”에 대해 예측 기반 분기 처리 + 조건 캐싱 전략을 적용하여, 실시간성과 성능의 균형을 맞춘 구조를 설계해보았다. 배경: 사전 생성의 한계 앞서 전체 데이터를 필터 ...

[3주차] 속도를 지배하는 DB 인덱스

03. 인덱스란? 책갈피를 끼워두고 필요할 때 바로 해당 페이지를 펼 수 있게 하는 것과 같다. 즉, DB에서 자주 사용하는 필드 값의 위치를 저장해놓음으로써, 데이터를 빠르게 탐색할 수 있다. 탐색을 빠르게 할 수 있는 반면, 데이터가 추가될 때마다 책갈피를 꽂아 넣어야해서(인덱스 생성), 데이터의 탐색 속도는 빠르지만 데이터를 추가하는 속도는 느...

Chapter 2. Architectural Thinking

아키텍처 사고란, 단순이 ‘아키텍처를 생각하는 것’이 아니라 아티텍처적인 눈으로 아키텍처 관점에서 사물을 바라보는 것이다. 아키텍처와 설계의 차이를 이해하고 아키텍처 작업을 진행하려면 개발팀과 어떻게 협력해야할 지 아는 것 어느 정도 기술 깊이를 유지하면서 폭넓은 기술 지식을 확보하는 것 다양한 솔루션과 기술 간의 트레이드 오프를 이해하고...