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

오늘 한 일

  • BuildingHub

    • 회의실 관리를 하는 실제 빌딩 사이트를 보고, 개선안을 보여줄 데모를 새로 시작함
    • 현장에서 겪는 불편 다섯 가지를 받아 그대로 기능 목록으로 삼음 — 시간대별 예약 불가, 관리자가 예약 수정 불가, 예약 현황이 안 보임, 문구 수정이 업체 경유, 이미지·로고도 업체 경유
    • 브랜드를 가상의 로그스톤 빌딩으로 치환해 저작권·상표 문제를 없앰
    • 공개 사이트 여섯 개 섹션과 관리자 콘솔을 하루에 세움
    • 회의실 다섯 곳을 30분 단위로 예약하게 만들고, 같은 시간대 중복은 DB가 막게 함
    • 관리자가 예약을 취소 없이 그 자리에서 옮기고 고칠 수 있게 함
    • 문구·사진을 관리자가 직접 고치고 저장 → 미리보기 → 배포 세 단계로 내보내게 함
    • 홈 캐러셀·갤러리·회의실 사진·입주사 로고를 붙이고, 사진은 저작권 없는 CC0로만 골라 씀
    • 처음 보는 사람 눈으로 전체를 다시 훑어 허술한 곳을 찾아 고침 — 지도 없음, 임대 페이지가 전화번호뿐, 클리닉이 표 세 줄, 히어로가 전부 같은 화면
    • 링크를 메신저에 붙였을 때 뜨는 공유 카드를 만듦
  • ScorePlayer

    • 4K 투명 영상 추출이 실제로 되는지 재는 실험을 돌림 — 악보 없이 사각형만 그려 ffmpeg로 넘기고 속도·용량 측정
    • 알파를 담을 수 있는 코덱 여섯 가지를 뽑아 Vegas에서 직접 열어 보고 무엇이 들어가는지 확인
    • 추출 코덱을 ProRes 4444로 확정하고, 인코더 옵션을 조절해 4배 빠르게 만듦
    • 확대 비교와 수치로 화질·투명도가 유지되는지 검증
    • 측정 환경·수치·근거를 작업 문서에 기록
  • 여둘까 Office Layout

    • 가구·주석 선 굵기를 도면 크기에 맞추고 설정에서 배수로 조절하게 함
    • 저장 결과를 상태줄에 표시(저장 중·저장됨·취소·내려받기), 오류도 화면에 뜨게 함
    • 새로 연 창에서 좌드래그가 범위 선택 대신 화면 이동이던 것 수정
    • 브라우저를 자동으로 띄워 전 기능 47가지를 점검하고, 거기서 나온 버그 1건 수정

어려웠던 점

  • BuildingHub

    • 원본을 그대로 베끼면 저작권 문제가 되는데, 너무 다르게 만들면 개선안으로 안 보인다. 어디까지 같고 어디부터 달라야 하는지 정하는 게 먼저였다
    • 가상 건물이라 세상에 사진이 없다. 무료 이미지 사이트는 막히거나 키를 요구했고, 쓸 만한 사진을 고르는 데도 시간이 걸렸다
    • 다 만들고 화면을 열었더니 아무것도 안 떴다. 자동 검사는 전부 통과였는데도 그랬다
    • 스크린샷으로는 멀쩡해 보이는데 실제로는 눌리지 않거나, 카드가 세로로 쌓인 걸 “그렇게 디자인했나” 하고 넘길 뻔했다
  • ScorePlayer

    • 속도와 용량이 제일 좋았던 코덱을 정작 Vegas가 못 읽었다. 표만 보고 정했으면 못 쓰는 형식으로 다 만들 뻔했다
    • 영상 파일이 편집 프로그램에 안 떨어질 때 코덱 탓인지 다른 탓인지 화면만 봐서는 알 수가 없었다
  • 여둘까 Office Layout

    • 저장이 되는지 안 되는지 알 수가 없었다. 눌러도 아무 표시가 없어 매번 새로고침해야 확인이 됐다
    • 좌드래그가 어떤 때는 선택이고 어떤 때는 화면 이동이라 재현 조건을 짚기 어려웠다

배운 점

  • BuildingHub TIL 1로 정리

    • 통과했다는 검사가 아무것도 보증하지 않을 때가 있다 — 서버만 보는 점검은 화면이 죽은 걸 못 잡는다
    • 화면은 진짜 브라우저로 열어 봐야 안다. 이미 깔린 크롬을 그대로 몰면 설치 부담이 거의 없다
    • 보이는 것과 눌리는 것은 다르다. 좌표에 실제로 무엇이 있는지 재야 확인된다
    • 스크린샷으로는 레이아웃이 깨진 걸 의도한 디자인으로 착각한다 — 폭과 칸 수를 숫자로 박아 둔다
    • 겹치는 예약은 조회하고 넣는 방식으로는 언젠가 샌다. 데이터베이스가 거절하게 만든다
    • 관련된 쓰기는 한 덩어리로 묶어 실패하면 전부 되돌린다 — 옮기다 사라지는 일이 구조적으로 없어진다
    • 시각은 문자열이 아니라 숫자로 저장한다
    • 저장과 발행을 나누면 직접 고치면서도 실수가 바로 라이브로 나가지 않는다
    • 쓸 글자를 미리 셀 수 없을 때 폰트는 범위로 자른다
    • 파일 이름을 내용으로 지으면 캐시를 영구로 걸어도 옛 그림이 안 남는다
    • 기본 자료를 코드에 붙여 두면 설정 없이도 데모가 완전히 돈다
    • 두 번 돌리면 실패하는 검사는 미완성이다
    • 걸러 낸 출력이 비어 있는 것은 통과가 아니다
  • ScorePlayer TIL 2로 정리

    • 될지 모르는 것은 버릴 코드로 먼저 재고, 그 답으로 큰 결정을 산다
    • 실패의 원인을 가르려면 확실히 성공하는 것을 옆에 하나 둔다
    • 측정용 데이터는 실제와 닮아야 하고, 편향이 의심되면 그 자리에서 다시 잰다
    • 화질 같은 건 지표와 눈으로 둘 다 본다 — 평균은 가장자리를 숨긴다
    • 앞 프로젝트의 결론은 그 프로젝트의 데이터에 붙어 있다. 성격이 다르면 다시 재야 한다
  • 여둘까 Office Layout TIL 10으로 정리

    • 결과를 안 보여주면 성공도 실패처럼 보인다 — 조용히 성공하는 경로일수록 표시가 필요하다
    • 오류는 콘솔이 아니라 화면에 띄운다. 도구를 쓰는 사람이 개발자 도구를 열 이유는 없다
    • 초기 상태를 두 곳에서 정하면 “새로 열었을 때만” 다른 버그가 난다
    • 입력칸은 언제 모델에 들어가는지를 정하고, 표시를 갈아엎기 전에 먼저 확정한다
    • 크롬은 디버깅 포트만 열면 설치 없이 자동 조작할 수 있다(노드 내장 WebSocket으로 충분)
    • 자동 검사 전에 캐시를 꺼야 한다 — 안 그러면 고친 파일이 아니라 옛 파일을 검사한다
    • 드래그와 파일 선택은 페이지 안에서 만들어 넣으면 고르는 창만 건너뛰고 같은 경로를 탄다
    • 내려받기를 폴더로 받으면 저장·불러오기 왕복까지 검사된다
    • 헤드리스가 못 하는 기능은 그 기능이 없는 브라우저인 척해서 다른 경로를 검사한다

해야 할 일

  • BuildingHub

    • 관리자 화면 다듬기 — 대시보드에서 승인 대기를 바로 처리하는 동선, 사유 입력을 브라우저 기본 팝업에서 떼기, 예약 검색·상태 필터 붙이기
    • 모바일에서 관리자가 실제로 쓸 만한지 점검
    • 회의실 좌석 배치도
    • 예약 승인·반려 안내 메일 발송
  • ScorePlayer

    • 진짜 악보를 그려 보는 실험 — 한글 가사가 제대로 나오는지, 4K에서 얼마나 걸리는지
    • 그 결과로 네이티브 스택 확정
    • 긴 곡을 위해 구간만 뽑는 기능과 해상도 선택을 기획에 넣기
  • 여둘까 Office Layout

    • 실제 크롬의 파일 선택창 저장은 자동 검사로 덮이지 않으므로 사람이 확인

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 오늘 해낸 것