Files
document-haness/docs/TechLog/tech-log-studio/an-axis-inside-a-topic/case/case-the-comparison-band-changed-three-times.md
T
DongHyeonkaandClaude Opus 5 6917ce2420 docs(TechLog): 남은 주제를 다시 쓰고 SSOT 를 저장소 실물로 더 보강한다
주제 11~13 을 다시 쓰고, Case 가 얇은 것들을 저장소에서 실물을 확인해 채웠다.

  §13.4  ManagementClientSafeMessages — 삭제 관련 코드 여섯의 고정 문구와
         원문 메시지를 내보내지 않는 이유(javadoc)
  §16.1  다섯 참조가 전부 DOCUMENT_IN_USE 하나로 나가고, SSOT 가 인용한 영어 문장은
         DeleteDocumentDraftUseCase 안에 남는 진단 메시지라 밖으로 나가지 않는다
  §13.6  romanizeSyllable 실물과 음운 변동을 뺀 이유, 문서 slug 와 같은 정규식을 쓰는 이유
  §15.4  check:types 가 도는 tsconfig 여섯 — app·node·test·recipes·web-worker·service-worker

SSOT 62,643 → 67,526 자. 인용한 코드는 전부 저장소에서 찾아 대조했다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 19:12:37 +09:00

5.9 KiB

kind, slug, title, topic, topicName, project, status, lastVerifiedOn, assets, evidence, sourceRevision, source
kind slug title topic topicName project status lastVerifiedOn assets evidence sourceRevision source
CASE the-comparison-band-changed-three-times 홈의 비교 구역이 세 번 바뀌었다 — 상한을 없애고 요청을 목록 하나와 주제 하나로 고정했다 an-axis-inside-a-topic 주제 안의 축 TechLog 게시 전 2026-09-04
key file
home-tabs-keycloak ../../../final/evidence/browser/home-tabs-keycloak.png
key file
home-topic-tabs-2 ../../../final/evidence/browser/home-topic-tabs-2.png
key file
home-tabs-grouped ../../../final/evidence/browser/home-tabs-grouped.png
../../../final/evidence/browser/home-tabs-keycloak.png
../../../final/evidence/browser/home-topic-tabs.png
../../../final/evidence/browser/home-topic-tabs-2.png
../../../final/evidence/browser/home-tabs-grouped.png
../../../final/evidence/browser/tab-metrics.txt
tech-log@2026-09-02
final/document.md#§14.2

홈의 비교 구역이 세 번 바뀌었다 — 상한을 없애고 요청을 목록 하나와 주제 하나로 고정했다

홈의 비교 구역을 세 번 바꿨다. 처음에는 주제 하나만 펼치고 아래에 다른 주제로 가는 줄을 뒀고, 다음에는 주제 이름을 탭으로 세웠고, 마지막에 탭을 칩 크기로 낮추고 개수 상한을 없앴다. 상한을 없앨 때 요청 구조를 바꿔 주제가 몇 개가 되든 첫 요청이 고정되게 했다.

관계

  • 축은 주제가 이름을 정하고, 기록은 종류와 아이디의 쌍으로 축에 걸린다 이 화면이 그리는 구조다.
  • 축의 결론 문장과 기록 수는 기록을 붙여도 따라오지 않는다 이 화면에서 자동으로 안 따라오는 것이 그 질문에 있다.
  • 한 칸의 실패가 옆 칸을 끌고 내려갔다 탭 하나를 못 받아도 나머지가 남게 한 판단이 그 기록에 있다.

문제

홈이 「무엇을 만들었나」로 시작하고 있었다. 30초 안에 알아야 할 것은 무엇을 견줬는가다.

결론

세 단계를 거쳤다.

단계 무엇 왜 바꿨나
1 주제 하나만 펼치고 아래 「다른 주제 N개 보기」 한 줄 홈이 「무엇을 만들었나」로 시작했다
2 제목 자리를 주제 이름 탭이 대신 (30px/650) 「다른 주제」 줄은 목록을 다 읽고 나서야 만나는 곳이라 대개 지나쳤다
3 탭을 칩 크기로 낮추고 개수 상한 제거 주제가 열 개, 스무 개가 되면 이름만으로 화면이 덮인다

3단계에서 요청 구조를 바꿨다. 탭은 목록 호출 하나가 주는 전부이고, 상세는 고른 탭만 그때 받아 캐시한다. 그래서 주제가 몇 개가 되든 홈이 처음 보내는 요청은 목록 하나와 주제 하나로 고정된다.

검증 환경

tech-log-frontend : 604ded5 → de4cb8b → 3bb724b · 2b2f443 확인 방식 : 배포본에서 단계마다 화면을 찍고 getComputedStyle 로 실측

재현 조건

  1. 홈을 열고 개발자도구 네트워크에서 처음 나가는 요청 수를 센다
  2. 탭을 하나 고르고 추가로 나가는 요청을 본다
  3. 같은 탭을 다시 고른다 — 캐시되어 요청이 나가지 않는다

본문

세 단계

1단계는 주제 하나만 펼치고 아래에 「다른 주제 N개 보기」 한 줄을 뒀다. 홈이 「무엇을 만들었나」로 시작하고 있었는데, 30초 안에 알아야 할 것은 무엇을 견줬는가였다.

그 줄은 목록을 다 읽고 나서야 만나는 곳이라 대개 지나쳤다. JPA 주제는 홈에 있으면서도 없는 것과 같았다.

2단계에서 제목 자리를 주제 이름 탭이 대신하게 했다. 30px 에 굵기 650 으로 세웠고, 고른 탭에 파란 밑줄을 뒀다.

3단계에서 탭을 칩 크기로 낮추고 개수 상한을 없앴다. 주제가 열 개, 스무 개가 되면 이름만으로 화면이 덮이기 때문이다.

:::evidence key="home-tabs-keycloak" alt="탭을 구역 제목 급으로 세운 2단계 화면" caption=" " zoom="true" :::

상한이 왜 있었나

상한은 주제마다 상세를 미리 받느라 둔 것이었다. 상세를 다 받으려면 요청이 주제 수만큼 늘어나므로 그 수를 제한해야 했다.

그러면 상한 밖의 주제가 다시 밀려난다. 1단계에서 「다른 주제」 줄에 밀려나던 것과 같은 결과가 된다.

요청 구조를 바꿨다

탭 줄은 목록 호출 하나가 주는 전부다. 상세는 고른 탭만 그때 받아 캐시한다.

그래서 주제가 몇 개가 되든 홈이 처음 보내는 요청은 목록 하나와 주제 하나로 고정된다. 상한을 없앨 수 있었던 이유가 이것이고, 상한을 먼저 없애고 요청을 그대로 뒀다면 주제가 늘수록 홈이 느려졌을 것이다.

시각 언어를 두 번 고쳤다

고른 탭의 파란 밑줄을 없앴다. 주제가 스무 개면 밑줄 설 곳 스무 개가 함께 늘어선다.

칩으로 낮추니 목록 위에 글자만 떠 있는 것처럼 보였다. 고른 것이 색으로만 달라 누를 수 있는 것으로 읽히지 않았고, 탭 줄과 목록 사이가 선 없이 30px 비어 두 덩어리로 갈렸다.

:::evidence key="home-topic-tabs-2" alt="칩으로 낮춘 직후의 비교 구역 확대" caption=" " zoom="true" :::

고른 탭에 알약 형태를 주고, 묶음의 윗선을 목록이 아니라 패널이 갖게 해서 탭 줄이 그 선에 바로 얹히게 했다.

:::evidence key="home-tabs-grouped" alt="고른 탭에 형태를 주고 탭 줄을 패널 윗선에 얹은 최종 화면" caption=" " zoom="true" :::

확인하지 못한 것

주제가 스무 개일 때의 화면은 만들어 보지 않았다. 상한을 없앤 근거는 요청 구조이지 그 규모의 측정이 아니다.

「지금 집중하는 것」 탭에는 파란 밑줄이 그대로 있다. 주제 탭은 알약이라 한 화면 안에서 두 언어가 섞여 있다.