1. Page 응답을 커스텀한 이유기본적으로 Spring Data JPA는 페이지네이션된 데이터를 반환할 때 Page 객체를 제공합니다. 하지만 Page 객체는 많은 메타데이터를 포함하고 있어 클라이언트가 필요로 하지 않는 정보까지 응답에 포함됩니다. 클라이언트가 필요한 정보만 가볍게 전달하기 위해 PageResponse라는 커스텀 DTO를 만들어 원하는 정보만 담도록 직렬화해서 사용하였습니다. 주요 목적응답 구조 간소화: 필요한 데이터와 페이지 메타데이터만 포함하여 클라이언트가 쉽게 이해하고 파싱할 수 있도록 만듭니다.불필요한 데이터 제거: 응답 크기를 줄이고 성능을 개선합니다.일관성 있는 응답 제공: 모든 페이지 응답이 동일한 구조를 가짐으로써, 클라이언트는 일관된 API 경험을 얻게 됩니다. 2. ..
Hot Deal이라는 프로젝트를 진행하면서 어떻게 하면 데이터의 무결성을 보장할 수 있을지 고민해보았습니다. 가격이나 재고와 같은 특정 값을 다룰 때는 이 값들이 항상 올바른 범위를 가지도록 하는 것이 중요합니다. 그렇지 않으면 잘못된 값이 비즈니스 로직에 흘러들어가 시스템 전체에 오류를 일으킬 수 있기 때문입니다. 이러한 문제를 해결하기 위해 구체적인 자료형을 생성해 보았습니다. Java의 기본 자료형이 아닌, 값 자체에 대한 제약 조건을 포함하는 Price와 Quantity 클래스를 만들어 활용했습니다. 이로써 코드 중복을 줄이고, 생성과 동시에 유효성 검증을 통해 데이터 무결성을 보장할 수 있습니다. 1. 왜 기본 자료형이 아닌 구체적인 자료형을 선택했을까?가격(Price)과 재고(Quantity)..
아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. [SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기 devocean.sk.com원본: [SpringBatch 연재 05] JdbcPagingItemReader로 DB내용을 읽고, JdbcBatchItemWriter로 DB에 쓰기 지난 시간에는 FlatFileItemReader와 FlatFileItemWrite를 이용하여 Batch Job을 실행해 보았습니다. 이번 시간에는 Jdbc를 활용해서 데이터베이스를 이용한 Batch Jo..
오늘은 Kubernetes 환경에서 Spring Boot 애플리케이션을 Prometheus와 Grafana를 사용해 모니터링하는 방법을 상세히 알아보겠습니다.특히 ServiceMonitor 설정 시 자주 발생하는 문제와 해결 방법에 대해 중점적으로 다루어보려 합니다. 이 포스트는 Kubernetes 클러스터에 배포된 Spring Boot 애플리케이션의 메트릭을 Prometheus로 수집하고, Grafana를 통해 시각화하는 과정을 다룹니다.이 설정은 Helm을 이용해 Prometheus와 Grafana를 설치한 상태에서 진행됩니다. 1. Spring Boot 서버 설정1.1 Actuator 및 Prometheus 라이브러리 추가먼저 Spring Boot 애플리케이션이 Prometheus 메트릭을 제공하려..
CS 면접 준비할 때 가장 유명한 책이라 읽고 정리해 보았습니다.핵심 내용을 마인드맵 서비스로 시각화해 보았습니다. 크게 5가지 목차로 구성되어있습니다.1. 디자인 패턴2. 네트워크3. 운영체제4. 데이터 베이스5. 자료구조 1장과 2장: 디자인 패턴과 네트워크디자인 패턴 내용은 기록을 따로 하지 않아서 남아 있는 내용이 많지 않네요.'디자인 패턴 종류'에 대해 검색하면 찾을 수 있는 내용으로 구성되어 있었고, 특히 간단한 코드로 구현되어 있어 이해하기 쉬웠습니다. 3장: 운영체제양이 많아 일부를 생략하여 표현했습니다. 4장: 데이터 베이스 5장: 자료구조 여기에서 나온 모든 키워드들을 전부 이해하고 술술 말할 수 있다면 정말 좋겠죠? 읽기 전에는 책이 얇아서 별로 기대를 하지 않았는데,생각보다 많..
4회차는 Spring Batch의 FlatFileItemReader/Writer에 대해 공부했습니다. 스터디 진행 전 교안을 공부하며 정리한 내용은 이곳에서 볼 수 있습니다. [4회차] FlatFileItemReader로 단순 파일 읽고, FlatFileItemWriter로 파일에 쓰기아래 글은 한국 스프링 사용자 모임(KSUG)에서 진행된 스프링 배치 스터디 내용을 정리한 게시글입니다.DEVOCEAN에 연재 중인 KIDO님의 글을 참고하여 실습한 내용을 기록했습니다. [SpringBatch 연재yeseul-dev.tistory.com 스터디가 진행 되는 시간에 나눴던 얘기들을 조금 정리해 보겠습니다. Spring Batch 5는 Job이 여러개가 존재한다면 실행시에 어떤 Job을 실행할 것인지 명시 ..