왜?
DDD 개발 예시를 알기위해서
DDD의 정확한 예시를 알기위해
도메인 기본 지식
도메인 = 문제의 영역
도메인 모델 -> 엔티티와 값객체로 나눔
엔티티 - 식별값이 존재
값 객체 - 식별값이 없음
보통은 루트 엔티티 + 값 객체로 구성되어 하나의 애그리거트가 된다.
애그리거트
애그리거트는 하나의 Repository, 하나의 Transaction 단위를 가지는 집합이다.
다음과 같이 하위 도메인 모델들의 기능들의 상태변화 및 비즈니스 로직을 구현하고있다. 따라서 루트 애그리거트를 통하여 하위 도메인 모델의 ...
주의사항
휴강 일정 : 5/3일 ~ 5/9일
모임 재개: 5/10 -> 7주차 정규모임
수료 일자 6/7 토요일
2주차 발제 내용 및 주의사항
https://www.notion.so/teamsparta/Chapter-2-1-1c52dc3ef51480bbb279dec0f57989c9?pvs=4
1주차에서는 통합테스트시 , 충전 동시 성공, 사용 동시 성공, 이외에도, 충전 사용 동시 모두 성공도 추가하면좋았음
단위테스트에서 또 아쉬웠던점. 서비스 포인트 충전 고유 기능에 대해 아래 부분에서 verify()를 했으면 ...
왜?객체 지향에 대해 더 잘 알고싶었다.
1장 : 객체, 설계
절차지향
프로세스와 데이터를 가진 객체가 분리된다.
즉, 프로세스를 처리하는 객체에서 다른 객체의 데이터를 불러와서 처리한다.
이는 데이터 제공하는 객체와 프로세스 객체간의 매우 큰 의존성이 존재한다.
객체 지향
객체의 책임을 분리하고, 프로세스는 데이터를 가진 객체에서 처리한다. 각 객체는 메시지를 통해서만 필요한 정보를 주고받는다.(대화)
이는 각 객체마다 책임, 역할, 협력을 강요하며, 객체 간의 의존성을 낮춰서 변경에 용이하도록 한다.
2장 : 객체...
[1주차] TDD 학습 정리Test 가 중요한 이유
기능개발 필요 시 -> 어떤 테스트의 통과여부가 기능에 대한 검증 역할을 할수 있을지 생각 필요
초기 시 기능 먼저 개발 -> 내가 어떤 테스트를 먼저 짜야할지 항상 생각 -> 나중에 추가적으로 채울수있음
TDD 실력이 채워진 후 테스트 작성 -> 기능 개발
테스트 종류
End-to-end
대상 : 전체 애플리케이션의 흐름
목적 : 애플리케이션이 제공하는 기능을 사용자 시나리오 기반으로 문제 없는지 점검
내가 정의한 흐름의 처음부터 끝까지를 테스트...
문제
팀원들과 소통이 적었다.
TDD에 대해서 단위테스트와 통합테스트를 어디까지 개발해야할까? 라는 고민은 계속했었다.
시도
코어 타임에 최대한 관심있던 기술 분야 이야기를 꺼냄
우선 완성 1주차 과제를 완성하고, 최대한 기능상의 문제가 없도록 단위테스트와 통합테스트를 작성하였다.
해결
private ,Public 등등 어떻게 해야할지 같이 고민을 나눳다.
알게된 것1.
지난 목표 회고
테스트에 대한 명확한 기준을 잡을 수 있었다.
다음 목표 설정
요구사항을 명확하게 정리하는 능력
사용 태그...
참고
테스트 주도 개발 캔트 백
왜?
테스트 주도 개발을 통해 불안전한 코드 작성을 회피하고, 좀더 짜임세 있는 구조, 테스트를 잘하기 위한 구조로 설계 및 개발하기 위해
TDD 방법론TDD-> 원하는 테스트 작성후 실패(레드) -> 성공시키기(그린) -> 중복제거 및 구조변경(리팩토링)
테스트를 작성한다(마음속에 있는 원하는 오퍼레이션이 코드로 어떤식으로 나타나길 원하는지 생각하고, 이야기를 쓴다. 원하는 인터페이스를 개발하라,올바른 답을 얻기위한 필요한 이야기의 모든 요소를 포함시켜라)
실행 가능하게 ...
참조
https://stackoverflow.com/questions/71054994/kotlin-class-inheritance-overriding-properties
본문큰일이없으면 property에다가 override 는 쓰지않는것이좋다.
open-override 의 경우 init{} 단계에서 부모 클래스가 초기화 호출후, 자식 클래스가 init{}호출될텐데, 그럼 override된 필드는 부모 클래스의 초기화단계에서는 Null이다.
이것은 코틀린에서 상속과 프로퍼티 오버라이딩과 관련된 중요한 차이점입니다. 오버라이드를...
참조배달의민족 라빈의 스프링 배치
왜?사이드 프로젝트에서 spring-batch가 필요했다.
대법원 사이트에 들어가서 크롤링할 것들이 많았고, 이를 사프-DB에 저장해야하기 때문이다.
batch 특성상 대용량 데이터 처리에 적합하기 때문에 적합하다고 판단하였다.
배치 구성 및 요약
LobLauncher
job을 실행시켜주는 역할
JobRepository
job, step excution 기록 역할
job, step에 대한 성공, 실패, readcount, write count 등의 값을 DB에 기록해주고 있으며, 개발자가...
블렛저널 쓰는법
Chapter 2. 다이어리가 아니다, 나를 아는 연습이다
“불렛저널은 다이어리가 아니라, 역량이에요. 연습하면 할수록 불렛저널을 잘 쓰게 됩니다.”
캐롤은 불렛저널이 ‘상품’이 아니라 ‘능력’이라고 거듭 강조했어요. 심지어 꼭 불렛저널 다이어리를 사지 않아도 된다고 했죠. 아무 노트 한 권과 펜 한 자루만 있으면 된다고요. 내지도 상관없어요. 무지이든, 줄 노트든, 모눈종이든.
빈 노트를 펼치고 이 순서로 채워 넣으면 돼요.
① 색인**index**
쉽게 말해 노트의 목차예요. 몇 월의 기록이 몇 페이지에 있...
왜?
DDD 를 실행하기위한 전략 이벤트 스토밍 학습
https://www.youtube.com/watch?v=gihxS6eE1DM&t=1s
(실 예시)https://blog.doctor-cha.com/event-storming-how-and-why
https://devlos.tistory.com/54
https://it-roheerumi.tistory.com/152
용어정리기존 용어
도메인:
세상의 어떤 것
큰 문제점들
서브도메인:
도메인에서 각 문제의 특성에 따라 작게 나눈 것
작은 문제점들
병원전자의무기록...