-
Notifications
You must be signed in to change notification settings - Fork 3
08 05
dlsnfl0615 edited this page Aug 6, 2026
·
1 revision
📄 원본(노션): https://app.notion.com/p/3b319935b8ae800ab472ed4dea94a722 — 최종 동기화 2026-08-06
회의 날짜: 2026-08-05 · 점심: 집 밥
- 동혁
- 수업을 열심히 듣고
- 오늘 할 일 계획 정도만 짰습니다.
- DB 연동 및 트랜잭션 경계 설정
인메모리 상태와 Entity 매핑, 저장 시점, 조회·갱신 순서, 롤백 범위를 정합니다. 재시작 후 복구가 필요한 상태도 확인합니다.
- MatchingReposiory의 fire-and-forget
MatchingRepository는 이 메서드들을 전부 물려받으며, 런타임에는 Spring Data JPA가 프록시 구현체를 만들어 주입합니다. 현재 상황: 한 가지 주의할 점은matchingService.acceptByBoormi(offerId)가 인메모리 fire-and-forget 방식이라면, 이 호출은 DB 트랜잭션 커밋보다 먼저 실행될 수 있다는 것입니다. 이후 트랜잭션이 롤백되면 인메모리 매칭은 확정됐지만 DB에는 저장되지 않는 불일치가 생길 수 있습니다. 해결 가능 방안: 커밋 이후에만 실행되어야 한다면@TransactionalEventListener(phase = AFTER_COMMIT)같은 방식도 검토할 수 있습니다. - SSE를 통해서 fire된 알람으로 요청을 보낼 수 있게 한다면 너무 문제가 있음.
Client가 SSE알림을 보냈을 때 그것을 못받았다면? → discussion 남겨놓음.
- 이러면 Client가 특정 요청을 통해 지금 주문에 대한 현재 상태를 알 수 있어야 함.
- 매칭 제안의 영속화가 필요함.
- MatchingReposiory의 fire-and-forget
- API 구현 및 DTO 유효성 검사
Controller–Service 연결, 인증 사용자와 리소스 소유자 검증, 입력값·상태 전이 검증을 적용합니다. - ErrorCode 기반 반환값 정형화 존재하지 않는 주문, 권한 없음, 중복 요청, 유효하지 않은 상태 전이, 만료된 제안 등을 공통 응답 형식으로 통일합니다.
- 배달로 넘길 때 매칭 테이블 수정. 드리미: register할 때 Order 참고
- DB 연동 및 트랜잭션 경계 설정
인메모리 상태와 Entity 매핑, 저장 시점, 조회·갱신 순서, 롤백 범위를 정합니다. 재시작 후 복구가 필요한 상태도 확인합니다.
- 석희
- 배포본 오류 수정을 위해서 작업중
- 부르미 로직 오늘 끝내고 공유하기
- 드리미 부분까지 프론트 같이 붙여서 내일 시연 할 수 있게
- 결제 도메인 골자정도는 만들어놓기
- 매칭 서비스 리팩토링 생각중(동혁님과 논의)
- 현성
- 수업 듣기
- 배달 도메인 프론트엔드-백엔드 연동 (드리미 화면)
- delivery-proof (픽업, 배달 완료 인증) 프리뷰
- 픽업 취소 (드리미측)
- PR
- 오늘 할 일
- 프론트엔드 SSE
- Delivery 부르미 화면 구현
- 양쪽으로 시연
- 현서
- 수업 듣기
- sql 커서 기반 말고 단일로 해도 될듯
- issue 48번 완성하고
- issue 49번 대시보드 넘겨주기
- 프론트랑 연결하기
- 석희
- 부르미 부분 끝냄
- 결제 서비스 부분 들어가기
- 프론트 붙이려고 했는데 sse 기다리느라 못함
- 핫픽스만 반영해서 올림
- 배포본에 핫픽스 반영할때 좀 더 빠르게 할 수 있게 (지금은 괜찮을듯)
- 현성
- DeliveryService 내에 있는 메소드 중에서, 배송 상태(DevlieryCd)를 참조하거나 수정하는 모든 메소드에 대해 모든 상태에 대한 분기 처리 완료
- 신규 Delivery ErrorCode 스프레드시트에 반영
- 동혁
- Errorcode 명세서 대로 만들고
- ERD 부르미 거절 내역 Default값 추가
- 리팩토링 계획 초반부
- cleanup 매칭완료 하도록 구현 (#185)
- 현서
- 드리미 콜 취소 구현하다가 문제 상황 공유
- 대시보드 만들기
- transaction → ledgers로
Team 3 · 석희 · 현성 · 동혁 · 현서
Softeer Bootcamp 8th · WEB Team 3 · 이 위키는 팀 노션에서 동기화됩니다 📄
🏠 시작하기
🤝 협업
📋 기획안
🧠 기술 결정 기록 (ADR)
- 세션 vs 토큰
- 세션 및 다중 탭 처리 정책
- 실시간 배달 상태 전달에 SSE를 선택한 이유
- SSE 연결은 왜 1개였다가 5개가 되고, 다시 1개가 되었을까
- 드리미 GPS 끊김 감지 정책
- Redis 기반 로그인 대기열 도입기
- 카카오 API 응답 Redis 캐시 설계
- 활동 내역 조회를 커서 기반 페이지네이션으로 진행
- 알림 - WebPush 도입 이유와 SSE의 한계
- S3 Presigned URL 도입 결정
- 포인트, 머니 시스템 설계
🕸️매칭 시스템
- 매칭 시스템 설계
- Command와 Producer Consumer를 조합한 single writer 구조의 매칭 엔진
- 제안은 누구에게 해야 할까
- 쉼, 부름의 부르미‐드리미 매칭은 어떻게 동작할까
- 배정 정책에 Greedy 배정을 선택한 이유
- 매칭 시스템 구현
🧪 부하 테스트
- 매칭 부하테스트
- 매칭 부하테스트 보고서 (8.12)
- 매칭 부하테스트 보고서 (8.13)
- 매칭 부하테스트 보고서 (8.13 · 외부 API 트랜잭션)
- 매칭 부하테스트 보고서 (8.18 · 배포환경 720명)
🔧 트러블슈팅
- UploadSession - 옛 키 재사용 공격 방어 설계
- 8/6 · EC2 SSH 접속 불가
- 8/7 · 매칭 확정 후 Delivery가 생성되지 않는 고아 Order 문제
- 8/8 · 영속성 컨텍스트 detach로 dirty checking 미반영 문제 (@Modifying(clearAutomatically = true))
- 매칭 확정 후 Delivery가 생성되지 않는 고아 Order 문제
- 매칭이 성공하지 않았음에도 Orders 테이블에 PENDING으로 상태 변경하는 문제
- 부르미 확인 타임아웃 시 주문 DB·매칭 메모리 불일치
- 주변 콜 조회 시 반복되던 주문 조회 개선
- 드리미 오프라인 조회에 필요한 복합 인덱스 추가
- 매칭 단계 취소시 포인트 이중 환불 문제
- 로컬 DevStorage 사용시 로그인 상태에서도 401 UNAUTHORIZED 뜨던 문제
🗓️ 데일리 스크럼