개발

SMART LOTTO 개발기 6편 — 2년 넘게 방치된 앱, 그리고 버그 발견

2026-02-14·2분 읽기
SMART LOTTO 개발기 6편 — 2년 넘게 방치된 앱, 그리고 버그 발견

마지막 업데이트는 2023년 10월 17일

2023년 10월 17일 오전 9시 27분. 그게 SMART LOTTO의 마지막 업데이트였습니다. 그로부터 약 2년 넘게 앱은 건드리지 않았습니다.

방치한 게 아니라, 딱히 고칠 게 없었습니다. 기능은 잘 돌아가고 있었고, 별점도 4점 이상을 유지하고 있었고, 새 기능 요청도 없었습니다. 사이드 프로젝트로는 꽤 안정적인 상태였습니다.

그래서 다른 앱 개발에 집중했습니다.


내 번호 화면 — 쌓여있던 번호들

2026년 초, 이상한 느낌

2026년에 접어들면서 SMART LOTTO를 직접 열어봤습니다. 오랜만에 쓰는 내 앱. 근데 뭔가 이상했습니다.

통계 데이터가 2023년에서 멈춰 있었습니다.

처음엔 제가 잘못 본 줄 알았습니다. 화면을 다시 확인했습니다. 최신 회차 데이터가 없었습니다. 앱이 새로운 당첨 번호를 가져오지 못하고 있었습니다.


원인은 deprecated API

원인을 찾는 건 오래 걸리지 않았습니다.

제가 쓰던 동행복권 API가 응답을 반환하지 않았습니다. 요청을 보내도 빈 응답이 오거나 오류가 났습니다. 확인해보니 동행복권 사이트가 개편되면서 기존에 사용하던 API 엔드포인트가 더 이상 지원되지 않는 상태가 된 것이었습니다.

사용자 입장에서는 앱을 열어도 최신 데이터가 없으니, 통계도 번호 생성도 최신 회차를 반영하지 못하는 앱이 된 겁니다. 조용하지만 치명적인 버그였습니다.


새 API는 있었지만

다행히 대체 방법이 없는 건 아니었습니다. 동행복권 새 사이트에서 데이터를 가져오는 방법을 찾을 수 있었습니다.

문제는 그다음이었습니다.

업데이트를 하려면 소스코드가 있어야 합니다.


소스코드를 열어보려 했는데

개발 당시 소스코드는 Bitbucket에 올려뒀습니다. 개인 프로젝트용으로 쓰던 원격 저장소였습니다.

Bitbucket에 로그인해서 repository를 찾으려 했습니다. 없었습니다.

예전에 저장소 용량이 꽉 찼을 때 정리를 했었는데, 그때 SMART LOTTO 저장소도 지웠습니다. 로컬 맥북에 코드가 있으니 안심하고 지웠던 건데, 이후에 맥북들을 포맷하면서 로컬 파일도 날아갔습니다.

소스코드가 어디에도 없었습니다.


방치의 대가

업데이트를 안 해도 잘 돌아가고 있으니 괜찮다고 생각했던 것이 문제였습니다. 외부 API에 의존하는 앱은 그 API가 사라지는 순간 기능을 잃습니다. 그리고 소스코드가 없으면 수정도 없습니다.

사이드 프로젝트라도 버전 관리는 반드시 두 곳 이상에 해야 한다는 걸 뼈저리게 배웠습니다. 그리고 외부 서비스에 의존하는 기능은 언제든 끊길 수 있다는 걸 항상 염두에 둬야 합니다.

다음 편에서는 소스코드 없이 앱을 다시 만든 이야기를 해보겠습니다.