Skip to content

메모 정리 후속: 576 압축, 죽은 링크 정리, 고아 파일 제거 - #19

Merged
cbcruk merged 5 commits into
mainfrom
claude/memo-cleanup-followup
Jul 28, 2026
Merged

메모 정리 후속: 576 압축, 죽은 링크 정리, 고아 파일 제거#19
cbcruk merged 5 commits into
mainfrom
claude/memo-cleanup-followup

Conversation

@cbcruk

@cbcruk cbcruk commented Jul 28, 2026

Copy link
Copy Markdown
Owner

#18 후속 작업. 앞의 두 커밋(576 압축, 압축 원칙 추가)은 #18 머지 시점(05:04) 이후에 푸시되어 그 PR에 포함되지 않았다.

1. 576 압축 — 압축의 반대 방향 실패

지금까지 정리한 21개와 성격이 반대였다. 남의 문장이 아니라 본인 문장인데 압축이 지나쳐 조밀했고, 같은 주장이 세 군데에 있었다 — 첫 단락, iframe의 title 속성, 곁가지.

핵심은 산문이 코드를 다시 말하고 있었다는 것. 첫 단락이 배열 → union → 함수 파생을 설명했는데 바로 아래 코드가 이미 그것이었고, 코드 주석도 같은 말을 했다. "통로는 함수 하나가 맡는다" 같은 표현은 짧지만 나중에 재구성이 필요한데 그 답이 코드에 있다.

시각화 iframe은 논리적 역할이 없어 제거했다(저자 판단). 컴포넌트 임포트가 없어졌으므로 .mdx.md.

산문 566자 → 476자. 코드·WARNING은 그대로.

CLAUDE.md 압축 절에 두 줄 추가:

  • 코드가 보여주는 것을 산문으로 다시 쓰지 않는다
  • 짧음과 즉답 가능성은 다르다 — 기준은 글자 수가 아니라 "6개월 뒤 바로 읽히는가"

lint:voice 한계에도 한 줄 붙였다 — 부풀린 문장은 잡지만 눌러 담은 문장은 못 잡는다(576은 두 린터 모두 조용했다). 이제 도구의 두 사각지대(저자 존댓말 / 과압축)가 문서에 다 있다.

2. 죽은 링크 9건 → 0건

lint:links가 찾은 9건을 GitHub API·npm 레지스트리로 하나씩 확인했다. 추측으로 바꾼 건 없다.

성격 메모 근거
이동 310 react-router v7에서 react-router-domreact-router로 합쳐짐
이동 552 vercel-labs/vgrokstyfle/vgrok (검색으로 확인, 200)
이동 63 image-optimizer가 TS로 전환 (app.jsapp.ts)
오검출 74 gist는 살아 있다 — 소유자 사용자명이 Vestrideglen-cheney로 변경
소멸 → 대체 232 signavio/react-mentions 저장소 소멸, npm 패키지는 생존(4.4.10)
소멸 → 삭제 58 ×2 blog.sindresorhus.com 도메인 소멸(ENOTFOUND). 정본인 Pure ESM gist가 이미 첫 링크로 있다
소멸 → 삭제 491 Effect-TS 저장소에 llms 경로가 아예 없다(트리 확인). QuoteLink 제거 → .mdx.md
삭제됨 → 제거 78 cbcruk/cse-events — 저자가 삭제한 저장소 (확인받음)

두 건이 특히 값이 있었다.

74는 링크가 죽은 게 아니었다. gists API로 확인하니 200이고, 소유자가 사용자명을 바꾼 것이었다. 404는 사실이지만 리소스는 살아 있었다 — 삭제했으면 자료를 잃었다.

63은 인용한 값까지 검증됐다. 메모가 "mozjpeg(75), pngquant([75, 85])"라고 적었는데 app.ts를 열어보니 mozjpeg quality 75(L38), pngquant 75(L48)/85(L52) — 그대로다. 줄 범위도 맞아 앵커를 #L33-L53으로 조정했다.

판정하지 않은 것

#560 (facebook/react#7942) — 첫 실행에서는 "확인 불가", 두 번째 실행에서 404, API는 403(레이트리밋). 유명한 공개 이슈가 404인 건 봇 차단 쪽이 그럴듯해서 손대지 않았다. 세 번째 실행에서 다시 "확인 불가"로 돌아갔다. 외부 상태 판정이 실행마다 흔들린다는 뜻이고, --strict를 빌드에 걸지 않은 판단의 근거가 된다.

3. 고아 파일 제거

576에서 AutoIframe을 걷어내면서 public/iframe/date-single-source.html(8.7KB)이 고아가 됐다. 저장소 전체에서 참조 0건을 확인하고 삭제했다. 나머지 iframe 16개는 전수 확인 결과 모두 참조된다.

확인

pnpm lint:memo    →  메모 542개 검사 — 오류 0, 경고 0
pnpm lint:voice   →  542개 중 0개에 남의 문장이 남아 있다
pnpm lint:links --release  →  죽은 링크 0개
pnpm build        →  통과

lint:links의 "확인 불가 447건"은 이 실행 환경의 프록시가 CONNECT를 막고 403을 돌려주기 때문이다. 도구는 그때 죽었다고 단정하지 않고 판정을 신뢰하지 말라고 알린다. 네트워크가 되는 로컬에서 돌리면 대부분 판정되고, archive 231개까지 포함하면 더 나올 수 있다.

남은 것

  • 로컬 전체 링크 검사 — 2022년산 메모 240개가 주 대상
  • draft 37개 — 작성 큐
  • #560 재확인 — 브라우저로 열면 즉시 판정된다

🤖 Generated with Claude Code

https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK


Generated by Claude Code

claude added 5 commits July 28, 2026 05:20
지금까지 정리한 21개와 반대 방향이었다. 남의 문장이 아니라 본인
문장인데 압축이 지나쳐 조밀했고, 같은 주장이 세 번 반복됐다.
린터 둘 다 조용했던 건 도구가 "남의 문장"만 잡기 때문이다.

- 첫 단락에서 배열→union→함수 파생 삭제 — 바로 아래 코드가 이미
  보여주고 코드 주석도 같은 말을 한다. "통로는 함수 하나가 맡는다"
  같은 표현은 6개월 뒤 재구성해야 하는데 답이 코드에 있다
- AutoIframe 제거 — title 속성이 논지("dayjs 키=값 vs i18n 키≠값")를
  세 번째로 반복하고 있었고, 시각화가 논리적 역할을 하지 않는다
- 곁가지의 "매핑 객체"는 첫 단락과 중복이라 제거
- 컴포넌트 임포트가 없어졌으므로 .mdx → .md

남긴 것: 왜 객체가 아닌가(키=값 대비), ddd 런타임 전제와
"타입은 런타임 전제를 못 잡는다", 일회성은 인라인 규율, 기각한 대안.

산문 566자 → 476자. 코드·WARNING 은 그대로.

public/iframe/date-single-source.html 은 이제 참조되지 않는다
(576 이 유일한 사용처였다).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK
지금까지의 압축 원칙은 "남의 문장"에 초점이 있어서 자기 반복을
다루지 않았다. 576 리뷰에서 반대 방향의 실패가 나왔다.

- 코드가 보여주는 것을 산문으로 다시 쓰지 않는다 — snippet 에서
  산문이 코드를 번역하고 있으면 잉여다
- 짧음과 즉답 가능성은 다르다 — 기준은 글자 수가 아니라
  "6개월 뒤 바로 읽히는가". 같은 주장이 산문·코드 주석·컴포넌트
  속성에 흩어져 반복되는 것도 이때 생긴다
- lint:voice 한계에 한 줄 추가: 부풀린 문장은 잡지만 눌러 담은
  문장은 못 잡는다 (576 은 두 린터 모두 조용했다)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK
576 에서 AutoIframe 을 걷어내면서 date-single-source.html 이
고아가 됐다. 저장소 전체에서 참조 0건을 확인하고 삭제한다.

나머지 iframe 16개는 모두 참조되고 있다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK
lint:links 가 찾은 9건을 GitHub API·npm 레지스트리로 하나씩 확인했다.
추측으로 바꾼 건 없다.

이동 (검증됨):
- 310  react-router v7 에서 react-router-dom 이 react-router 로 합쳐졌다
       packages/react-router-dom/__tests__/link-click-test.tsx
       → packages/react-router/__tests__/dom/link-click-test.tsx
- 552  vercel-labs/vgrok → styfle/vgrok (Vercel 직원 개인 저장소)
- 63   image-optimizer 가 TS 로 전환 (app.js → app.ts). 줄 범위도
       확인했는데 메모가 인용한 값이 그대로다 —
       mozjpeg quality 75(L38), pngquant 75(L48)/85(L52)

오검출이었던 것:
- 74   gist 는 살아 있다. 소유자 사용자명이 Vestride → glen-cheney 로
       바뀌어 옛 URL 만 404 였다 (gists API 로 확인)

사라진 것:
- 232  signavio/react-mentions 저장소가 없어졌다. npm 패키지는
       살아 있어(registry 4.4.10) npm 페이지로 교체
- 58   blog.sindresorhus.com 도메인 자체가 사라졌다(ENOTFOUND).
       정본인 Pure ESM gist 가 이미 첫 링크로 있어 두 항목 삭제
- 491  Effect-TS/website 에 llms 관련 파일이 아예 없다(트리 확인).
       QuoteLink 를 걷어내니 임포트도 없어져 .mdx → .md

남은 2건은 판정하지 않았다:
- 78   cbcruk/cse-events — 본인 저장소. 비인증 404 는 삭제와 비공개를
       구분하지 못한다
- 560  react/react#7942 — 웹은 404 인데 API 는 403(레이트리밋)이라
       확정 불가. 첫 실행에서는 "확인 불가" 로 분류됐다

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK
cbcruk/cse-events 는 저자가 삭제한 저장소다 (비인증 404 로는 삭제와
비공개를 구분할 수 없어 확인받았다).

남은 Google CSE API 문서 링크가 이 메모의 실제 참조점이다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qv2pQrCq9z1GaxxDu2vohK
@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@cbcruk
cbcruk merged commit bae7879 into main Jul 28, 2026
2 of 3 checks passed
@vercel

vercel Bot commented Jul 28, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cbcruk-github-io Ready Ready Preview, Comment Jul 28, 2026 6:30am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants