#log
-
결제 외부 연동 재시도 개선과 수령 ID 분리로 추적 안정화
v3.1 작업 회고 — 재시도 로직 갈아엎고 메시지 ID 분리 오랜만에 결제 플랫폼 외부 연동 모듈 손봤음. 외부 API 호출 실패율이 새벽 시간대에 튀는 문제랑, 수령 결과 응답에서 메시지 ID 구분이 안 돼서 추적 안 되던 이슈 두 개를 한 번에 처리. 재시도 로직, 뭐가 문제였나 기존 API 클라이언트의 재시도가 너무 단순했음. 고정 간격 3
읽기 → -
정산 입금 알림 누락을 정규식·타임아웃 개선으로 해결
문제 상황 이커머스 정산 처리에서 메신저 봇으로 들어오는 입금 알림을 받아 링크를 추출하고 후속 작업을 트리거하는 모듈을 손봤음. 최근 며칠 "분명 알림은 들어왔는데 처리 안 된" 건이 늘어 원인 분석함. 추적해보니 두 가지였음. - 링크 캡처 정규식이 메신저측 포맷 변경에 못 따라감 - 외부 검증 호출 타임아웃이 너무 짧아 피크 시간대에 실패
읽기 → -
송금 폼 버그 6건을 이벤트 누락 하나로 한 번에 해결
송금 폼 6건 한 번에 잡은 날 특정 시중은행 연동 송금 폼에서 자잘한 버그 6건이 동시에 올라옴. 하나씩 보면 사소한데 모이니까 사용자가 1단계도 못 넘는 상황. 결제 플랫폼에서 "입력 안 됨"은 곧 이탈이라 우선순위 최상위로 올림. 증상 정리 올라온 리포트 그대로 옮기면: | 번호 | 증상 | 재현 조건 | |---|---|---| | 1 |
읽기 → -
가상계좌 입금자명 매칭 실패를 알림 title 폴백으로 해결
입금자명, 왜 갑자기 title에서 빼야 했나 며칠 전부터 가상계좌 입금 매칭 실패율이 슬금슬금 올라감. 이상하다 싶어서 알림 원본 페이로드 까봤더니, 원인이 어이없었음. 카카오 쪽에서 내려주는 알림 본문(body) 포맷이 일부 케이스에서 바뀌어 있었음. 기존엔 본문에 홍길동님 1,000,000원 입금 식으로 깔끔하게 들어왔는데, 어느 순간부터는 본문에
읽기 → -
폐업 사업자 정산 오류 막으려 진위확인 API와 알림 로그 관리 도입
사업자 진위확인 외부 API 붙이기 파트너 등록 화면에서 사업자번호 검증을 외부 API로 처리하기로 함. 기존엔 입력값을 그냥 믿고 저장했는데, 실제로 폐업·휴업 사업자 데이터가 섞여서 정산할 때 골치 아팠음. 검증 응답에서 챙긴 필드: | 필드 | 의미 | |---|---| | 상태코드 | 계속/휴업/폐업 | | 과세유형 | 일반/간이/면세 | |
읽기 → -
파트너 정산 은행 도메인 누락으로 송금 인증 실패하던 문제 수정
채팅 메시지 속 은행 링크를 못 찾았음 파트너 정산 채널에서 송금 인증 캡처 대신 메시지 앱 링크를 그대로 붙여넣는 케이스가 점점 늘었음. 메시지 본문에서 은행 도메인을 뽑아 송금 사실을 검증하는 로직이 있는데, CS팀에서 "특정 은행만 매번 인증 실패가 난다"는 리포트가 연달아 들어옴. 원인: 도메인 화이트리스트 노후화 은행 URL 추출기는 정규
읽기 → -
로그인 사용자 기반 상품 필터링 기능 추가
feat: 로그인 사용자 id 기반 상품 필터링 로직 추가 기능 구현.
읽기 → -
SLECS 로고를 WEAVERKIT으로 교체
fix: SLECS 로고 WEAVERKIT으로 변경 — 버그 픽스.
읽기 → -
결제 모니터 관련 문서를 실제 구현에 맞게 동기화
docs: TODO.md 업데이트 - pay-monitor 관련 기능 추가 문서 업데이트.
읽기 → -
파서 감시 패키지를 선택적 의존성으로 분리
chore: @parcel/watcher-darwin-arm64를 optionalDependencies로 이동 이번 작업의 핵심은 기존 기능 안정화와 코드 일관성 확보였음. 변경 범위가 여러 레이어에 걸쳐있어서 영향 범위를 꼼꼼히 체크했음. 변경 영역 | 레이어 | 파일 수 | 주요 변경 | |--------|--------|---------| |
읽기 → -
쇼핑몰 플랫폼 CSS 디자인 토큰 통일
feat: 비로그인 접근 차단 인터셉터 추가 및 쇼핑몰 플랫폼 CSS 업데이트 CSS/SCSS 작업은 눈에 잘 안 보이지만 쌓이면 시스템 전체 일관성에 영향 줌. 이번엔 디자인 토큰 통일과 반응형 최적화가 메인이었음. CSS 변수 통일 작업 컴포넌트마다 4px, 6px, 8px, 12px이 혼재해있었음. 디자인 시스템 기준을 잡고 CSS 변수로 통
읽기 → -
주문 결제 트랜잭션 정합성 개선
feat: 주문 결제 트랜잭션 정합성 수정 상품 목록부터 주문까지 이어지는 흐름을 정비했음. 특히 상품 옵션 처리와 페이징, 카테고리 필터가 한 번에 엮이는 부분이 까다로웠음. 상품 옵션 처리 구조 java // 옵션 유무 분기 if (product.hasOption()) { model.addAttribute("options", produc
읽기 → -
결제 도메인 완성하고 퇴사한 달의 기록
278개. 2월 커밋 수. 역대 최고치를 경신했다. 이전 회사 마지막 달이기도 했다.
읽기 → -
관심 카테고리·쿠폰 조회 기록 API 신규 추가
feat: 관심 카테고리 선택/저장 기능 및 쿠폰 조회 기록 API 추가 문서화 작업은 귀찮지만 나중을 위해 꼭 필요함. 특히 외부 API 연동 부분은 레퍼런스 없으면 매번 명세서 다시 뒤져야 함. 문서 구조 .claude/docs/ ├── api-reference.md 외부 API 엔드포인트 정리 ├── architecture.md
읽기 → -
선물 만료 자동 배치에 멱등성·모니터링 설계 적용
feat: 선물 만료 자동 배치 작업 추가 배치 작업은 운영 중에 터지면 치명적이라 스케줄링 설계를 꼼꼼히 해야 함. 배치 설계 원칙 - 멱등성: 동일 조건으로 여러 번 돌아도 같은 결과 - 실패 로그: 어떤 건이 실패했는지 추적 가능해야 함 - 부분 성공: 일부 실패해도 나머지는 처리 계속 - 알림: 오류 발생 시 담당자에게 즉시 알림 스케줄
읽기 → -
Apple 소셜 로그인 콜백 세션 유실
fix(oauth): Apple 연동 후 로그인 세션 재설정 Apple OAuth가 구글/카카오랑 달리 까다로운 이유가 있음. form_post 방식을 강제하기 때문에 콜백이 POST로 들어오고, 이 과정에서 세션이 끊기거나 CORS 문제가 발생함. Apple OAuth 특이사항 - 콜백이 GET이 아닌 POST (form_post) - 봇 차단
읽기 → -
레거시 JSP 관리자 화면을 모바일 대응으로 개선
fix: JSON 파싱 오류 원인 치환 문자열 수정 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrapper
읽기 → -
지갑 잔액 표시 개선과 포인트 차감 동시성 버그 수정
fix: 관리자 시스템 접근 권한 버그 수정 + 지갑 잔액 표시 개선 포인트/잔액 관련 로직은 정합성이 핵심임. 동시성 이슈와 소수점 처리를 특히 조심해야 함. 포인트 차감 순서 무상 포인트 먼저 차감 → 부족하면 유상에서 차감 (세금 처리, 환불 정책과 연관됨) 동시성 처리 sql -- 비관적 락으로 잔액 차감 SELECT balance
읽기 → -
계정 정지와 출금 정지를 분리해 독립적으로 작동하도록 개편
정지 유형을 이분화하는 구조 개편했음. 기존엔 계정 정지만 있었는데, 이번에 출금 정지를 분리해서 두 기능이 독립적으로 작동하도록 함.
읽기 → -
레거시 JSP 관리자 화면 모바일 대응
feat: 불필요 메세지 정리 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrapper d-none d-md-
읽기 →