개발
코드 / 아키텍처 / 디버깅
-
파트너 API 경로 분리로 결제·정산 연동 구조 정비
파트너 API 경로 분리하면서 정리한 것 오늘 한 일은 파트너 전용 API 경로를 새로 따고, 연동 문서를 거기 맞춰 갱신한 것. 기존엔 내부 운영용 호출이랑 파트너 호출이 같은 prefix 아래 섞여 있어서 권한 분기랑 로깅 분리가 계속 애매했음. 경로 분리 기준 - 내부 운영/대시보드용: /internal/** - 파트너(외부 연동)용: /pa
읽기 → -
수수료·쿠폰·정산 배치를 한 PR로 묶어 잔액 정합성 확보
수수료·정산·쿠폰 한 번에 묶은 날 오늘 만진 건 네 덩어리. 수수료 조회, 결제대행사 설정, 정산 배치, 쿠폰 상태 API. 하나하나 떼면 작은데 묶어 보니 결국 "파트너가 돈을 내고 받는 흐름" 전체가 한 줄로 이어짐. 정산 도메인은 이렇게 한 번에 손대는 게 정신 건강에 좋다. 부분만 고치면 나중에 숫자 안 맞을 때 어디서 깨진지 못 찾음. 바
읽기 → -
파트너 쿠폰 링크 오작동과 일별 충전 한도 정산 오류 수정
쿠폰 공유 링크가 엉뚱한 곳으로 가고 있었음 파트너 화면에서 쿠폰을 공유하면 링크가 다른 도메인으로 붙는 이슈가 있었음. 운영 환경마다 호스트가 다른데 베이스 URL이 한쪽 값으로 굳어 있던 게 원인. 보고 한숨 나옴. - 로컬에서는 정상으로 보였는데 운영 도메인에서는 잘못된 경로로 리다이렉트 - QR 찍으면 404 뜨는 케이스가 여러 건 - 파트너가
읽기 → -
송금 푸시 알림 미수신을 재시도 큐로 해결
문제 상황 연락처 기반 송금 기능에서 푸시 알림이 가끔 빠지는 이슈가 보고됨. 로그 까보니 푸시 발송 자체는 호출되는데 토큰 만료/네트워크 일시 단절 같은 케이스에서 그냥 한 번 던지고 끝나는 구조였음. 받는 쪽은 돈 들어왔는지 모르고 있다가 나중에 앱 켜서 알게 되는 흐름. 송금 UX에서 꽤 치명적임. 원인 정리 기존 코드는 단발성 호출. 실패
읽기 → -
정산 메시지 19% 누락을 일으킨 발신자명 스킵 로직 수정
무의식적 스킵의 함정 메시지 파서에서 발신자명이 "No Name"이면 통째로 스킵하던 로직이 있었음. 처음 짤 때는 "이름 없는 메시지는 어차피 쓰레기"라고 단정했음. 이번에 파트너 정산 데이터를 다시 훑다가, **발신자명만 비어있고 본문에는 실제 이름·금액·계좌가 멀쩡히 들어있는 케이스**를 발견함. 원인은 단순함. 발신처 시스템마다 헤더 구성이 다
읽기 → -
입금 알림 파싱 오류와 오매칭 정산 버그 수정
또 파싱이 깨졌다 은행 앱에서 메신저 알림으로 쏴주는 입금 메시지를 받아 파트너 잔액에 반영하는 로직이 있음. 알림 포맷이 어느 날 슬쩍 바뀌면서 파싱이 통째로 실패. 입금은 들어왔는데 시스템엔 아무 일도 안 일어남. 운영팀이 수동으로 메우다 빵 터졌고, 이번에 두 개를 한꺼번에 잡았음. - 새 포맷의 줄바꿈/공백 차이로 정규식이 못 잡던 케이스 -
읽기 → -
채팅 placeholder 노이즈를 서버에서 차단해 검색 품질 개선
채팅 노이즈, 클라이언트만 막아선 안 됨 상담 채팅 로그를 훑다가 "사진을 보냈습니다", "동영상을 보냈습니다", "파일을 보냈습니다" 같은 placeholder 문자열이 그대로 검색 인덱스에 박혀 있는 걸 발견함. 클라이언트에서 미리 필터링하니 괜찮을 줄 알았는데, 외부 채팅 위젯이나 구버전 앱에서 들어오는 메시지는 서버까지 그대로 뚫고 들어왔음. 결
읽기 → -
재설치 후 통계 복원·자동 수령 깜빡임 해소·접근성 음성 안내 추가
v1.0.3 릴리즈 정리 이번 릴리즈는 세 갈래로 나뉨. 통계 동기화, 자동 수령 흐름 개선, 접근성 알림. 하나씩 정리. 서버 통계 동기화 - 그동안 로컬 카운터만 보고 화면에 그렸음. 디바이스 재설치하면 숫자가 0 으로 리셋되는 게 거슬렸음 - 이번엔 진입 시점에 서버에서 누적치를 한 번 받아오고, 이벤트 발생할 때마다 증분만 보내는 구조로 바
읽기 → -
관리자 화면에 알림 수신 탭·LLM 연동·통계 API 한번에 추가
오늘 관리자 화면에 알림 수신 탭을 새로 붙이고, 외부 LLM 연동 + 통계 집계 API까지 한 PR에 묶어서 밀어넣음. 세 덩어리라 부담스러웠는데, 결국 같은 운영자 워크플로우를 노리는 작업이라 쪼개는 게 더 어색했음. 알림 수신 탭 기존 관리자 화면은 거래·정산만 다뤘는데, 파트너 쪽에서 "왜 알림이 안 옴?" 문의가 늘면서 수신 이력 가시성이 필
읽기 → -
관리자 OTP 재발송 폭주를 레이트 리밋으로 차단해 발송량 40% 절감
관리자 2FA 재발송 폭주 막기 관리자 로그인 흐름을 다시 들여다봤음. 진입할 때 OTP 발송하는 구간이 있는데, 사용자가 "재발송" 버튼을 연타하면 그대로 발송 API가 비례해서 호출됨. 비용도 비용이지만, 수신자 입장에서도 같은 코드가 반복으로 도착해서 어떤 게 유효한지 헷갈림. 기존 동작의 문제 - 발송 직후 즉시 재발송 가능 — 1초 안에
읽기 → -
결제 송금 알림 메시지 빌더를 분리해 가독성 개선
왜 손댔나 연락처 송금 메시지 유틸이 너무 비대해졌음. 결제 플랫폼에서 파트너끼리 잔액을 옮길 때 알림 문구를 만드는 부분인데, 한 메서드 안에 분기가 켜켜이 쌓여 있었음. - 송금 성공/실패/대기/취소 4종 - 파트너 등급별 호칭 표기 차이 - 결제대행사 결과코드에 따른 문구 분기 - 다국어 금액 포맷 분기 새 메시지 한 줄 추가하려고 200라인짜
읽기 → -
결제 매칭과 파트너 귀속 로직을 단계별로 분리해 동명이인 버그 해결
시작점 주문 매칭과 파트너 결정 로직이 한 유틸 안에 뒤엉켜 있었음. 입금 들어오면 어떤 주문에 매칭할지, 그 주문이 어떤 파트너 소속인지, 수수료를 누가 부담하는지 한 메서드 안에서 다 처리했음. 이번 리팩토링은 이걸 떼어내는 작업. 기존 흐름에서 가장 골치 아팠던 부분: - 매칭 후보가 여러 개일 때 우선순위 결정 분기가 6단계 넘게 중첩 - 파
읽기 → -
무통장 입금 미매칭을 주문번호 기준으로 자동 보정
배경 무통장 입금 매칭에서 파트너를 잘못 잡거나 계좌 정보가 비어있는 케이스가 누적됨. 운영팀이 손으로 일일이 보정하던 흐름을 주문 데이터 기준으로 자동화함. 결제 플랫폼 쪽 미매칭 건이 월말마다 쌓여서 더 미룰 수 없었음. 무엇을 바꿨나 - 주문번호를 키로 파트너 ID 역추적 - 입금자명·금액 일치 외에 주문 메타데이터로 보강 - 관리자 화면에서 미
읽기 → -
파트너 대시보드에 송금·주문 통계 위젯 추가
파트너 대시보드에 송금·주문 통계 붙이기 기존 파트너 대시보드는 결제 흐름 위주로만 정보를 뿌려줬음. 그러다 보니 파트너가 송금 내역이나 주문 추이를 보려면 메뉴를 두세 번 더 타고 들어가야 했고, "한 화면에서 다 보고 싶다"는 피드백이 누적돼 있었음. 이번 작업으로 두 가지를 한 위젯 영역에 묶었음. - 연락처 송금 통계: 일/주/월 단위 송금
읽기 → -
파트너 화면에 쿠폰·광고·메시지 메뉴 4종 추가
사이드바부터 손댄 이유 파트너 화면 기능이 늘어나는데 진입점은 그대로였음. 신규 페이지를 한꺼번에 붙이려니 메뉴 구조부터 정리해야 했음. 단순 링크 추가가 아니라 권한 단계에 따라 노출 항목이 달라져서, 사이드바 모델을 손볼 수밖에 없었음. 한 번에 묶은 화면들 오늘 붙인 컨트롤러는 4종류: - 파트너 간 메시지 화면 - 쿠폰 광고 배너 관리 -
읽기 → -
근태관리 설계 문서를 분리해 정산 흐름과 용어를 정돈한 과정
근태관리 SaaS 상세 설계 문서를 따로 뽑아낸 이유 처음엔 그냥 PLAN.md 한 장에 다 욱여넣으려고 했음. 근데 막상 출퇴근, 휴가, 시프트, 정산 흐름까지 그리다 보니 한 문서에서 스크롤이 끝도 없이 늘어나서 결국 PLAN_ATTENDANCE_DETAIL 로 분리함. 상위 PLAN 은 "무엇을 만든다"만 남기고, 디테일 문서는 "어떻게 동작하느냐
읽기 → -
백오피스 관리자 매뉴얼 슬라이드 자동 생성으로 갱신 시간 대폭 단축
매뉴얼을 매번 손으로 만드는 건 한계였음 이커머스 백오피스 운영팀에서 신규 기능이 붙을 때마다 관리자 매뉴얼 갱신 요청이 들어왔음. 처음엔 그냥 슬라이드 열어서 캡처 붙이고 화살표 그렸는데, 화면 하나만 바뀌어도 슬라이드 전체를 다시 손봐야 했음. 페이지 60장 넘어간 시점부터는 도저히 답이 없었음. 그래서 설정 파일 하나로 슬라이드를 자동 생성하는
읽기 → -
관리자 매뉴얼 자동화로 수동 작업 반나절을 수분으로 단축
매뉴얼 엔진을 손으로 짜기로 한 이유 관리자 화면이 계속 늘어나면서 운영팀에서 "이 버튼 뭐예요"라는 질문이 매주 쌓였음. 외부 문서툴에 정리하던 매뉴얼이 화면 변경 속도를 못 따라잡아서, 빌드 시점에 화면 메타데이터를 긁어 자동으로 매뉴얼 HTML을 뽑는 스크립트를 직접 만들기로 함. 처음엔 외부 문서 도구를 붙일까 고민했는데, 이커머스 도메인 특성
읽기 → -
매뉴얼 화면에서 사이드바 메뉴가 뒤섞이던 모델 키 충돌 해결
menuList 가 두 개였음 매뉴얼 자동 생성 화면을 손보다 이상한 현상을 만났음. 본문에 떠야 할 항목 리스트가 가끔 사이드바 메뉴로 둔갑함. 새로고침하면 또 바뀜. 캐시 의심부터 했지만 아니었음. 원인은 단순했음. 공통 인터셉터에서 모든 화면에 menuList 라는 이름으로 GNB/사이드바용 메뉴를 모델에 꽂아주고 있었음. 그런데 매뉴얼 생성기에
읽기 → -
비회원 주문의 쿠폰 핀 발급 오류 수정
비회원 주문에서 터진 핀 생성 버그 이커머스 백오피스에서 핀(쿠폰 코드) 생성 로직을 손봤음. 어드민 화면과 파트너 화면 양쪽에서 핀을 발급할 수 있는데, 비회원 주문이 끼면 회원 식별값이 없어서 다운스트림에서 NPE가 터지거나 매칭이 엉뚱하게 붙는 케이스가 있었음. 원래는 핀 생성 시 회원 식별값을 그대로 던지면 그만이었는데, 비회원 결제 비중이 늘
읽기 →