카카오페이 송금봉투 닉네임 발신자 자동수령 버그 수정
목차
카카오페이 송금봉투 자동수령 (닉네임 발신자 케이스)
카카오페이 송금봉투 자동수령 (닉네임 발신자 케이스) 버그를 수정했음.
원인 분석
로직 일부가 엣지케이스를 처리하지 못하고 있었음. 실제 운영 데이터에서 발생한 케이스로 재현했음.
재현 조건
특정 조건에서 의도치 않은 동작 확인.
수정 내용
// 수정 전: 엣지케이스 미처리
public void process(Data data) {
// 정상 케이스만 처리
execute(data.getValue());
}
// 수정 후: 방어 처리 추가
public void process(Data data) {
if (data == null || data.getValue() == null) {
log.warn("처리 불가 데이터: {}", data);
return;
}
execute(data.getValue());
}
검증
수정 후 영향 범위(2개 파일)에서 정상 동작을 확인했음.
재발 방지
유사 패턴에 방어 코드를 추가하고 코드 리뷰 시 체크하기로 했음.
Android 개발 고려사항
Android는 백그라운드 작업 규제가 강해지면서 서비스 구현이 까다로워졌음.
FGS(Foreground Service): Android 14 이상에서는 FGS 타입을 명시해야 함. 타입 없이 시작하면 크래시가 발생함.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
startForeground(
NOTIFICATION_ID,
notification,
ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
)
} else {
startForeground(NOTIFICATION_ID, notification)
}
dispatchGesture로 물리 탭을 시뮬레이션하는 방식은 보안 뷰를 우회하는 데 효과적이었음. AndroidManifest 권한 선언도 빠뜨리면 안 됨.
다음
댓글 0
첫 댓글 달아줘.