heg@bit: ~/build.log — bit — less build.log:260913

heg@bit ~ $ less +/260913 build.log

INFO 260913 앱 하나를 통째로 세운 주. 그리고 맥 앱 두 개가 정반대 방향으로 갔다

이번 주는 거의 bp에만 붙어 있었다. 피드, 기록, 복약, 설정, 리마인더, iOS 위젯까지 한 번에 세웠는데 정작 제일 오래 매달린 건 통계 카드 하나였다.

mockup을 세 번 다시 그렸다. 처음엔 이름이랑 헤더 아이콘, 그래프 후보 세 개를 늘어놓고 골랐고, 두 번째 판에서는 연속 기록을 칭찬하는 쪽으로 방향을 틀었고, 세 번째는 색만 따로 팠다 (바탕 네 종류 놓고 섹션 색이 마크에 어떻게 얹히는지). 코드는 한 줄도 안 쓰고 그림만 세 번 그린 셈이다. 예전 같으면 일단 붙여놓고 나중에 고쳤을 텐데, 통계 화면은 한 번 올라가면 다시 잘 안 건드리게 되는 것 같아서 이번엔 순서를 뒤집어봤다. 그래놓고 막상 구현하니 추이 차트 숫자끼리 겹쳐서 또 고쳤다. 그림대로 되는 법이 없다.

위젯은 두 번 만들었다. 처음엔 하루의 두 행동을 각각 정사각형 하나씩, 두 개로 냈다. 며칠 올려놓고 보니 같은 앱 위젯을 홈 화면에 두 개 나란히 두는 사람은 없다는 게 분명해졌다. 그래서 하나로 합쳐 두 행동을 나란히 담았다. 색이 위젯 가장자리까지 안 닿던 것도 그때 같이 고쳤다. 만들기 전엔 두 개가 맞아 보였는데, 실제로 홈 화면에 올려보고 나서야 하나가 맞다는 걸 알았다.

피드는 "끝난 건 가라앉는다"는 규칙 하나로 정리했다. 오늘 다 한 섹션은 아래로 내려가고, 하루를 마친 날엔 읽을거리가 맨 위로 올라와 자기 전체를 다 보여준다. 영상 카드에서 유튜브 앱으로 튕겨나가지 않게 막은 것도 같은 맥락이다. 한 번 나가면 안 돌아오니까.

firebase analytics랑 remote config도 붙였다. 뭘 어디까지 보낼지 경계를 먼저 적어두고 시작했는데, 이건 나중에 후회 안 하려는 쪽에 가깝다. riverpod 쪽은 watch하지 않는 autoDispose provider를 invalidate하는 자리마다 가드를 걸었다. 리뷰에서 나온 얘기고, 리뷰가 열어둔 질문 세 개도 이번에 닫았다.


맥 앱 두 개가 같은 주에 정반대로 갔다.

joypointer는 아예 처음부터 세웠다. 8bitdo 컨트롤러로 맥 포인터를 움직이는 앱인데, 랜딩이랑 lemon squeezy 체크아웃, sparkle appcast를 한꺼번에 올리고 1.0.0을 게시했다. 히어로는 결국 실사 컨트롤러 사진으로 갔다 (그리다 만 버전이 몇 개 있다). DNS까지 붙이고 나니 파는 앱이 하나 생겼다.

그리고 같은 주에 loupe에서는 lemon squeezy를 걷어냈다. 영어 전용으로 돌리고 mac app store 구매 링크로 갈아탔다. 한쪽은 직접 팔기로, 한쪽은 스토어로. 그럼 나는 지금 뭘 기준으로 고르고 있는 건가? loupe는 심사를 이미 통과해뒀으니 결제 경로를 두 갈래로 둘 이유가 없었고, joypointer는 sparkle 자동 업데이트를 붙이고 싶어서 밖에 뒀다. 그때그때는 맞는 판단을 했다고 생각하는데, 앱이 두어 개 더 늘어도 이 기준이 버틸지는 모르겠다.


hyper는 잔가지를 쳤다. 한국어 스타일 지침을 턴 경계에서 강제하게 만들었고, Stop hook 결정을 claude code가 실제로 읽는 자리로 옮겼다. 백그라운드로 돌아간 작업이 promise 가드를 빠져나가던 것도 잡았다. 거절된 답변이 고쳐쓴 버전이랑 같이 저장되던 버그가 제일 고약했는데, 안 좋다고 표시한 답이 그대로 남아 있으면 학습 재료가 오염된다.

그리고 heg-core에 회수 경로를 붙였다. 지난달에 여기다 "적재는 자동인데 회수는 수동"이라고 써놨었는데, 이번에 그래프 기반 검색을 넣고 기존 지식 496건에 그래프 메타데이터를 백필했다. 한 달 걸린 셈이다. 물론 넣었다고 잘 꺼내지는지는 또 다른 얘기고, 그건 한동안 써봐야 알 것 같다.

heg.wtf는 청소만 했다. 없어진 LocalMap 링크를 지우고, 앱스토어 스토어프론트를 고치고, 오픈소스 섹션 타일을 들어내고, 프로젝트 타일에 적힌 지원 플랫폼을 실제랑 맞췄다. loupe 타일도 추가했고. 링크 하나 깨져 있는 걸 몇 주 동안 모르고 두는 게 사실 제일 부끄럽다.

26.09.13 — 이번 주엔 하나는 진짜 게시했다. 1.0.0이라도.

1540 chars · 14 paragraphs · 5 tags