노트 전체 보기 · 게시일 2026-10-29
학습 기록이 클라우드에 다 들어가지 않을 만큼 커졌습니다
어느 날 한 학습자의 진행 상황이 휴대폰에서도, 컴퓨터에서도 갑자기 백업되지 않았습니다. 원인은 네트워크도, 앱 오류도 아니었습니다. 학습 기록이 너무 커져서 클라우드가 기록 하나로 저장할 수 있는 상한을 넘었던 것입니다. 그것도 아주 조금. 이 글에서는 원인을 어떻게 찾았는지, 그리고 앞으로 누구도 같은 곳에서 멈추지 않도록 무엇을 하는지 이야기합니다.
기록 하나에는 상한이 있습니다
핸디 990에서의 모든 진행 상황, 즉 푼 문제, 외운 단어, 북마크와 메모, 연속 학습 일수는 클라우드에 하나의 기록으로 저장됩니다. 다른 기기에서 로그인하면 앱이 이 기록을 내려받고, 연습이 끝나면 업데이트된 기록을 올립니다.
이 기록에는 약 1 MB라는 엄격한 상한이 있습니다. 대부분의 기록은 수십에서 수백 KB 정도라 상한과는 거리가 멉니다. 하지만 오래 연습하고 북마크와 메모를 많이 쓸수록 기록은 점점 커집니다.
이 학습자의 기록은 상한을 231바이트 넘었습니다. 메모 한두 문장 정도의 길이입니다.
상한을 넘으면 어떻게 될까
클라우드는 상한을 넘은 기록을 일부만 받아 주지 않습니다. 통째로 거부합니다. 그래서 그 순간부터 이런 일이 벌어졌습니다.
- 백업할 때마다 거부되고, 북마크나 메모를 하나 더할 때마다 기록은 더 커져서 통과할 가능성은 더 낮아집니다.
- 다른 기기로 막 바꿨을 때 앱은 클라우드의 최신 진행 상황을 다 내려받은 뒤에야 연습을 시작하게 하는데, 바로 그 화면에서 멈춰 버립니다.
- 화면에는 "동기화에 실패했습니다. 네트워크 연결을 확인하세요" 같은 일반적인 메시지만 나와서, 네트워크 문제라고 생각하고 계속 다시 시도하게 됩니다.
사실 저희도 처음에는 이것이 원인인지 확신하지 못했습니다. 그러다 오류 보고(앱에서 문제가 생겼을 때 자동으로 보내는 기술 기록으로, 학습 내용은 들어 있지 않습니다)에서 클라우드가 거부하면서 남긴 문장을 찾았습니다. 이 기록의 크기는 1,048,807바이트로, 허용되는 1,048,576바이트를 넘었다. 그제야 확실해졌습니다.
이번 수정: 두 가지
첫째: 백업이 안 되더라도 더 이상 멈추지 않습니다.
기록이 너무 클 때도 앱은 클라우드에 있는 다른 기기의 진행 상황을 내려받아 합친 다음, 계속 연습할 수 있게 해 줍니다. 이 기기에서 새로 쌓인 진행 상황은 기기 안에 그대로 남아 있다가, 올릴 수 있게 되면 그때 올라갑니다. 화면 안내도 사실대로 바꿨습니다. "학습 기록이 너무 커서 지금은 클라우드에 백업할 수 없습니다. 이 기기의 데이터는 모두 그대로 있으니 계속 연습하셔도 됩니다."
몇 초마다 다시 시도하는 일도 없어졌습니다. 예전에는 다시 시도할 때마다 1 MB 가까운 기록 전체를 다시 내려받아 데이터를 괜히 썼습니다. 이제는 앱을 다시 열거나, 동기화를 누르거나, 다른 기기에 업데이트가 있을 때만 다시 시도합니다.
둘째: 이 학습자의 백업을 되살립니다.
이 학습자의 기록을 자세히 살펴보니, 용량의 절반 가까이가 중복된 오래된 데이터 두 가지에 쓰이고 있었습니다. 하나는 북마크 목록, 다른 하나는 북마크에 단 메모입니다. 8월 업데이트 이전의 옛 형식입니다. 업데이트 이후로는 모든 북마크와 메모가 새 형식에도 따로 저장되어 있고, 옛 데이터 두 가지는 아직 업데이트하지 않은 옛 버전 앱을 위해 남겨 둔 것뿐이었습니다.
그래서 클라우드에서 이미 거부된 적이 있는 계정에서는, 업로드 전에 새 형식에 모든 북마크와 메모가 하나도 빠짐없이 들어 있는지 앱이 먼저 확인한 다음, 이 옛 데이터 두 가지를 보내지 않습니다. 이 학습자의 기록은 약 1.06 MB에서 약 600 KB로 줄어들어 다시 백업할 수 있게 됩니다.
꼭 말씀드리고 싶은 점이 있습니다. 삭제되는 데이터는 하나도 없습니다. 빠지는 것은 '이번에 올리는 내용'뿐이고, 기기 안의 데이터는 전혀 건드리지 않으며, 북마크나 메모가 하나라도 사라지는 일은 없습니다.
하지만 솔직히 말하면
- 이것은 시간을 버는 것이지, 근본적인 해결은 아닙니다. 북마크, 메모, 연습 기록은 계속 늘어나기 때문에, 가장 열심히 연습하는 분들은 언젠가 다시 이 상한에 닿게 됩니다. 진짜 해결책은 너무 커진 부분을 여러 조각으로 나눠 따로 저장해서 상한 자체가 문제가 되지 않게 하는 것입니다. 이를 위해서는 먼저 클라우드 쪽을 손보고, 옛 버전 앱이 교체되기를 기다려야 하므로 몇 번의 버전에 걸쳐 진행합니다.
- 아주 오래된 앱은 조금 손해를 봅니다. 8월 이전 버전은 옛 형식만 읽을 수 있습니다. '이미 거부된' 계정에서는 새 북마크가 보이지 않을 수 있습니다. 데이터 자체는 사라지지 않으며, 앱을 업데이트하면 나타납니다. 확인해 보니 현재 유료 구독이나 평생 이용권을 구매한 분 중에 그렇게 오래된 버전을 쓰는 분은 없습니다.
- 두 기기 모두 업데이트해야 합니다. 수정은 다음 버전에 들어갑니다. 옛 버전에 머물러 있는 기기는 업데이트하기 전까지 자기 새 진행 상황을 올릴 수 없습니다.
- 이제는 여러분보다 저희가 먼저 알게 됩니다. 기록이 640 KB에 이르렀을 때, 그리고 850 KB에 이르렀을 때 앱이 한 번씩 알림을 보내 줍니다. 다음에 상한에 가까워지는 분이 생기면, 당사자가 알아차리기 전에 저희가 먼저 파악하려고 합니다.
이번 수정은 앱 안에서 보내온 신고 한 건에서 시작됐습니다. 저희의 질문 하나하나에 끈기 있게 답해 주시고, 앱을 지우거나 로그아웃하지도 않으신 그 학습자께 감사드립니다. 덕분에 두 기기의 진행 상황이 모두 온전히 남아 있습니다. 문제 신고는 앱 안의 "문제 신고"를 이용해 주세요. 그곳으로 보낸 신고에는 앱 버전이 함께 담겨 있어서 원인을 바로 찾을 수 있습니다.