-
결제·정산 데이터 정합성 감사로 불일치 조기 발견
20260408 1530 zlgoon-payment-relay-reply 2026-04-08 기준 시스템 현황 분석 보고서를 작성했음. 분석 목적 서비스가 복잡해질수록 데이터 간 불일치가 쌓임. 특히 결제/정산처럼 여러 단계를 거치는 흐름은 중간 어딘가에서 엣지케이스가 터지기 쉬움. 주기적으로 전체 데이터를 돌아보면서 이상 징후를 조기에 발견하는
읽기 → -
중복 매칭 로직 정리로 코드 유지보수성 향상
불필요한 UI 컴포넌트 및 Java 매칭 로직 개선 리팩토링 작업을 완료했음. 리팩토링 이유 코드 가독성과 유지보수성 향상을 위한 리팩토링이었음. 변경 전/후 java // 수정 전: 중복/복잡 로직 // 각 클래스에 동일 로직 반복 // 수정 후: 명확하고 단일 책임 public static Long resolveId(Object sour
읽기 → -
입금 매칭
입금 매칭 및 파트너 권한/설정 개선 입금 매칭 및 파트너 권한/설정 개선 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 6개를 작성했음. 코드 예시 java // 핵심 로직 public void execute(Request request) { validate(
읽기 → -
데모 데이터 관리와 알림 기능 신규 추가
데모 데이터 관리 및 알림 기능 추가 데모 데이터 관리 및 알림 기능 추가 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 5개를 작성했음. 코드 예시 java // 핵심 로직 public void execute(Request request) { validate(
읽기 → -
파트너 알림 채널 관리 기능 구현
파트너 알림 채널 관리 기능 추가 파트너 알림 채널 관리 기능 추가 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 6개를 작성했음. 코드 예시 java // 핵심 로직 public void execute(Request request) { validate(requ
읽기 → -
결제 수단별 충전 수수료 정책을 타입으로 분리해 독립 관리
충전 수수료 입력 필드 분리 및 UI 개선 충전 수수료 입력 필드 분리 및 UI 개선 기능을 구현했음. 배경 결제 수단별로 수수료 구조가 다른데, 단일 계산 로직으로 처리하면 요율 변경 시 사이드 이펙트가 생기기 쉬움. 타입별로 분리하면 각자 독립적으로 변경할 수 있음. 구현 방식 수수료 타입을 Enum으로 정의하고, 타입별 정책을 DB에서
읽기 → -
VBANK 데이터를 VACCOUNT로 마이그레이션하고 UI 개선
VBANK 데이터를 VACCOUNT로 일괄 마이그레이션 및 UI 개선 VBANK 데이터를 VACCOUNT로 일괄 마이그레이션 및 UI 개선 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 6개를 작성했음. 코드 예시 java // 핵심 로직 public void exec
읽기 → -
CSS 공통 스타일 정비로 코드베이스 가독성 개선
apple.css 초기화 및 공통 스타일 정의 추가 유지보수 및 정리 작업을 했음. 배경 기능 개발에 집중하다 보면 불필요한 코드, 오래된 설정, 중복 파일이 쌓임. 이런 기술 부채는 당장은 문제가 없어 보여도 점점 코드베이스를 읽기 어렵게 만듦. 작업 내용 - CSS 파일 초기화 및 공통 스타일 재정의 - 불필요하게 쌓인 override 규
읽기 → -
파트너 가입 페이지 JSP 리팩토링으로 코드 가독성 개선
파트너 가입 페이지 UI 및 폰트 리팩토링 리팩토링 작업을 완료했음. 리팩토링 이유 코드 가독성과 유지보수성 향상을 위한 리팩토링이었음. 변경 전/후 java // 수정 전: 중복/복잡 로직 // 각 클래스에 동일 로직 반복 // 수정 후: 명확하고 단일 책임 public static Long resolveId(Object source) {
읽기 → -
파트너 가입 페이지 UI 개선
파트너 가입 페이지 UI 개선 및 CSS 통합 리팩토링 작업을 완료했음. 리팩토링 이유 코드 가독성과 유지보수성 향상을 위한 리팩토링이었음. 변경 전/후 java // 수정 전: 중복/복잡 로직 // 각 클래스에 동일 로직 반복 // 수정 후: 명확하고 단일 책임 public static Long resolveId(Object source)
읽기 → -
파트너 일일 정산 배치 도입으로 대시보드 조회 성능 개선
파트너 일일 정산 배치 및 수동 실행 API 추가 파트너 일일 정산 배치 및 수동 실행 API 추가 기능을 구현했음. 배경 일별 집계 데이터를 실시간 쿼리로 가져오면 쿼리 부하가 높아짐. 미리 집계해서 스냅샷으로 저장해두면 조회가 빠르고 DB 부하도 줄어듦. 구현 방식 @Scheduled로 매일 새벽 집계 배치를 돌렸음. 결과를 스냅샷 테이블
읽기 → -
쿠폰 주문 상세에 형제 쿠폰이 모두 표시되지 않던 버그 수정
쿠폰 주문 상세에 형제 쿠폰(parent_issue_sn) 모두 표시 쿠폰 주문 상세에 형제 쿠폰(parent_issue_sn) 모두 표시 버그를 수정했음. 원인 분석 로직 일부가 엣지케이스를 처리하지 못하고 있었음. 실제 운영 데이터에서 발생한 케이스로 재현했음. 재현 조건 특정 조건에서 의도치 않은 동작 확인. 수정 내용 java /
읽기 → -
부산은행 쿠폰 처리 누락 버그 수정
부산은행 다중 URL 캐치 + 쿠폰 qty 루프 누락 수정 부산은행 다중 URL 캐치 + 쿠폰 qty 루프 누락 수정 버그를 수정했음. 원인 분석 새로운 처리 경로를 추가할 때 기존 경로의 공통 처리를 빠뜨렸음. 재현 조건 특정 경로로 처리된 건에서 후처리가 실행되지 않음. 수정 내용 java // 수정 전: 분기별 처리, 일부 누락 i
읽기 → -
초대 토큰 환원 엣지케이스 버그 수정
초대 토큰 환원 로직 추가 초대 토큰 환원 로직 추가 버그를 수정했음. 원인 분석 로직 일부가 엣지케이스를 처리하지 못하고 있었음. 실제 운영 데이터에서 발생한 케이스로 재현했음. 재현 조건 특정 조건에서 의도치 않은 동작 확인. 수정 내용 java // 수정 전: 엣지케이스 미처리 public void process(Data data)
읽기 → -
파트너 채널 초대 링크 가입 경로 통제 기능 구현
파트너 초대 토큰 기능 추가 및 관련 UI/쿼리 업데이트 파트너 초대 토큰 기능 추가 및 관련 UI/쿼리 업데이트 기능을 구현했음. 배경 신규 채널 사용자 등록 시 초대 링크 방식을 도입했음. 무작위 가입을 막고 상위 채널이 하위를 직접 초대하는 구조를 만들었음. 구현 방식 초대 토큰을 생성해서 링크에 포함하고, 가입 시 토큰을 검증했음. 토
읽기 → -
마스킹 이름으로 발생하던 충전 매칭 실패 수정
마스킹 이름으로 주문/충전 매칭 실패 수정 (queue 28 NO_MATCH) 마스킹 이름으로 주문/충전 매칭 실패 수정 (queue 28 NO_MATCH) 버그를 수정했음. 원인 분석 실명 대신 마스킹된 이름(홍*동)이 들어올 때 DB의 실명과 직접 비교해서 매칭 실패가 발생했음. 재현 조건 마스킹 처리된 이름으로 들어온 요청이 NO_MAT
읽기 → -
파트너 가입 정책 개선
파트너 관리 및 가입 정책 개선, 비밀번호 초기화 로직 추가 파트너 관리 및 가입 정책 개선, 비밀번호 초기화 로직 추가 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 6개를 작성했음. 코드 예시 java // 핵심 로직 public void execute(Reques
읽기 → -
마스킹 이름으로 들어온 정산 매칭 실패 수정
마스킹 이름/하이픈 금액 매칭 실패 수정 마스킹 이름/하이픈 금액 매칭 실패 수정 버그를 수정했음. 원인 분석 실명 대신 마스킹된 이름(홍*동)이 들어올 때 DB의 실명과 직접 비교해서 매칭 실패가 발생했음. 재현 조건 마스킹 처리된 이름으로 들어온 요청이 NO_MATCH로 처리됐음. 수정 내용 java // 수정 전: 완전 일치 비교만
읽기 → -
매뉴얼 엔진에 환경변수와 CLI 인자 지원 추가
매뉴얼 엔진에 환경변수 및 CLI 인자 지원 추가 매뉴얼 엔진에 환경변수 및 CLI 인자 지원 추가 기능을 구현했음. 배경 기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음. 구현 방식 내부 클래스 1개를 작성했음. 코드 예시 java // 핵심 로직 public void execute(Request request) {
읽기 → -
출금 수수료 정산 엣지케이스 버그 수정
출금 수수료 정산 로직 보강 및 시스템 수익 직접 적립 처리 추가 출금 수수료 정산 로직 보강 및 시스템 수익 직접 적립 처리 추가 버그를 수정했음. 원인 분석 로직 일부가 엣지케이스를 처리하지 못하고 있었음. 실제 운영 데이터에서 발생한 케이스로 재현했음. 재현 조건 특정 조건에서 의도치 않은 동작 확인. 수정 내용 java // 수정
읽기 →