오늘 해낸 것 (2026-08-30)
이 글은 Daily Log 시리즈의 148번째 기록입니다. (총 155개)
오늘 한 일
- BuildingHub
- 남아 있던 백로그 다섯 중 넷을 처리함
- 올린 사진을 브라우저에서 자동으로 줄이게 함 — 4000×3000 273KB짜리가 11KB로 들어감
- 관리자 조작 이력을 만듦. 누가 언제 승인·반려·배포했는지 남고, 묶음별로 걸러 볼 수 있음
- 회의실 다섯 곳의 좌석 배치도를 그림 — 극장식·강의식·ㄷ자·회의 테이블
- 사업자등록증 첨부를 붙임. 담당자이거나 본인 확인을 통과해야만 열림
- 남은 하나(예약 안내 메일)는 배포 전에는 끝낼 수 없어 미루기로 정함
- 모래게임 Sandrop
- 501~600탄에 쓸 도안 100종 선정
- 도안 검토용 페이지 제작 — 그림을 클릭하면 투명 PNG로 받아 고칠 수 있고, 고칠 것에 체크·메모가 남는다
- ScorePlayer
- 악보 기호를 전용 폰트(Bravura)로 바꿈 — 상업적으로 써도 되는 라이선스인지 먼저 확인
- 조표와 임시표가 반 칸 낮게 앉던 것을 잡음
- 마디선을 직전 음표와 첫 음표의 한가운데로 옮기고, 임시표 폭까지 감안하게 함
- 볼이 화면 한가운데서 튀도록 악보 배치를 다시 잡음
- 빔이 음표에서 멀어지던 것, 기둥이 머리 반대편에 붙던 것, 쉼표가 음표와 겹치던 것을 고침
- 오픈데이 Openday
- 날짜를
20270830처럼 이어서 칠 수 있게 했다. 하이픈이 알아서 들어간다 - 브라우저가 주는 날짜 칸은 연도 자리가 네 자리를 넘게 받아서 앞 여섯 자리를 연도로 삼켰다. 글자 칸으로 바꾸고 하이픈을 직접 넣게 했다
- 달력은 옆 버튼으로 남겼다. 치는 길과 고르는 길을 둘 다 둔다
- 앞자리를 고치면 뒷자리가 망가지던 것, 커서가 맨 뒤로 튀던 것, 달력이 이번 달에 서서 열리던 것을 고쳤다
- 오늘 만든 것을 배포했다
- 날짜를
- 블로그
- 블로그 repo를 Obsidian vault 밖(
Documents\VSCode\kimlog0415.github.io)으로 옮기고, vault엔_content만 junction으로 되비춰 검색이 코드에 안 묻히고 포스트만 잡히게 함 - 시점 규칙 둘을 CLAUDE.md에 넣고 전 세션에 공지 — 가족·개인 상황 일반화(이해관계 서술 금지), 코더 삽질·소요·실수 프레이밍 금지(함정·교훈으로)
- 게시된 오픈데이 글을 코더 삽질 프레이밍 기준으로 소급 수정
- 오픈데이 6·TIL 6, KeyBloom 커버곡 2편 게시
- permalink URL 오버라이드 구현 — frontmatter
permalink이 있으면 URL을 그 값으로 고정(파일경로와 분리), 없으면 경로 폴백이라 기존 URL 보존 - 기존 616편 permalink를 현재 경로로 동결(향후 파일 개명·재번호에도 URL이 안 흔들리게 대비)
- 전 URL을 랜덤 8자로 이관하는 작업을 백로그에 등록(리다이렉트 301 동반 필수 조건 명시)
- 블로그 repo를 Obsidian vault 밖(
- 여둘까 Office Layout
- 백로그 정리 — 동시 편집은 접고, 가구 프리셋보다 도형 프리셋이 필요하다는 쪽으로 방향 변경
- react-konva 이전은 하지 않기로 정하고 근거와 다시 검토할 신호를 문서에 남김
- 화면을 실제로 눌러 보는 자동 점검(40항목)을 저장소에 넣음 — 명령 하나로 돌아가고 설치가 필요 없음
- 2491줄 한 파일을 기능별 모듈 18개로 나눔(진입점 678줄, 가장 큰 모듈 248줄). 빌드는 여전히 없음
- LOGSTONE Shop
- 광고 SDK 도메인 지원 중단 안내를 받고 광고를 쓰는 네 곳을 전부 확인 — 모두 이미 새 도메인이라 고칠 것이 없었다
- 확인 결과를 요청함에 공지로 남김 — 없으면 각 담당이 자기 저장소를 다시 뒤지게 된다
- 출시 전 점검으로 적어 둔 항목이 출시 후에도 열려 있어 계속 올라오던 것을 종결
어려웠던 점
- BuildingHub
- 메일은 도메인 인증이 있어야 실제로 나가는데, 그 전에 만들면 “보냈다고 표시만 하는” 가짜가 된다. 없는 것보다 나쁘다고 판단해 미뤘다
- 좌석이 154개인 방은 점을 다 찍으면 배치를 알려주기보다 뭉갠다. 몇 개를 그릴지와 캡션을 어떻게 쓸지가 같이 걸린 문제였다
- 배치도의 글자 하나가 흰 바탕에 흰 글씨라 보이지 않았다. 화면으로는 그냥 빈 자리로 보인다
- ScorePlayer
- 화면을 봐도 무엇이 고쳐졌는지 알 수 없었다. 고쳤다는 설명만 있고 비교할 그림이 없었기 때문이다
- 볼을 화면 중앙에 두려니 아래 단이 화면 밖으로 나갔다. 둘 다 만족시키려면 악보를 줄여야 했다
- 오픈데이 Openday
- 브라우저가 주는 날짜 칸을 못 쓰게 되는 게 아깝긴 했다. 달력이 딸려 오고 검증도 알아서 해 주는데, 여덟 자리를 이어서 못 친다는 이유 하나로 직접 만들어야 했다
- 눌러볼 수가 없어서 같은 계산을 따로 돌려 아홉 경우를 확인했다. 맨 앞·가운데·맨 끝 입력, 백스페이스, 전체 선택, 빈 칸에 여덟 자리까지
- 달력을 열기 전에 칸을 비우는 처리는 다른 데서 그대로 가져오면 틀린다. 같은 코드인데 자리에 따라 반대였다
- 블로그
- 코드와
_content가 한 repo에 붙어 있어야 해서(Astro·Cloudflare 빌드 제약) 물리적으로 못 나누고, junction으로 뷰만 좁히는 길을 찾아야 했다 - 폴더가 잠겨(Obsidian·GitHub Desktop) 이동이 막혀 여는 것들을 다 닫고서야 옮겨졌다
- 옮긴 뒤 도구가 엉뚱한 root로 떠서 세션이 죽은 것처럼 보였다 — root를 그 repo로 잡아야 한다는 걸 이동 안내에 미리 안 적은 탓
- 코드와
- 여둘까 Office Layout
- 파일을 나누려니 값을 바꿀 수 없어 막혔다. 다른 파일에서 가져온 이름은 읽기 전용이라, 먼저 상태를 한곳에 모으는 작업이 필요했다
- 서로를 부르는 모듈들을 한 방향으로 펼지 그대로 둘지 정해야 했다. 장치를 새로 만드는 대신 그대로 두고 이유를 문서에 남기는 쪽으로 정했다
- LOGSTONE Shop
- 끝난 일이 목록에 계속 남아 있었다. 닫는 조건을 안 적어 두면 누가 언제 닫는지 아무도 모른다
배운 점
- BuildingHub TIL 3으로 정리
- 서버에서 못 하는 일은 브라우저에서 한다 — 큰 원본이 네트워크를 타지 않는 이점도 따라온다
- 이력 기록이 실패해도 본 작업은 통과시킨다. 기록 때문에 승인이 막히면 주객이 바뀐다
- 도면이 실제와 다르면 그 사실을 도면에 적는다
- 비공개 파일은 이름을 추측하기 어렵게 만드는 것으로 끝내지 않는다
- 시각을 저장하는 곳과 보여주는 곳의 기준이 다르면 아홉 시간이 어긋난다
- 검사끼리 같은 자원을 잡으면 엉뚱한 이유로 실패한다
- ScorePlayer TIL 4로 정리
- 기호마다 “어디를 기준으로 앉는지”가 정해져 있다. 규격을 따르는 폰트를 쓰면 눈대중 보정이 통째로 사라진다
- 같은 값을 두 곳에서 각각 정하면 언젠가 어긋난다
- 여럿을 아우르는 기준을 잡을 때 가장 튀는 하나에 맞추면 전체가 끌려간다
- 고쳤다는 말보다 전후 그림 한 장이 빠르다
- 오픈데이 Openday TIL 7로 정리
- 브라우저가 공짜로 주던 부품은 셋이 다 맞을 때만 버린다 — 못 고치는가, 자주 쓰는가, 잃는 것을 되찾을 수 있는가
- 못 되찾은 것을 무엇에 기대어 포기했는지까지 적어 둔다. 그 전제가 깨지는 날 여기부터 보게 된다
- 넘치는 입력은 자르기·거절하기·덮어쓰기 중 하나를 고르는 것이 설계다. 아무 말 없이 잘리게 두는 건 안 고른 것이다
- 조용한 손상은 오류보다 나쁘다. 결과가 그럴듯한 모양을 유지하면 더 안 보인다
- 알아서 맞춰 주는 장치에는 조건이 붙어 있다. 조건을 모르면 조건 밖에서 난 일을 버그로 못 알아본다
- 코드를 가져올 때는 무엇을 하는지가 아니라 무엇을 막으려고 그렇게 돼 있는지를 본다. 같은 앱 안에서 옮길 때가 더 위험하다
- 둘 중 무엇이 나은지 묻기 전에 둘 다 두는 값이 얼마인지 본다. 싸면 고를 일이 아니다
- 블로그 TIL(Obsidian vault에서 코드만 빼기 — directory junction)로 정리
- junction은 복사가 아니라 진짜 폴더를 두 경로에서 접근하는 별칭 — 빌드가 붙여야 하는 걸 쪼개지 않고 보이는 범위만 좁힌다
- git 원격은 로컬 위치와 독립이라 로컬 이동은 Cloudflare 배포에 영향이 없다
- Obsidian Sync는 앱이 감지한 변경만 올린다 — 파일시스템에서 직접 고치면 데스크톱 앱이 읽어야 모바일까지 간다
- 여둘까 Office Layout TIL 11로 정리
- 가져온 이름에는 대입할 수 없다 — 재대입되는 값은 객체 속성으로 둔다
- 상태를 모으면 무엇이 진짜 공유되는지 드러난다(경계를 넘나드는 임시 상태 여섯 개를 그때 알았다)
- 순환 참조는 모듈을 읽어들이는 시점에 서로의 값을 안 쓰면 안전하다 — 허용했으면 이유를 문서에 남긴다
- 되부르는 곳 없는 조각부터 떼면 import가 단순해진다
- 이름만 보고 기계적으로 치환하면 문자열 안의 요소 id·객체 축약·전개 연산자·정규식에서 걸린다
- 넓게 훑는 수정은 안전망을 먼저 만들고 단계마다 돌린다 — 기능이 그대로라는 근거가 커밋마다 남는다
- LOGSTONE Shop
- 확인해서 끝난 일은 날짜와 함께 재확인 불필요라고 적어야 닫힌다. 닫는 조건이 없으면 출시 전 점검 같은 항목이 출시 뒤에도 목록에 남는다
- 같은 안내가 여러 곳에 갔을 땐 확인 결과를 한 번 적어 공유한다. 안 그러면 각 담당이 각자 자기 저장소를 다시 뒤진다
해야 할 일
- BuildingHub
- 예약 승인·반려 안내 메일 발송 (배포와 함께)
- 공개 배포 — 클라우드 자원이 필요해 승인 대기
- 모래게임 Sandrop
- 도안 검토 결과 반영하고 501~600탄 생성
- 발열 재측정
- ScorePlayer
- 재생 소리 붙이기
- 가사 직접 입력과 보정 화면
- 구간만 뽑는 기능
- 박자표 기호와 잇단음표 표시
- 오픈데이 Openday
- 모바일 화면 재설계
- 이월 사슬을 날짜가 바뀐 뒤에 실제로 확인하기
- 사람들에게 열기 전 구글 확인 절차 — 소유한 도메인이 필요하다
- 블로그
- GitHub 계정 이전(kimlog0415) + Cloudflare 재연결 검토 (별건 — 배포가 걸려 있어 조심)
- 데일리 08-20~29 검수·게시
- 검수 대기: 룸톤·로그스톤 샵·UE5·BuildingHub·ScorePlayer·콘티온·크레센도
- 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 | 오늘 해낸 것