Java ATM CLI 개발 로그 #3: VTU 기능

발행: (2025년 12월 27일 오전 04:16 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

개요

VTU(가상 충전) 기능을 구현하는 것은 개념적으로는 간단했지만, 상당히 많은 코드를 작성해야 했습니다. Gemini Code Assist의 도움을 받아 기능을 빠르게 구현할 수 있었습니다. 처음에는 작동을 확인하기 위해 에어타임 및 데이터 요금제를 코드에 직접 하드코딩했습니다. 이제 기능이 정상적으로 동작하므로, VTU 요금제를 데이터베이스로 옮겨 동적으로 가져올 계획입니다.

발생한 문제

PIN 입력 프롬프트의 UX 결함

테스트 중에 사용자 경험 문제가 발견되었습니다. 하나의 서비스를 완료한 뒤(예: 돈 인출) “에어타임/데이터 충전”과 같은 다른 서비스를 선택하면 애플리케이션이 다시 PIN을 요구합니다. 이와 같은 PIN 재입력은 불편하므로, 추가 기능을 구현하기 전에 해결해야 합니다.

하드코딩된 요금제

에어타임 및 데이터 요금제를 하드코딩하면 코드 유지보수가 어려워집니다. 이러한 요금제를 데이터베이스에 저장하도록 리팩터링하면 유연성과 확장성이 향상됩니다.

향후 작업

  • 캐싱 구현: 자주 접근하는 데이터를 일시적으로 저장해 데이터베이스 호출을 줄이고 성능을 향상시키는 캐싱을 학습하고 통합합니다.
  • PIN 재요청 수정: 세션 처리를 조정해 거래 세션당 PIN 입력이 한 번만 필요하도록 합니다.
  • 데이터베이스 연동: 하드코딩된 VTU 요금제(에어타임 및 데이터)를 데이터베이스로 옮겨 필요할 때마다 가져오도록 합니다.

저장소

GitHub 저장소에서 소스 코드를 확인할 수 있습니다: GitHub repo.

Back to Blog

관련 글

더 보기 »