Server
-
MapStruct 의 @Mapping 사용 방법을 알아보자!Server/Spring Boot 2025. 4. 16. 11:38
🎯 @Mapping 어노테이션 사용 예제@Mapping은 DTO와 Entity 간에 필드명이 다를 때나 특정 필드 매핑을 제어하고 싶을 때 사용합니다.예시 1️⃣: 필드명이 다를 경우// User 엔티티public class User { private Long id; private String name;}// UserDtopublic class UserDto { private Long id; private String username; // 엔티티에서는 'name'}@Mapper(componentModel = "spring")public interface UserMapper { @Mapping(source = "name", target = "username") UserD..
-
MapStruct 의 @Mapper 사용에 대해 알아보자!Server/Spring Boot 2025. 4. 16. 11:37
🛠️ Mapper 인터페이스 작성 & 사용 예제1. Entity, DTO 클래스 예시// User 엔티티public class User { private Long id; private String username; private String email; // getter/setter 생략}// UserDtopublic class UserDto { private String username; private String email; // getter/setter 생략}2. Mapper 인터페이스 작성import org.mapstruct.Mapper;import org.mapstruct.Mapping;@Mapper(componentModel = "spring")publi..
-
🔗 MSA 환경에서의 통신 방식 비교 (HTTP API vs gRPC vs 메시지 큐)Server 2025. 4. 15. 14:46
🔗 MSA 환경에서의 통신 방식 비교 (HTTP vs gRPC vs 메시지 큐)MSA(Microservices Architecture) 환경에서는 마이크로서비스 간 통신을 위해 다양한 방법을 사용할 수 있습니다. 대표적으로 HTTP/REST, gRPC, Message Queue가 있으며, 각각의 특성과 장단점이 다릅니다.📦 1. HTTP/REST✅ 장점 범용성: 대부분의 언어나 프레임워크에서 지원 학습 곡선이 낮음: 익숙하고 문서화 용이 디버깅 쉬움: curl, Postman 등 도구 사용 가능 브라우저 접근 가능: 호출 및 테스트 용이❌ 단점 속도 느림: JSON은 텍스트 기반이라 오버헤드 큼 Payload 큼: 바이너리보다 크고 파싱 속도 느림 실시간 처리 부적합: 대기 시간 발생⚡ ..
-
[Springboot] 외부 HTTP 호출 Retry와 재처리 전략Server/Spring Boot 2025. 4. 15. 14:28
외부 API를 호출할 때는 항상 실패 가능성을 염두에 두고 안정적인 Retry 정책을 세워야 합니다. 이 글에서는 Spring Boot 환경에서 Resilience4j를 활용한 Retry와 재시도 큐(DB + 스케줄러) 전략을 함께 설명합니다.✅ 1. 어떤 요청에 Retry를 적용해야 할까? Retry 가능한 요청 GET, HEAD, OPTIONS 같은 멱등한 요청 HTTP 5xx 또는 네트워크 예외 (timeout 등) Retry 피해야 할 요청 POST, PUT, DELETE 같은 멱등하지 않은 요청 비즈니스 오류나 중복 처리 위험이 있는 경우 ✅ 2. 어떤 예외/상태코드에 Retry를 걸어야 할까? Retry 권장: Sock..
-
Springboot Timezone(타임존) 에 대해 알아보자!Server/Spring Boot 2025. 4. 15. 00:01
시간은 모든 시스템에서 매우 중요한 요소입니다. 특히 서버와 클라이언트가 서로 다른 시간대를 사용할 경우, 정확한 시간 처리를 위해 타임존 개념과 변환 방법을 제대로 이해하는 것이 중요합니다. 이번 글에서는 KST(한국 표준시)와 UTC(세계 표준시)의 개념 비교부터 Spring Boot에서의 변환 예제까지 전부 정리해보겠습니다.🕒 KST vs UTC 구분 설명 UTC (Coordinated Universal Time) 전 세계 표준 시간. 한국 시간(KST)은 UTC보다 9시간 빠름 KST (Korea Standard Time) 한국 표준 시간 (UTC +09:00) 📌 예시:- UTC 기준: 2025-04-14 06:00:00- KST 기준: 2..
-
[Springboot] 스프링부트 개요Server/Spring Boot 2023. 1. 18. 10:31
공식홈페이지 학습에 대해서 천천히 읽어보면서 번역한 글을 작성합니다. 본 내용의 링크를 남깁니다. https://spring.io/projects/spring-boot Spring Boot Commercial support Business support from Spring experts during the OSS timeline, plus extended support after OSS End-Of-Life. Publicly available releases for critical bugfixes and security issues when requested by customers. spring.io Spring Boot makes it easy to create stand-alone, producti..
-
[Springboot] web+jpa vs webflux+r2dbc 비교 (2)Server 2022. 12. 7. 09:49
이번 포스팅에서 starter-web + starter-data-jpa를 이용한 servlet-stack 방식과 starter-webflux + starter-data-r2 dbc를 이용한 reactive-stack 방식의 성능 비교를 해봤었다. 2022.12.04 - [Server] - [Springboot] web+jpa vs webflux+r2dbc 비교 (1) [Springboot] web+jpa vs webflux+r2dbc 비교 (1) 기존의 개발 방식으로 많이 사용하는 starter-web + starter-data-jpa 라이브러리를 사용하여 servlet stack 방식을 많이 사용하고 있을것이다. 최근 webflux + r2dbc 라이브러리를 이용하여 비동기(async) & 논블 tis..