필자는 실무에서 SpringBoot, Java, JPA 를 사용하여 개발하고 있다. 그리고 현재 멀티 모듈 기반의 스프링부트 프로젝트를 하고 있다.그리고 일반적인 Spring Layered Architecture 를 사용하고 있다. 하나 특이점이 있다면, 일반적인 멀티 모듈 구조랑은 살짝 느낌이 다르다.책임을 분리한 모듈들도 존재하지만, 예를 들면 아래와 같다.module-commonmodule-databasemodule-core 위 공통으로 사용하는 모듈들도 존재하고 아래 처럼 역할에 맞는 멀티 모듈이 존재한다.module-apimodule-paymentmodule-adminmodule-merchant 위처럼 역할에 맞는 모듈들이 존재한다. 그리고 각 모듈은 일반적으로 레이어드 아키텍쳐로 구성이 되..
여러분이 생각하는 도메인은 무엇인가요? 제가 생각했던 도메인은 분야를 의미하는 뜻이 였습니다ex) 개발 분야에서, 결제,헬스,의료,등등 이런 분류를 도메인이라고 생각했습니다그럼 이책에서 말하는 도메인은 무엇일까요??이제 한번 배워보겠습니다 ✍️1.1 도메인이란?온라인 서점을 예시로 들어보자온라인 서점은 개발자가 구현해야 할 소프트웨어의 대상이 된다ex) 상품 조회, 구매, 결제, 배송 추적 등의 기능을 제공해야 한다-> 온라인 서점은 즉 소프트웨어로 해결하고자 하는 문제, 영역 즉 도메인에 해당한다그리고 상위 도메인을 기준으로 하위 도메인을 생성할 수 있다. 위 다이어그램으로 간단하게 표현을 할 수 있습니다.카탈로그 하위 도메인은, 고객에게 구매할 수 있는 상품 목록을 제공함주문 하위 도메인은 고객의 주..
안녕하세요🖐 오늘은 비밀번호 유효성 검사에 대한 예제를 통하여 TDD에 대해서 공부를 해보았습니다. 비밀번호 유효성 검사 조건 길이가 8글자 이상 0부터 9사이의 숫자를 포함 대문자 포함 - 모든 규칙을 충족하면 STRONG - 2개의 규칙을 충족하면 NORMAL - 1개의 규칙을 충족하면 WEAK 위 조건을 만족하는 테스트 코드를 작성해야 합니다. 암호 검사를 하는 경우를 생각해봤을 때, 가장 쉽거나, 가장 예외적인 상황은 무엇일까? 모든 규칙을 충족하는 경우 모든 규칙을 충족하지 않는 경우 모든 규칙을 충족하지 않는 경우는 모든 조건을 다 걸어야하기 때문에, 로직이 복잡하게 짜인다. 그러나 모든 규칙을 충족하는 경우는 쉽게 테스트를 통과시킬 수 있습니다. 바로 시작해보겠습니다. 1) 모든 규칙을 충족..