본문 바로가기

Today I Learned

(23)
local 통합 테스트 seed data
슬랙으로 메세지 보내기 Today I Learn ✍🏼  오늘 하루 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 어려움을 해결하기 위한 나의 시도들은 무엇이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 이 상태에서 이후 더 나은 내가 되려면 무엇을 보완하지?
mapper Today I Learn ✍🏼  오늘 하루 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 어려움을 해결하기 위한 나의 시도들은 무엇이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 이 상태에서 이후 더 나은 내가 되려면 무엇을 보완하지?  package com.coopang.user.presentation.request;import jakarta.validation.constraints.Email;import jakarta.validation.constraints.NotBlank;import jakarta.validation.constraints.Pattern;import lombok.Getter;import lombok.Sette..
gateway 라우팅 에러 해결하기 Today I Learn ✍🏼  오늘 하루 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 어려움을 해결하기 위한 나의 시도들은 무엇이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 이 상태에서 이후 더 나은 내가 되려면 무엇을 보완하지? 과거에는 됐는데, 지금은 안 되요.gatewayRouteLocator로 라우팅이 되는데처음 프로젝트때 했던 application-local.yml로 라우팅이 되지 않는다.뭐가 문제일까? 게이트 웨이 필터를 열심히 쓰고 게이트웨이에서 유저 서버를 유레카에 등록된 것으로 부르려고 하는데application.yml 로는 라우팅이 안되고 GatewayConfig로만 가능했다.작동은 되니까 넘어갈까.. 했지..
협업 과정에서의 문제 해결과 카프카 메시징 구조 개선 Today I Learn ✍🏼    1. 배송 시나리오 문제팀원 민철님이 작성한 배송 시스템의 Kafka 시나리오에서 오류를 발견했습니다.배정이 완료된 이후에도 오후 4시에 스케줄링 작업으로 단순히 주문 상태를 '배정중'에서 '배정완료'로 변경하는 동작만 하고 있었습니다.문제점: 스케줄링 작업에서 배송 기사를 배정하는 로직이 빠져 있었고, 데이터를 처리하는 방식도 비효율적이었습니다.  배송 프로세스 제시저는 팀원들에게 오후 4시 스케줄링 작업에서 배정중 → 배정완료로 상태만 변경하는 대신, 두 가지 방법 중 하나를 선택하라고 가이드를 주었습니다:배정 작업을 한 번에 Bulk Insert로 처리하거나,Kafka를 통해 하나씩 메시지를 보내서 처리하는 방식으로 변경.시간이 부족했기에 이 문제는 우선순위를 ..
@Component, @Configuration + @ConfigurationProperties @Component와 @Configuration은 둘 다 Spring에서 **빈(Bean)**을 정의하고 관리하는 데 사용되지만,역할과 적용 범위에서 중요한 차이점이 있습니다.  정리@Component 가 @Configuration 둘다 자동 빈을 등록하지만@Configuration 주된 목적은 이 클래스 안에서 빈을 정의하고 설정하는 특성이 크다고 생각합니다.1. @Component역할: Spring의 **구성 요소(Bean)**로 등록하기 위해 사용됩니다. 기본적으로 Spring의 스캔 범위 안에 있는 클래스가 @Component로 마킹되어 있으면, Spring은 해당 클래스를 빈으로 등록하고 관리합니다.적용 대상: 주로 서비스 클래스, 리포지토리 클래스, 도메인 클래스 등에 사용됩니다.기본 사용: ..
페이징 처리 ㅋㅋㅋ 고대 선배들이 남겨준 페이징 처리사실 회사에서는 페이징 처리는 이미 구현이 되어있어서 고민을 해본 적이 없었다.  페이징 처리jpa로 페이징 처리를 할때는 Page라는 객체를 쓰면 간단해진다.그러나 이것은 단점을 가지고 있는데, count 쿼리를 사용하기때문에 총 개수가 많아지면 점점 느려진다. 왜냐면 전체 개수를 세야하기 때문이다. 그래서 그것의 대안으로 어떻게 하는가?1) 더보기 방식, 아래를 스크롤하면 현재 위치의 index에서 다음 10개를 가져오는 방식2) Page 쿼리를 수정해서 위에처럼 현재 index에서 10개를 가져오는 방식으로 수정 현재 나는 순수 jpa는 타자 칠게 많아서 눈으로 읽어주기만하고queryDSL로 적용해보려고한다. 1) 전체 유저의 조회 + 페이징처리2) 찾기 기능..
DDD Layered Architecture의 application service와 domain service에 어떤 코드를 넣어야 하는 걸까? DDD Layered Architecture의 application service와 domain service에 어떤 코드를 넣어야 하는 걸까?🤔이것은 일주일째 유저 코드의 생성, 수정을 몇 번이나 작성하게 만들고 있다. DDD에 익숙하지 않은 나에게 코드를 작성하고 멘토에게 수정을 받을때마다 나는도메인? 도메인 서비스에는 도대체 뭐를 작성해야하는거지? 라는 근원으로 질문을 던지게 된다.  처음 개발한 코드는 도메인 서비스에 기능을 몰빵해서 만들었다.(전 mono가 익숙하거든요 하하하) 1차 멘토링 후1) 멘토의 말: 도메인 서비스가 아닌 어플리케이션 서비스에 구현해야한다.2) 책 읽음: 최범균님의 '도메인 주도 개발 시작하기'  6.2 응용서비스의 역할을 읽고서는(하나만 아는 놈이 신념을 가지면 안된..