목차 1. 전략적 설계 - UBIQUITOUS LANGUAGE 2. 전략적 설계 - BOUNDED CONTEXT 3. 이벤트 스토밍(Event Storming) 1. 전략적 설계 - UBIQUITOUS LANGUAGE 유비쿼터스 언어(Ubiquitous Language)는 언제 어디서나 사용되는 언어란 뜻이다. 회의, 기획, 디자인, 개발 등 프로젝트 내부의 언제 어디서나 사용되기 위해 정의된 언어이다. 도메인에서 사용하는 용어를 프로젝트 내의 사람들이 모두 다르게 표현하면 번역 비용이 발생하고 코드에 사용된 언어와 다르거나 코드에 반영하지 않으면 그 코드는 개발자에게 코드의 의미를 해석해야 하는 부담을 준다. 따라서, 용어가 정의 될 때마다 용어 사전에 이를 기록하고 명확하게 정의 함으로써 추후 또는 ..
목차 1. 본질적 복잡성 2. 도메인 주도 설계 3. 도메인 주도 설계 주의 1. 클린 아키텍처 비즈니스 규칙이 Java, Javascript, SQL 등에 분산되어 있고 심지어 기획자가 알고있는 비즈니스 규칙이 코드가 아닌 문서에만 운영 정책으로 작성되어 있다면 유지보수가 어려워지고 요구사항이 추가될 때마다 시스템의 복잡도는 점점 높아질 것이다. 예) 소수점 표현 정책이 Java, Javascript, SQL 에서 모두 다르다. 클린 아키텍처를 적용해 비즈니스 규칙을 한 곳에 모을 수 있다. 클린 아키텍처 클린 아키텍처는 계층을 분리하여 관심사를 분리하고 의존성 규칙을 통해 아키텍처가 동작하도록 한다. 의존성 규칙: 모든 소스코드 의존성은 반드시 외부에서 내부로, 고수준 정책을 향해야 한다. 즉, 업무..
목차 1. 인터넷 네트워크 2. URI와 웹 브라우저 요청 흐름 1. 인터넷 네트워크 1) IP 프로토콜 IP 프로토콜은 지정한 IP 주소(IP Address)를 이용해 패킷이라는 통신 단위로 데이터를 전달하는 역할을 한다. 출발지 IP 주소, 도착지 IP 주소, 전송 데이터 등을 IP 패킷에 포함해 전송 인터넷 노드를 거쳐 이동 IP 프로토콜의 한계 비연결성 클라이언트는 전송 대상 서버가 패킷을 받을 수 있는 상태인지 모르기 때문에 클라이언트에서는 패킷을 전송하고 서버는 도착하는 패킷을 받을 수 없다. 패킷 손실 전송 과정에서 네트워크상의 문제로 패킷이 손실될 수 있다. 패킷 전달 순서 문제 발생 용량이 큰 데이터는 여러개의 패킷으로 나눠서 전달하는데 패킷이 서로 다른 노드를 거쳐갈 수 있기 때문에 도..
목차 1. 경로 표현식 2. 페치 조인 3. 다형성 쿼리 4. 엔티티 직접 사용 5. Named 쿼리 6. 벌크 연산 1. 경로 표현식 경로 표현식은 .(점)을 찍어 객체 그래프를 탐색하는 것이다. select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name = '팀A' 상태 필드(state field) 단순히 값을 저장하기 위한 필드(ex: m.username) select m.name, m.age from Member m 연관 필드(association field) 연관관계를 위한 필드 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티..
- Total
- Today
- Yesterday
- clean code
- java8
- Stream
- Git
- MySQL
- 도메인 모델링
- 이벤트 스토밍
- 클린코드
- 마이크로서비스 패턴
- kafka
- http
- 학습 테스트
- Ubiquitous Language
- spring rest docs
- 스프링 예외 추상화
- ATDD
- mockito
- HTTP 헤더
- 육각형 아키텍처
- named query
- 계층형 아키텍처
- Spring Data JPA
- 스프링 카프카 컨슈머
- H2
- 폴링 발행기 패턴
- 트랜잭셔널 아웃박스 패턴
- TDD
- Spring Boot
- JPA
- Spring
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |