전체 글

백엔드를 열심히 갈고 닦아서 광내봅시다 ~_~
JPA의 표준 스펙은 Entity에 Serializable을 구현하도록 되어있다.@Data@Entity@Table(name = "catalog")public class Catalog implements Serializable{ @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; ...} Serializable 객체의 직렬화를 지원하기 위한 인터페이스이다.직렬화는 객체를 바이트 스트림으로 변환하여 저장하거나 네트워크상에서 전송할 수 있는 형태로 변환하는 과정이다.이 인터페이스를 구현함으로써 자바의 직렬화 기능을 사용할 수 있다. 이러한 직렬화는 객체의 상태를 보존하고 다른 시스템 간에 객체를 공유/전송하기 위해 ..
레이어 간 의존성 관리를 위해 ui와 service, repository마다 모두 다른 dto를 사용한다고 가정해보자.이 경우 dto와 dto간 변환할 때마다 귀찮은 과정을 거쳐야 한다. User를 예시로 들어보자.repository 레이어의 User Entity와 service 레이어의 UserDto를 서로 변환하는 방법은 다음과 같다.1. Dto 내에서 객체 변환 메소드 만들기User entity@Entity@Builder@AllArgsConstructorpublic class User { @Id @GeneratedValue(Strategy = GenetrationType.IDENTITY) private Long id; private String userId; pr..
@Getter@NoArgsConstructor@AllArgsConstructor@JsonInclude(JsonInclude.Include.NON_NULL)public class UserResponseDto { private String name; private String address; List orders;}@JsonInclude는 자바 객체 -> JSON 데이터로 직렬화 할 때, 어떤 속성을 가진 객체를 직렬화하거나 하지 않을 지 지정한다. 클라이언트에게 null값을 전달해주지 않고, null인 데이터는 아예 JSON 데이터로 직렬화 하지 않고 전달하지 않을 때 @JsonInclude 어노테이션을 사용할 수 있다. ✅orders처럼 컬렉션을 가져오거나, 빈값이 있는 데이터가 많을 ..
서버 구성 서버 구성요소Git : 소스/프로파일 관리Config Server : 프로파일/설정 정보Eureka Server: 마이크로서비스 등록/검색API Gateway Server: 마이크로서비스 부하 분산/서비스 라우팅Microservices: 회원, 주문, 상품Queuing System: 마이크로서비스 간 메시지 발행/구독마이크로서비스 (API) 구성요소회원 user-service:  사용자 정보 등록, 조회, 사용자정보/주문내역 조회주문 order-service: 주문 등록, 주문 확인상품 catalog-service: 상품 목록 프로젝트 환경spring boot 3.4.1java 17h2 database, jpaEureka + Spring Cloud Gateway이 둘은 클라우드 네이티브 시스템..
Eureka는 디스커버리 서비스,Spring Cloud Gateway는 API 게이트웨이 서비스로   LoadBalancer 기능을 한다.  즉, 클라이언트가 8000포트의 API Gateway로 요청을 보내면, API Gateway는 유레카로부터 마이크로서비스가 어디에 위치해있는지 정보를 가져온다. 그 뒤에 해당하는 정보로 직접 포워딩시켜준다. 따라서 클라이언트 요청 -> API Gateway -> Eureka -> API Gateway -> MicroService의 순서가 된다.  1.API Gateway 서비스 설정하기유레카 설정이 필요하다. application.ymleureka: client: register-with-eureka: true fetch-registry: true ..
달래dallae
머루랑달래랑