이 글은 Daily Log 시리즈의 145번째 기록입니다. (총 155개)

오늘 한 일

  • 모래게임 Sandrop
    • v1.3.0 준비 — 별점 요청, 클라우드 저장 안내 시점 조정
    • 게임 화면 버벅임을 재서 고침 (한 프레임 30.5 → 20.6ms)
    • 다시하기가 계측에서 빠지던 문제 수정
  • ScorePlayer
    • 새 프로젝트 폴더에 작업 규칙(CLAUDE.md)을 만들고 저장소를 열어 리모트에 연결
    • 기획 문서(README)의 사실과 다른 부분을 정정 — KeyBloom의 4K 알파 추출을 “그대로 가져오면 된다”고 적혀 있었는데 그쪽도 아직 못 하는 일이었다
    • 입력 포맷을 MusicXML 하나로 좁히고 MIDI는 뒤로 미룸
    • 가사 기능을 넣기로 하고, 악보에 가사가 없을 때 직접 넣는 방식을 붙여넣기 + 보정으로 확정
    • 피아노 대보표 2단, 재생 소리, 볼이 음표를 짚을지 가사를 짚을지 고르는 설정을 기획에 반영
  • 오픈데이 Openday
    • 반복의 끝을 「계속 / 기간」으로 바꾸고, 기간이면 시작일도 고르게 했다. 시작일이 「몇 번에 한 번」을 세는 기준점이라 안 보이면 설명이 안 됐다
    • 지나간 날 기록을 고칠 수 있게 했다. 기록실에서 날짜를 누르면 그날 보드가 방 하나로 열린다
    • 자정을 넘겨 어제 기록에 잘못 들어간 도장을 이제 되돌릴 수 있다
    • 방 옮기는 방식을 밀어내기에서 굴리기로 바꿨다. 방 개수를 CSS에 하나씩 적어 두던 걸 걷어냈다
    • 탭과 거리 끄트머리가 방 개수를 따로 세던 것도 목록 하나를 보게 합쳤다
    • 오늘 만든 것을 세 번 나눠 배포했다
  • LOGSTONE Shop
    • 모래게임 1.3.0을 업데이트 내역에 실음 — 스토어 노트가 “버그 수정 및 성능 개선” 한 줄이라, 페이지에는 무엇이 좋아졌는지 알 수 있게 한 줄로 풀어서 씀
    • 인앱 리뷰 기능에 방침 조항이 필요한지 판단해 회신 — 스토어가 별점을 받고 앱은 결과조차 못 받으니 우리가 적을 값이 없다

어려웠던 점

  • 모래게임 Sandrop
    • 프레임을 재는 도구가 이 앱을 못 보고 있어서 앞서 잰 숫자를 전부 버렸다
    • 프레임 수를 줄이는 방향으로 갔다가 오히려 더 끊겨서 되돌렸다
    • 어려움 판과 보통 판을 비교해 놓고 결론을 낼 뻔했다
  • ScorePlayer
    • MusicXML이 “MIDI에 가사 붙은 것”인 줄 알았는데 아니었다. 둘이 담는 정보가 아예 달라서 무엇을 먼저 쓸지 다시 판단해야 했다
    • 예전 프로젝트에서 넘어온다고 적어 둔 것이 실제로는 없는 물건이었다. 문서를 믿고 갔으면 착수하고 나서야 알았을 것이다
  • 오픈데이 Openday
    • 지난 날 기록을 고칠 수 있게 할지가 어제부터 걸려 있던 고민이었다. 열면 달력 칸 색이 사후에 바뀌는데, 그걸 받아들일지가 진짜 결정이었다
    • 범위를 며칠로 자를까 하다 그만뒀다. 자르는 선에 근거가 없고 그 바깥에서 막히면 답답하기만 하다
    • 결국 「자기 일지지 감사 기록이 아니다」로 정리했다. 스스로를 속이는 건 앱이 막을 문제가 아니다
    • 마감을 반복 안으로 합칠 때처럼, 방 하나를 더 붙였더니 하드코딩이 세 군데에서 한꺼번에 드러났다. 늘려 보기 전에는 안 보이는 것들이었다
  • LOGSTONE Shop
    • “스토어와 페이지 문구를 맞춘다”를 어디까지로 볼지 애매했다. 토씨가 아니라 같은 사실을 말한다는 뜻으로 정리했다
    • 조항 필요 여부를 “우리 서버로 가는 게 없다”로 판단하려 했는데, 서버 자체가 없으니 그 문장은 늘 참이라 기준이 못 된다

배운 점

  • 모래게임 Sandrop TIL 34로 정리
    • 도구가 무엇을 못 보는지 모르면 그 숫자로 판단하면 안 된다
    • 횟수를 줄이는 건 값을 옮기는 것이지 없애는 게 아니다
    • 조건이 다른 둘을 비교하면 숫자가 예뻐도 아무 말도 안 한다
    • 큰 값이 예상 밖에 있을 수 있다
  • ScorePlayer TIL 1로 정리
    • 나중에 바뀔 것을 미리 정해 두고 그 변화가 닿지 않을 자리를 만든다 — 형식은 어댑터 뒤로, 시간의 출처는 인자로, 늘어날 개수는 처음부터 배열로
    • 특수 케이스를 일반 케이스의 부분집합으로 만드는 쪽이 언제나 싸다
    • 지금 이득이 없는 경계도 둔다. 이득은 두 번째 것이 들어올 때 나오고, 그때는 이미 늦어서 못 만든다
  • 오픈데이 Openday TIL 5로 정리
    • 닫는 조건은 「무언가 바뀌었다」가 아니라 「지금 둘이 안 맞는다」로 쓴다 — 변화를 세면 자기가 낸 변화에도 걸린다
    • 같은 것을 두 곳에서 세면 만들 때는 맞고 하나가 늘 때 어긋난다
    • 눌리는데 아무 일도 안 나면 아예 안 눌리는 편이 낫다. 「그러기로 했나」가 아니라 「지금 있나」를 기준으로 보여준다
    • 그 값을 모르면 화면의 결과를 설명할 수 없는 값은 화면에 있어야 한다
    • 기능에 붙인 이름이 무엇을 보여줄지까지 정해 버린다 — 「끝을 정하기」를 「기간」으로 바꾸니 빠져 있던 값이 보였다
    • 설정 없이 돌린 도구는 「아무것도 안 정한 상태」가 아니라 「그 도구가 정한 상태」다
    • 설명 못 하는 선은 안전장치가 아니라 그냥 불편이다. 무엇을 막을지는 「누가 이걸 보나」부터 묻는다
    • 「지금 몇 개인가」에 맞춘 코드는 그 개수에서 완벽히 돌아 굳은 자리가 안 보인다. 늘려 보는 것이 설계 확인이다
  • LOGSTONE Shop
    • 스토어 출시 노트가 한 줄이어도 제품 페이지는 무엇이 좋아졌는지 알 수 있게 쓴다. 문구를 맞춘다는 건 토씨를 같게 두는 게 아니라 같은 사실을 말한다는 뜻이다
    • 새 기능에 방침 조항이 필요한지는 “그 기능이 우리에게 무엇을 돌려주는가”로 가른다. “우리 서버로 가는 게 없다”는 서버가 없으면 어떤 기능에도 참이라 기준이 못 된다

해야 할 일

  • 모래게임 Sandrop
    • v1.3.0 내부 테스트 올리고 승격
    • 남은 그리기 비용이 어디서 나는지 재기
    • 100탄씩 추가 배포 (다음 주)
  • ScorePlayer
    • 네이티브 스택 정하기 — 4K 알파 추출이 실제로 되는지 실험으로 확인한 뒤
    • 대보표 두 단 오선을 그려 스크롤 붙이기
  • 오픈데이 Openday
    • 쉬는 날 화면 — CLOSED 팻말과 잠옷 캐릭터
    • 이월 사슬을 날짜가 바뀐 뒤에 실제로 확인하기
    • 모바일 화면 재설계
    • 셔터를 내릴 때 넣을 그림
    • 사람들에게 열기 전 구글 확인 절차 — 소유한 도메인이 필요하다
    • 한국 공휴일 처리 방식 정하기
  • LOGSTONE Shop
    • KeyBloom 0.1.7 나오면 업데이트 내역에 이어붙이기
    • 중복 파일 찾기 앱 손질 후 등록 재검토

Series: Daily Log

1 오늘 해낸 것 2 오늘 해낸 것 3 오늘 해낸 것 4 오늘 해낸 것 5 오늘 해낸 것 6 오늘 해낸 것 7 오늘 해낸 것 8 오늘 해낸 것 9 오늘 해낸 것 10 오늘 해낸 것 11 오늘 해낸 것 12 오늘 해낸 것 13 오늘 해낸 것 14 오늘 해낸 것 15 오늘 해낸 것 16 오늘 해낸 것 17 오늘 해낸 것 18 오늘 해낸 것 19 오늘 해낸 것 20 오늘 해낸 것 21 오늘 해낸 것 22 오늘 해낸 것 23 오늘 해낸 것 24 오늘 해낸 것 25 오늘 해낸 것 26 오늘 해낸 것 27 오늘 해낸 것 28 오늘 해낸 것 29 오늘 해낸 것 30 오늘 해낸 것 31 오늘 해낸 것 32 오늘 해낸 것 33 오늘 해낸 것 34 오늘 해낸 것 35 오늘 해낸 것 36 오늘 해낸 것 37 오늘 해낸 것 38 오늘 해낸 것 39 오늘 해낸 것 40 오늘 해낸 것 41 오늘 해낸 것 42 오늘 해낸 것 43 오늘 해낸 것 44 오늘 해낸 것 45 오늘 해낸 것 46 오늘 해낸 것 47 오늘 해낸 것 48 오늘 해낸 것 49 오늘 해낸 것 50 오늘 해낸 것 51 오늘 해낸 것 52 오늘 해낸 것 53 오늘 해낸 것 54 오늘 해낸 것 55 오늘 해낸 것 56 오늘 해낸 것 57 오늘 해낸 것 58 오늘 해낸 것 59 오늘 해낸 것 60 오늘 해낸 것 61 오늘 해낸 것 62 오늘 해낸 것 63 오늘 해낸 것 64 오늘 해낸 것 65 오늘 해낸 것 66 오늘 해낸 것 67 오늘 해낸 것 68 오늘 해낸 것 69 오늘 해낸 것 70 오늘 해낸 것 71 오늘 해낸 것 72 오늘 해낸 것 73 오늘 해낸 것 74 오늘 해낸 것 75 오늘 해낸 것 76 오늘 해낸 것 77 오늘 해낸 것 78 오늘 해낸 것 79 오늘 해낸 것 80 오늘 해낸 것 81 오늘 해낸 것 82 오늘 해낸 것 83 오늘 해낸 것 84 오늘 해낸 것 85 오늘 해낸 것 86 오늘 해낸 것 87 오늘 해낸 것 88 오늘 해낸 것 89 오늘 해낸 것 90 오늘 해낸 것 91 오늘 해낸 것 92 오늘 해낸 것 93 오늘 해낸 것 94 오늘 해낸 것 95 오늘 해낸 것 96 오늘 해낸 것 97 오늘 해낸 것 98 오늘 해낸 것 99 오늘 해낸 것 100 오늘 해낸 것 101 오늘 해낸 것 102 오늘 해낸 것 103 오늘 해낸 것 104 오늘 해낸 것 105 오늘 해낸 것 106 오늘 해낸 것 107 오늘 해낸 것 108 오늘 해낸 것 109 오늘 해낸 것 110 오늘 해낸 것 111 오늘 해낸 것 112 오늘 해낸 것 113 오늘 해낸 것 114 오늘 해낸 것 115 오늘 해낸 것 116 오늘 해낸 것 117 오늘 해낸 것 118 오늘 해낸 것 119 오늘 해낸 것 120 오늘 해낸 것 121 오늘 해낸 것 122 오늘 해낸 것 123 오늘 해낸 것 124 오늘 해낸 것 125 오늘 해낸 것 126 오늘 해낸 것 127 오늘 해낸 것 128 오늘 해낸 것 129 오늘 해낸 것 130 오늘 해낸 것 131 오늘 해낸 것 132 오늘 해낸 것 133 오늘 해낸 것 134 오늘 해낸 것 135 오늘 해낸 것 136 오늘 해낸 것 137 오늘 해낸 것 138 오늘 해낸 것 139 오늘 해낸 것 140 오늘 해낸 것 141 오늘 해낸 것 142 오늘 해낸 것 143 오늘 해낸 것 144 오늘 해낸 것 145 오늘 해낸 것 읽는 중 146 오늘 해낸 것 147 오늘 해낸 것 148 오늘 해낸 것 149 오늘 해낸 것 150 오늘 해낸 것 151 오늘 해낸 것 152 오늘 해낸 것 153 오늘 해낸 것 154 오늘 해낸 것 155 오늘 해낸 것