
트랜잭션리스, 완벽한 CDC(Change Data Capture) 시스템 구축법
트랜잭션 기반 CDC의 롤백 부하와 DBMS 종속성 문제를 정리하고, QSI 쿼리 시뮬레이션으로 이를 대체하는 방법을 소개했습니다.\n트랜잭션 없이 변경 전후 데이터를 생성해 성능과 확장성을 높인 사례를 설명했습니다.

트랜잭션 기반 CDC의 롤백 부하와 DBMS 종속성 문제를 정리하고, QSI 쿼리 시뮬레이션으로 이를 대체하는 방법을 소개했습니다.\n트랜잭션 없이 변경 전후 데이터를 생성해 성능과 확장성을 높인 사례를 설명했습니다.

SSH 프록시 기반 명령어 제어의 한계와 우회 실행 문제를 짚고, script injection으로 실제 실행 명령을 탐지하는 방식을 소개했습니다. 에이전트 없이 서버 수준 보안을 지향하며 LD_PRELOAD, ptrace, eBPF 확장 가능성도 제시했습니다.

코틀린에서 함수형 프로그래밍을 처음 접할 때의 막막함을 다루는 글입니다. 직접 찾아본 길을 따라 함수형 스타일을 이해하도록 돕습니다.

무신사 주문 시스템이 모놀리식에서 MSA, EDA, Kafka, Java 전환까지 단계적으로 개선된 과정을 다뤘습니다. 대규모 트래픽과 이벤트 시즌에서도 안정성과 확장성을 높인 리팩토링 경험을 공유했습니다.

코루틴과 Virtual Thread를 비교하고 사용 예제를 통해 차이를 살펴보았습니다. 비동기 실행 방식 선택 시 두 경량 동시성 모델의 활용 포인트를 확인할 수 있습니다.
![[SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기](https://devocean.sk.com/thumnail/2024/10/22/28954aaf79694daff24eae993730b632354b0632bf2ddd2b26265d25e3f5f5ad.png)

Spring Batch의 CompositeItemProcessor로 여러 ItemProcessor를 순차 결합하는 방법을 소개했습니다. 이름·성별 변환과 나이 증가를 분리해 단계별 처리와 재사용성을 높였습니다.

Python 대규모 LLMOps 프로젝트에서 Poetry로 멀티 프로젝트 구조와 의존성 관리를 구성한 사례를 소개했습니다. 또한 Dependency Injector로 코드 결합도를 낮추는 방법도 함께 다뤘습니다.

API의 case를 추가 배포 없이 통일하는 방법을 다룬 글입니다. 백엔드 운영 중 응답 형식 정리와 배포 부담 완화 사례를 공유했습니다.


카프카 커넥트의 내부 오프셋 관리 방식과 REST API 기반 조작 방법을 설명했습니다. 예제로 오프셋을 되돌려 레코드를 다시 처리하는 과정을 보여주었습니다.


코딩 컨벤션을 문서, Lint, 코드 리뷰, SonarQube, Konsist로 나눠 관리한 사례를 소개했습니다. 자동화와 리뷰를 조합해 스타일과 구조 규칙을 함께 지키는 방법을 설명했습니다.

데브시스터즈가 게임 런칭 상황에 맞는 준실시간 지표 서비스를 도입한 과정을 소개했습니다. Kafka, Spark Streaming, Kibana를 활용해 정확도와 비용, 운영성을 함께 맞추려는 시도를 설명했습니다.


Redis Stream으로 재고 변동 이력을 시계열 데이터로 쌓아 조회 비효율을 줄인 사례를 소개했습니다. 날짜 단위 키와 범위 분할 조회로 순서 보장과 성능을 함께 고려했습니다.