모든 블로그
데보션

데보션

주요 카테고리 AI · DevOps · 백엔드

활동 요약

대표 인기 포스트나의 새로운 주니어 개발자는 AI? LLM을 활용한 코드 리뷰 자동화744 조회
최근 30일
2개
평균 조회
77
누적 조회
37,237
전체 글
486개
마지막 발행
2026. 11. 10.
블로그 방문

데보션 기술 블로그 글 (63)

백엔드

Reliable SIP Registration Management Using Redis Keyspace Events

Redis 키스페이스 이벤트로 SIP 등록 갱신 타이머를 영속화해 서버 재시작에도 등록 누락을 줄였습니다. 대규모 환경에서는 보조 키, Goalkeeper, Redis 클러스터 확장과 hz 튜닝으로 안정성을 높였습니다.

#Redis#Kafka#MSA
2600

백엔드

FastAPI에 모듈화된 구조 적용을 통한 빠른 프로토타이핑

FastAPI와 SQLite로 사용자 관리 API를 빠르게 만들고, 모듈화된 구조로 기능을 분리하는 방법을 소개했습니다. 의존성 주입과 예외 처리, 자동 문서화를 활용해 유지 보수성과 프로토타이핑 속도를 높였습니다.

#FastAPI#SQLite#SQLAlchemy
4800

백엔드

FastAPI 프로젝트의 결합도 낮추기 전략

FastAPI 프로젝트에서 service와 router를 분리해 결합도를 낮추는 구조를 소개했습니다. 모듈 독립성과 테스트 용이성을 높여 유지보수성과 확장성을 개선하는 방법을 정리했습니다.

#FastAPI#Python#API
5100

백엔드

Spring Boot 성능 개선 사례 공유 (1) - Redis 및 Local 캐싱 활용

Redis와 로컬 캐시를 결합해 조회 성능을 개선한 사례를 공유했습니다. 1만 건 요청 기준 2배 이상 성능 향상을 확인했으며 캐시 동기화 구조와 개선 포인트도 정리했습니다.

#Spring Boot#Redis#cache
5900

백엔드

[SpringBatch 연재 11] Job 및 Step 마다 시작/종료시 특정 작업 수행하기

Spring Batch에서 Job과 Step의 시작/종료 시점에 실행할 작업을 Listener로 연결하는 방법을 설명했습니다. JobExecutionListener와 StepExecutionListener 등록 예시와 실행 로그 흐름을 함께 보여주었습니다.

#Spring Boot#Spring Batch#모니터링
2900

백엔드

영화 추천 여정으로 이해하는 Qdrant 벡터 데이터베이스

Qdrant의 Collection, Point, CRUD, 검색 기능을 영화 추천 예시로 설명했습니다. 벡터 검색과 필터, Scroll로 유사 영화 추천과 대용량 탐색을 다루었습니다.

#Qdrant#RAG#벡터 데이터베이스
3400

백엔드

Keycloak 활용한 SSO 구현 : #4 SSO 연동 샘플 애플리케이션 구성하기: 실전 가이드

Keycloak과 Node.js 샘플 애플리케이션을 연결해 SSO 환경을 구성하는 방법을 안내했습니다. 세션 설정과 권한 보호, CLI 테스트까지 실습 흐름으로 설명했습니다.

#Keycloak#SSO#node.js
2600

백엔드

유저 행동 데이터로 서비스 개선하기: 에이닷(A.) Push 알림

에이닷의 Push 알림을 유저 행동 데이터로 분석해 개인화와 발송 빈도의 중요성을 확인했습니다. 클릭률과 피로도를 함께 고려한 Push Utility 기반 최적화 방향도 제안했습니다.

#검색#모니터링#mobile
3800

백엔드

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

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

#Spring Batch#Java#batch
2600

백엔드

[SpringBatch 연재 09] 입맛에 맞는 배치 처리를 위한 Custom ItemReader/ItemWriter 구현방법 알아보기

Spring Batch의 기본 Reader/Writer로 부족한 경우를 대비해 커스텀 구현 방법을 다뤘습니다. Querydsl 기반 페이징 Reader와 외부 서비스 호출 Writer를 통해 배치 유연성을 높였습니다.

#Spring Batch#Querydsl#ItemReader
4200

백엔드

[SpringBatch 연재 08] CompositeItemProcessor 으로 여러단계에 걸쳐 데이터 Transform하기

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

#Spring Batch#Java
1900

백엔드

카프카 커넥트와 오프셋 관리(2)

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

#Kafka#REST API#offset
2000

백엔드

[SpringBatch 연재 07] MyBatisPagingItemReader로 DB내용을 읽고, MyBatisItemWriter로 DB에 쓰기

Spring Batch에서 MyBatisPagingItemReader와 MyBatisBatchItemWriter를 사용하는 방법을 정리했습니다. XML 매퍼 분리와 청크 단위 페이징 처리로 DB 읽기와 쓰기를 구성했습니다.

#Spring Batch#MyBatis#DB
3400

백엔드

[SpringBatch 연재 06] JpaPagingItemReader로 DB내용을 읽고, JpaItemWriter로 DB에 쓰기

Spring Batch에서 `JpaPagingItemReader`로 JPA 엔티티를 페이지 단위로 읽고 `JpaItemWriter`로 DB에 저장하는 방법을 소개했습니다. 또한 페이지 기반 처리의 누락 가능성과 JPA writer 설정상의 주의점도 함께 설명했습니다.

#Spring Batch#JPA#MySQL
2900

백엔드

[SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기

JdbcPagingItemReader로 DB 데이터를 페이지 단위로 읽고 파일로 저장하는 방법을 다루었습니다. JdbcBatchItemWriter로 파일 데이터를 DB에 빠르게 적재하는 구성도 함께 설명했습니다.

#Spring Batch#JDBC#MySQL
2500

백엔드

Ktor프레임웍 #2 : OpenAPI 활용

Ktor REST API 서버에서 OAS 스펙을 작성하고 OpenAPI Generator로 모델 코드를 생성하는 방법을 설명했습니다. 생성된 모델을 Ktor 라우트에 연결하고 OpenAPI UI로 스펙을 서빙하는 구성도 함께 다뤘습니다.

#Ktor#OpenAPI#REST API
3000

백엔드

[Python] C Library 이용해서 성능 높이기(SIMD + 병렬처리, 3편)

Python 연산을 C++ DLL로 넘겨 Thread, OpenMP, SIMD를 적용해 성능을 비교했습니다. 멀티코어 활용 효과는 컸지만 SIMD와 OpenMP의 단순 적용 효과는 크지 않았습니다.

#Python#C++#OpenMP
3000

백엔드

카프카 커넥트와 오프셋 관리(1)

카프카 커넥트의 개념과 동작 방식을 소개하고, JDBC와 HDFS 커넥터로 파이프라인을 구성하는 흐름을 설명했습니다. 3.5 버전의 오프셋 관리 기능은 다음 글에서 이어서 다룬다고 예고했습니다.

#Kafka#REST API#streaming
2900