baejoonRepo/백준/Silver/10814. 나이순 정렬 at main · qkrtkdwns3410/baejoonRepo (github.com)package org.example.알고리즘.나이순정렬; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { try (BufferedReader br = new BufferedReader(new InputStreamReader(System.in))) { int n = Integer.parseInt..
개요@MockMember 어노테이션의 경우 테스트 환경에서 시큐리티에서 인증된 사용자의 모의(Mock) 하기 위해서 사용된다.일반적인 경우에는 @WithMockUser 등의 사용자 모킹을 하면 되겠지만..나는 @WithMockUser 가 사용을 해도 일단 인증을 받아 올 수가 없었다.그래서 검색하던 중에 발견한 것이 별도의 커스텀 어노테이션을 통하여 SecurityContext 안의 보안 객체를 커스텀하게 테스트코드에서만 채우는 방법이 있다는 것을 발견했다.어노테이션 코드@Retention(RetentionPolicy.RUNTIME) @WithSecurityContext(factory = MockMemberSecurityContextFactory.class) public @interface MockMem..
계산 로직과 도메인 서비스할인 금액 계산과 같이 애그리거트에 포함시키기 애매한 도메인 개념을 구현할 때도메인 서비스를 사용해서 해당 개념을 명시적으로 표현할 수 있음.서비스 응용 영역이 어떤 서비스에 대한 로직을 다루는 반면에 도메인 서비스에서는 도메인 로직과 관련되어 있지만 도메인 안에서 처리하기 더 범위가 넓은 개념의 로직을 해당 도메인 서비스 로 옮긴다.할인 금액 로직을 위한 DiscountCalculationServicepublic class DiscountCalculationService { public Money calculateDiscountAmounts( List orderLines, List coupons, MemberGrade grade) { Money couponDiscount = c..
개요외부 시스템이나 타 도메인과의 연동 기능도 도메인 서비스가 될 수 있음.도메인 서비스는 도메인의 로직 관점에서 인터페이스를 작성, 인프라스트럭처 영역에서 구현예시도메인 서비스 인터페이스public interface SurveyPermissionChecker { boolean hasUserCreationPermission(String userId); }응용 서비스public class CreateSurveyService { private SurveyPermissionChecker permissionChecker; public Long createSurvey(CreateSurveyRequest req) { validate(req); // 도메인 서비스를 이용해서 외부 시스템 연동을 표현 if (!perm..