작성자: 컴맹 집사
대표 이미지: 저장된 결과가 있으면 첫 화면에 “이전에 받은 작위증 보기” 버튼이 나타난다 (출처: 직접 캡처한 화면(2026년 9월 20일))
이 글에서 얻는 것
- 이런 분께 앱을 닫거나 새로고침하면 결과가 사라지는 분
- 핵심 답 로그인 없이 휴대폰 브라우저에 결과를 저장했다. 완성된 그림 대신 다시 그리는 데 필요한 재료(폐하 정보, 답 7개, 발급일, 줄인 사진)만 저장한다
- 바로 쓰는 팁 그림 대신 재료를 저장하면 나중에 디자인을 바꿔도 예전 결과가 새 디자인으로 다시 그려진다
“어제 받은 작위증 다시 보여 주려고 했는데, 처음부터 다시 해야 하네.”
친구의 말이었다. 전날 받은 작위증을 다른 사람에게 보여 주려고 앱을 다시 열었더니 결과가 남아 있지 않았다. 앱을 닫거나 새로고침만 해도 결과가 사라졌다.
나는 이게 당연한 줄 알았다. 진단은 한 번 하고 끝나는 거니까. 그런데 작위증을 나중에 다시 보여 주고 싶은 사람에게는 꽤 불편한 일이었다.
왜 결과가 사라질까
AI에게 먼저 원인을 물었다.
지금 앱은 결과를 화면이 열려 있는 동안만 기억합니다. 화면을 닫거나 새로고침하면 앱이 처음부터 다시 시작되기 때문에, 그동안 기억하던 내용이 모두 지워집니다.
비유하자면 지금 앱은 칠판에 결과를 적어 두는 것과 같았다. 수업이 끝나면(화면을 닫으면) 칠판을 지운다. 결과를 남기려면 공책에 적어야 한다.
그 공책을 어디에 둘 것인가가 문제였다.
공책을 둘 수 있는 곳은 두 군데
AI가 알려 준 선택지는 두 가지였다.
1. 서버에 저장하기
결과를 인터넷 저 너머의 서버에 보관한다. 어느 기기에서든 볼 수 있다. 대신 회원가입이나 로그인이 있어야 누구의 결과인지 구분할 수 있고, 서버와 데이터베이스를 준비해야 한다.
2. 사용자의 휴대폰(브라우저)에 저장하기
결과를 그 휴대폰의 브라우저 안에 보관한다. 로그인도 서버도 필요 없다. 대신 그 휴대폰, 그 브라우저에서만 볼 수 있다.
사진 기능 때와 같은 고민이었다. 결론도 같았다. 이 앱에 로그인을 넣을 이유는 없었다. 재미로 하는 집사 진단을 위해 회원가입을 할 사람은 많지 않다. 휴대폰 안에 저장하는 방식으로 정했다. 이 방식에 쓰이는 것이 LocalStorage라는 기능인데, 이야기가 길어서 다음 글에 따로 적었다. (출처: MDN 웹 문서, Window.localStorage) 이 글에서는 무엇을, 어떻게 보여 줄지 기능을 설계한 과정을 다룬다.
무엇을 저장할지 정하기
완성된 작위증 그림을 통째로 저장하면 될까? AI의 생각은 달랐다. 그림은 용량이 크고, 나중에 작위증 디자인을 바꾸면 옛날 그림이 그대로 남는다. 대신 작위증을 다시 그리는 데 필요한 재료만 저장하자고 했다.
| 저장할 것 | 이유 |
|---|---|
| 폐하 정보(이름, 성격, 좋아하는·싫어하는 활동, 왕국 분위기, 집사 닉네임) | 왕국과 작위증에 들어간다 |
| 질문 7개의 답 | 집사 유형과 작위를 다시 계산할 수 있다 |
| 발급일 | 작위증에 적힌 날짜를 그대로 유지한다 |
| 작게 줄인 폐하 사진 | 작위증 액자에 다시 넣는다 |
재료만 있으면 앱이 작위증을 그 자리에서 다시 그린다. 나중에 작위증 디자인을 크게 바꿨을 때도, 예전에 받은 작위증이 새 디자인으로 자연스럽게 다시 그려졌다. 재료를 저장해 둔 덕을 톡톡히 봤다.
사진은 가장 고민한 부분이다. 사진을 남기면 편하지만 용량이 크다. 그래서 사진 업로드 때 이미 작게 줄여 둔 사진만 저장하게 했다. 그래도 저장 공간이 부족하면 사진만 빼고 나머지를 저장해서, 저장이 실패해도 작위증 기록 자체는 남게 했다. 이 사진도 그 휴대폰 브라우저 안에만 남고, 어디로도 전송되지 않는다.
하나만 남길까, 여러 개를 남길까
처음엔 지난 결과를 목록으로 여러 개 남기는 방법도 생각했다. 하지만 이 앱에서 작위증은 “지금 나의 집사 작위”라는 의미가 컸다. 목록을 만들면 화면도, 지우기 기능도, 설명도 늘어난다. 그래서 가장 최근에 받은 작위증 하나만 남기기로 했다. 새로 진단을 받으면 이전 기록은 새 기록으로 바뀐다.
단순하게 정하고 나니 만들 것도, 설명할 것도 줄었다. 초보자에게는 이게 큰 장점이었다.
어디서 보게 할까
첫 화면에 “이전에 받은 작위증 보기” 버튼을 만들었다. 누르면 저장해 둔 재료로 작위증이 다시 그려지고, 거기서 저장과 공유도 그대로 할 수 있다.

출처: 왕립 개집사협회 앱 2026년 9월 20일 버전 화면, 직접 캡처
처음에는 저장된 작위증이 있을 때만 이 버튼이 보이게 했다. 그런데 앱을 다시 보다가 생각이 바뀌었다. 처음 온 사람에게는 첫 화면에 볼거리가 너무 적었다. 그래서 버튼을 항상 보이게 하고, 작위증이 아직 없으면 버튼 글자를 “아직 작위가 없어요 · 지금 받기”로 바꿔서 누르면 바로 진단이 시작되게 했다. 같은 자리의 버튼이 상황에 따라 다른 일을 하게 만든 것이다.
진단을 마치면 폐하 정보, 답 7개, 발급일, 줄인 사진을
이 휴대폰 브라우저에 저장해 줘. 가장 최근 것 하나만.
저장 공간이 부족하면 사진만 빼고 저장해 줘.
첫 화면에 "이전에 받은 작위증 보기" 버튼을 항상 보여 주고,
저장된 게 없으면 "아직 작위가 없어요 · 지금 받기"로 바꿔서 진단을 시작하게 해 줘.
테스트하며 발견한 것
- 새로고침 후에도 작위증이 남는가 → 남는다.
- 앱을 닫았다 다시 열어도 남는가 → 남는다.
- 다른 휴대폰에서는 보이는가 → 안 보인다. (의도한 대로)
- 같은 휴대폰이라도 다른 브라우저에서는 보이는가 → 안 보인다.
- 저장 기능이 막힌 환경(일부 비공개 모드 등)에서도 앱이 멈추지 않는가 → 저장만 안 되고 앱은 그대로 쓸 수 있다.
네 번째 항목이 뜻밖이었다. 카카오톡에서 링크를 열어 진단한 뒤 나중에 크롬으로 열면 작위증이 없다. 카카오톡 안의 브라우저와 크롬은 서로 다른 공책을 쓰기 때문이다. 기술적으로 어쩔 수 없는 부분이라, 이용안내에 “작위증은 이 브라우저에만 저장된다”는 설명을 넣었다.
이전 글: 카톡으로 자랑하고 싶게! 웹앱 공유 버튼 만드는 법
다음 글: LocalStorage, 브라우저 속 작은 공책? 컴맹도 이해한 저장의 원리



















