일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 영속성
- 교육기획팀
- 한국대학생it경영학회
- rabbitmq-delayed-message-exchange
- JPQL
- springboot
- 자동처리
- Spring
- 30기
- reactive operaton
- 밋업프로젝트
- 최범균
- 객체지향 쿼리 언어
- java
- scheduling messages with rabbitmq
- 이펙티브자바
- 교육기획팀원
- kusitms
- 도메인 주도 개발 시작하기
- GitHub Actions
- cicd
- jdbc
- ddd
- Domain Driven Design
- 큐시즘
- 자바 ORM 표준 JPA 프로그래밍
- Spring Batch
- JPA
- delayed message plugin
- RESTClient
- Today
- Total
목록2024/11 (3)
코딩은 마라톤

표현 영역과 응용 영역표현 영역 : 사용자의 요청 해석, 요청에 상응하는 응용 서비스 실행응용 영역 : 실제 사용자가 원하는 기능을 제공하는 서비스응용 서비스 역할응용 서비스는 사용자의 요청을 처리하기 위해 리포지터리에서 도메인 객체를 가져와 사용한다.응용 서비스는 도메인 영역과 표현 영역을 연결하는 창구응용 서비스가 복잡하면 서비스에서 도메인 로직 일부를 구현하고 있을 수 있음 → 도메인 로직을 서비스에서 사용하고 있을 수 있음응용 서비스는 트랜잭션 처리 담당도메인 로직 넣지 않기도메인 로직을 응용 서비스에 분산해서 구현할 경우 문제점코드 응집성 떨어짐도메인 데이터와 도메인 로직이 한 영역에 위치하지 않기 때문여러 응용 서비스에서 동일한 도메인 로직을 구현할 가능성이 높아짐응용 서비스 구현응용 서비스는..

진행 중인 프로젝트에서 최근 ChatGPT를 연동해서 응답을 받아와야할 상황이 생겼습니다.OpenAI Java SpringBoot 라이브러리도 있기는 하지만 (https://github.com/TheoKanning/openai-java?tab=readme-ov-file)라이브러리보다 직접 구현하는게 나중에 API 명세가 바뀌더라도 변경하는데 용이하지 않을까 해서 구현해보았습니다! RestClient와 WebClient를 사용하여 구현할 수 있는데 저는 WebClient를 사용하였습니다!* 추후 RestClient와 WebClient에 관한 블로그도 올릴게요! 1. OpenAI API 요청과 응답 확인하기Create Chat Completion API를 사용하였습니다! (참고: https://platfor..
CQRS명령(Command) 모델과 조회(Query) 모델을 분리하는 패턴명령 모델상태를 변경하는 기능을 구현할 때 사용한다.ex) 회원가입, 암호 변경, 주문 취소 등 상태(데이터)를 변경하는 기능조회 모델데이터를 조회하는 기능을 구현할 때 사용한다.ex) 주문 목록, 주문 상세처럼 데이터를 보여주는 기능 용도엔티티, 애그리거트, 리포지터리 등의 모델은 상태를 변경할 때 주로 사용한다.즉 도메인 모델은 명령 모델로 주로 사용된다. 정렬, 페이징, 검색 조건 지정과 같은 기능은 조회 기능에서 사용한다.즉 조회 모델을 구현할 때 주로 사용한다.스펙검색을 위한 스펙검색 조건이 고정되어 있고 단순하면 다음과 같이 특정 조건으로 조회하는 기능을 만든다.public interface OrderDataDao { ..