콘티온 ContiOn TIL 8
“PPT를 얼마나 뽑았나”를 세고 싶었다. 그런데 세어 보니 그동안의 횟수가 아예 남아 있지 않았다.
세어 보니 지난 횟수가 없었다
로그인이나 곡 등록은 기록에서 기간별로 몇 번인지 뽑을 수 있었는데, PPT 내보내기만 한 번도 기록된 적이 없었다.
이유는 PPT를 만드는 자리에 있었다. 이 앱은 PPT를 서버가 아니라 브라우저에서 만들어 그 자리에서 내려받게 한다. 파일이 서버를 한 번도 거치지 않으니 서버는 누가 언제 몇 번 뽑았는지 알 방법이 없다. 로그인·곡 등록은 서버를 지나가니 저절로 기록에 남지만, 내보내기는 그 흐름 밖이었다. 그래서 지나간 횟수는 되살릴 수도 없다.
서버가 저절로 아는 일과 모르는 일이 있다. 브라우저 안에서 끝나는 동작은 따로 알려 주지 않는 한 기록에 없다. 나중에 세고 싶어질 동작이라면, 셀 수 있게 해 두는 건 그 기능을 만들 때 같이 정해야 한다. 지나간 것은 소급이 안 된다.
누른 걸 셀까, 받은 걸 셀까
앞으로 세려면 내보내기 버튼을 누르는 순간 서버에 한 줄 알려 기록을 남기게 하는 수밖에 없다. 그렇게 하기로 했다.
다만 이건 “내보내기 버튼을 눌렀다”는 기록이지 “파일이 실제로 잘 받아졌다”는 보장이 아니다. 다운로드가 끝까지 성공했는지는 브라우저 바깥 일이라 웹이 잡지 못한다. 알고 싶은 게 “내보내기를 몇 번 시도했나”였으니 이걸로 충분했다.
무엇을 셀지(시도냐 성공이냐)가 먼저 정해지면, 기록을 어디에 심을지는 따라 정해진다. 거꾸로 “일단 세 보자”로 시작하면 센 숫자가 무엇을 뜻하는지 나중에 설명할 수 없다.
💬 버튼만 옆 버튼보다 컸다
곡 메모 버튼(💬)을 옆의 삭제 버튼(✕)과 나란히 둔 화면을 보니 💬 쪽만 더 커 보였다. 같은 모양으로 만든 버튼인데도 그랬다. 이모지와 글자는 같은 글자 크기여도 차지하는 폭이 달라서, 버튼이 안에 든 내용만큼 늘어나면 이모지 쪽이 더 넓어진다.
그래서 두 버튼을 안에 무엇이 들었든 같은 정사각 크기로 고정하고 내용을 가운데에 놓았다. 크기를 내용이 아니라 상자가 정하게 하면, 이모지든 글자든 무엇을 넣어도 나란한 버튼이 똑같아진다.
요약
- 브라우저에서 바로 받는 다운로드는 서버 기록에 남지 않는다. 지나간 횟수는 되살릴 수 없으니, 셀 동작은 기능을 만들 때 셀 수 있게 해 둔다.
- 세기 전에 무엇을 셀지(시도냐 성공이냐)를 먼저 정한다. 그게 정해져야 기록을 어디에 심을지가 정해진다.
- 이모지와 글자는 폭이 다르다. 나란한 버튼은 크기를 내용이 아니라 상자가 정하게 한다.