| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 깊이우선탐색
- DFS
- 해시맵
- 구현
- DynamicProgramming
- DP
- 그리디
- 스프링
- 브루트포스
- BFS
- 알고리즘
- programmers
- dynamic programming
- greedy
- Algorithm
- Backtracking
- 프로그래머스
- 백트래킹
- 이분탐색
- 너비우선탐색
- 네트워크
- Spring
- 백준
- Network
- 부분수열의합
- JPA
- ReactiveProgramming
- 동적계획법
- boj
- 우선순위큐
- Today
- Total
목록2025/08/08 (2)
옌의 로그
DDD(Domain-Driven Design) ?DDD는 도메인(업무 규칙과 의미) 에 집중해서 시스템을 설계하자는 접근 방식이다.단순히 “이런 기능이 필요하다”는 시각이 아니라, 비즈니스의 언어와 규칙을 코드에 녹이는 것이 핵심이다. 주요 개념 정리개념설명예시 (상품 관리)도메인(Domain)해결하고자 하는 비즈니스 영역상품 등록, 메타데이터 수집, 발행엔티티(Entity)고유 ID가 있는 객체Product, Copyright밸류 오브젝트(Value Object)고유 ID 없이 값으로 의미ProductName, Price, Period애그리거트(Aggregate)엔티티들의 일관성을 묶는 루트Product가 루트, 내부에 ProductMetadata 포함도메인 서비스엔티티에 넣기 애매한 복잡한 비즈니스..
FCM 푸시 모듈 작업을 계기로 마주친 이벤트 기반 설계 이야기 1. 사용하게 된 배경최근 FCM을 활용한 푸시 알림 모듈을 구현하게 되었다.초기에는 단순히 서비스 로직 안에서 푸시 메시지를 생성하고 전송하는 sendPushMessage() 메서드를 직접 호출하는 방식으로 구현했는데, 이 방식에는 치명적인.. 구조적 문제가 있었다.푸시 메시지를 생성하고 저장하는 로직이 서비스의 트랜잭션 흐름에 함께 묶여서, 이로 인해 메세지 생성 트랜잭션이 롤백되면 메인 트랜잭션도 함께 롤백되는 상황이 발생하였다.(push는 로그 데이터 같이, 생성 실패하여 발송이 안되더라도 크게 문제없는 데이터인데 이로 인해 메인로직이 처리가 안되는 건 문제가 있는 상황이다) 물론 트랜잭션 전파 속성을 REQUIRES_NEW로 설정하..