일기
회고 / 메모
-
은행 입금 동의 누락·알림 실패 건 자동 재처리로 개선
무엇을 바꿨나 은행 파트너 입금 처리 흐름에서 두 가지를 손봤음. - 개인정보 동의 처리 로직을 분리함: 기존엔 신청 폼에서 동의 체크박스만 받고 끝났는데, 은행 측 검증 시점에 동의 이력이 함께 넘어가야 정상 처리됨. 이게 안 맞아서 일부 건이 미처리로 빠지고 있었음. - 미처리 알림 재처리 큐를 추가함: 알림 전송이 실패하거나 누락된 건을 자동 재
읽기 → -
연락처 송금 자동 매칭 누락으로 쌓이던 PENDING 건 해소
연락처 송금 매칭, 왜 다시 손댔나 연락처 기반 송금 흐름에서 입금자명/금액으로 자동 매칭하는 로직이 돌고 있는데, 큐에 들어온 건이 실제로 수령됐는지 확인하는 단계가 비어있었음. 매칭은 됐는데 수령 확인이 누락돼서 PENDING으로 남아있는 건들이 쌓였고, 운영팀이 손으로 정리하고 있던 상태. 원인은 두 가지였음. - 매칭 유틸이 입금 레코드 상태만
읽기 → -
파트너 정산 은행 자동화 UI 감지 로직 개선과 에러 분류
은행 자동화에서 만난 함정 파트너 정산 자동화 손볼 일이 있어서 특정 은행 웹 자동화 핸들러를 다시 깠음. 단순 셀렉터 교체겠거니 했는데, 막상 들어가보니 UI 감지 로직 자체가 깨져있었음. 문제 상황 기존 코드는 페이지 진입 후 고정 selector 하나로 "직접받기" 버튼을 찾고 있었음. 그런데 상대 사이트가 UI 를 살짝 바꾸면서 버튼이 여러 형
읽기 → -
직접받기 콜백 분기 지옥을 정규화 단계 분리로 해소
문제 상황 금융 파트너 쪽 "직접받기" 버튼 처리 로직이 누더기였음. 콜백으로 들어오는 응답 코드 케이스가 계속 늘었고, 분기가 6단 깊이까지 박혀 있었음. 새 케이스 하나 붙이려면 어느 가지에 끼워야 할지 5분씩 노려보고 있어야 했음. 무엇이 꼬여 있었나 - 외부 응답 상태와 내부 판정 결과가 같은 변수에 섞여 흘러다님 - 성공/실패 분기가 try
읽기 → -
입금 매칭 우선순위 정리로 결제 연동 모듈 구조 개선
무엇을 손봤나 특정 은행 입금 연동 모듈을 정리했음. 기존 코드는 UI 렌더링, 입금 콜백 파싱, 잔액 갱신이 한 클래스에 다 들어있어서 손대기 무서운 상태였음. 한 줄 바꾸면 어디서 터질지 모르는 전형적인 레거시. 이번엔 두 갈래로 쪼갰음. - **표시 레이어**: 파트너 화면에서 보여주는 입금 안내 / 계좌 표기 부분 - **처리 레이어**: 결
읽기 → -
정산 주문 매칭 로직을 변경 축 기준으로 분리해 누락 추적 속도를 높임
매칭 로직을 다시 봐야 했던 이유 파트너별 정산 화면에서 주문 누락이 보고됐음. 입금 데이터를 받아 주문과 매칭하고, 그 결과로 파트너를 결정한 뒤 계좌를 조회하는 흐름인데, 단계마다 책임이 섞여 있어서 어느 단계에서 어긋난 건지 추적이 오래 걸림. 기존 컨트롤러는 다음을 한꺼번에 하고 있었음: - 입금 식별자 파싱 - 주문 후보 조회 - 매칭 우선
읽기 → -
파트너 송금 조회 쿼리 리팩터링으로 응답 속도 5배 개선
무엇을 줄였나 파트너 송금 조회 쿼리가 길었음. 같은 조인을 세 번 반복하고 인라인 뷰도 두 개나 끼어 있었음. 화면 하나에 결과 보여주는 게 전부인데 실행계획 떠보면 풀스캔이 두 번 찍혀서 손봐야 했음. 원본 구조를 거칠게 정리하면 이랬음: - 송금 본 테이블 + 파트너 정보 조인 - 같은 조건으로 수수료 합계 뽑는 서브쿼리 - 환불 차감용 또 다른
읽기 → -
결제 플랫폼에 근태관리 모듈 추가하고 메뉴얼 자동 생성 도입
배경 이커머스 결제 플랫폼에 근태관리 SaaS 모듈을 끼워 넣는 작업 시작. 파트너들이 "정산도 여기서 보는데 직원 출퇴근까지 한 화면에서 보면 안 되냐"라고 계속 요청해서 결국 사이드 모듈로 붙이기로 결정함. 테이블 구조 근태 도메인은 본업이 아니라서 최소한으로 잘랐음. 일단 5개만 만듬. | 테이블 | 용도 | | --- | --- | | 직
읽기 → -
정산 유니크 제약 누락으로 중복 적재되던 문제 수정
dump.rdb 가 또 올라왔음 로컬에서 캐시 띄워놓고 작업하다 보면 워킹 디렉토리에 dump.rdb 가 슬쩍 생김. 평소엔 잘 피해다녔는데 다른 변경이랑 같이 add 되면서 한번 커밋에 따라 들어간 적이 있었음. 수십 MB 바이너리가 히스토리에 박히면 클론할 때마다 짜증나고, 무엇보다 캐시 스냅샷에 뭐가 들었는지 모르니 보안적으로도 찜찜함. 그래서
읽기 → -
비회원 파트너 링크 결제 흐름과 쿠폰 발급 유틸 분리
비회원이 파트너 링크로 들어왔을 때 이커머스에서 회원 가입 → 로그인 → 구매가 정석이지만, 파트너가 외부 SNS에 링크를 뿌리는 시나리오에선 비회원도 그냥 결제까지 끝내고 싶음. 가입 강제하면 이탈률이 확 올라감. 이번 WIP는 그 흐름을 통째로 새로 깐 작업. 일단 절반 정도 됨. 진입점에서 막힌 것들 상품 상세 진입부터 손봤음. 기존엔 세션
읽기 → -
결제 화면 포함 CSS와 SCSS 원본 불일치 해소
SCSS 컴파일 결과 동기화 스타일 빌드 파이프라인이 분리돼 있다 보니, SCSS 원본 변경분과 실제 배포되는 CSS 파일이 어긋나는 일이 종종 있었음. 이번 커밋은 그 어긋남을 한 번 정리하는 작업이었음. 대상은 세 파일: - 공통 스타일 시트 - 신규 테마 시트 - 이커머스 결제 플랫폼 화면용 시트 세 파일 모두 SCSS 원본과 컴파일 결과 CS
읽기 → -
주문 결제에 쿠폰 서버 재검증과 결제대행사 파라미터 통합
쿠폰 적용을 주문 흐름에 끼워넣기
읽기 → -
결제 웹훅 원장·잔액 대조 배치로 정산 분쟁 추적 가능해짐
웹훅 원장 기록부터 깔았음 결제대행사 웹훅이 들어올 때 처리만 하고 흘려보내던 구조였는데, 정산 분쟁 한 번 터지고 나니 "그때 그 웹훅 진짜 왔었냐"는 질문에 답을 못 했음. 헤더, 페이로드, 서명검증 결과, 처리 결과까지 전부 원장으로 적재하기로 했음. - 들어온 원본은 가공 없이 그대로 저장 - 처리 단계별 상태 코드 분리 (수신완료 / 검증완료
읽기 → -
결제대행사 연동 프로젝트 첫 커밋을 가볍게 시작하는 법
새 프로젝트 첫 커밋 결제대행사 연동 솔루션 신규 프로젝트의 첫 삽을 떴음. 빈 디렉토리에 그래들 래퍼 뜯어 넣고, .gitignore 깔고, 빌드 스크립트 골격만 박아두는 작업. 별 거 아닌 것 같지만 매번 이 단계에서 30분~1시간씩 까먹음. 왜 래퍼부터 박는가 팀에 합류하는 사람마다 로컬 그래들 버전이 다르면 빌드 결과도 달라짐. 래퍼 jar
읽기 → -
입금 유틸을 은행별 전용 핸들러로 분리해 확장성 개선
왜 손댔나 공용 입금 유틸 한 파일에 모든 은행 HTTP 호출이 쌓여있었음. 새 은행 붙일 때마다 같은 파일 열어서 if 분기 추가하는 구조. 이번엔 한 은행 케이스를 전용 핸들러로 떼어냈음. 변경 요약 | 항목 | 이전 | 이후 | |------|------|------| | HTTP 송신 위치 | 공용 유틸 | 은행별 전용 핸들러 | | 분기 방
읽기 → -
결제 모니터 관련 문서를 실제 구현에 맞게 동기화
docs: TODO.md 업데이트 - pay-monitor 관련 기능 추가 문서 업데이트.
읽기 → -
디자인 토큰·반응형 스크롤 스냅으로 스타일 시스템 정비
chore: store.css 파일 비우기 CSS/SCSS 작업은 눈에 잘 안 보이지만 쌓이면 시스템 전체 일관성에 영향 줌. 이번엔 디자인 토큰 통일과 반응형 최적화가 메인이었음. CSS 변수 통일 작업 컴포넌트마다 4px, 6px, 8px, 12px이 혼재해있었음. 디자인 시스템 기준을 잡고 CSS 변수로 통일함. scss :root {
읽기 → -
서비스 계층을 정적 유틸로 전환해 패키지 구조 단순화
refactor: CSS 변수 재구성 및 새로운 상품 카테고리 스타일 추가 리팩토링은 기능 변경 없이 코드 품질을 올리는 작업임. 이번엔 패키지 구조 정리와 Service 계층을 Util 방식으로 전환하는 게 핵심이었음. 패키지 구조 재편 기존: 기능별 패키지 내 Controller/Service/Mapper 혼재 개선: Controller(we
읽기 → -
쇼핑몰 JSP 서브페이지 모바일 테이블을 카드형으로 개선
feat: 쇼핑몰 플랫폼 서브페이지 JSP 추가 및 초기 데이터 구성 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-tabl
읽기 → -
쇼핑몰 플랫폼 패키지 구조와 CSS 전면 재구성
refactor: 쇼핑몰 플랫폼 CSS 재구성 및 로그인 페이지 스타일 개편 리팩토링은 기능 변경 없이 코드 품질을 올리는 작업임. 이번엔 패키지 구조 정리와 Service 계층을 Util 방식으로 전환하는 게 핵심이었음. 패키지 구조 재편 기존: 기능별 패키지 내 Controller/Service/Mapper 혼재 개선: Controller(w
읽기 →