Skip to content

fix: 슬라이드 주석 번호·talk.html 페르소나 이름 정합성 수정 - #12

Open
ywkim wants to merge 9 commits into
mainfrom
claude/pr-1-summary-review-x47z2r
Open

fix: 슬라이드 주석 번호·talk.html 페르소나 이름 정합성 수정#12
ywkim wants to merge 9 commits into
mainfrom
claude/pr-1-summary-review-x47z2r

Conversation

@ywkim

@ywkim ywkim commented Jul 21, 2026

Copy link
Copy Markdown

배경

main 브랜치의 렌더 정합성을 점검하는 과정에서 두 가지를 발견해 수정했습니다.

변경 내용

  1. index.html/talk.html<!-- SLIDE N: ... --> 개발용 주석 번호 정리

    • 실제 화면에 표시되는 slide-num(1~21)은 처음부터 정확했지만, 편집자용 주석은 6번째 슬라이드부터 밀리기 시작해 번호 중복("SLIDE 6"이 두 곳)·번호 누락(3곳)이 있었습니다.
    • 전부 실제 위치(1~21)에 맞춰 재정렬했습니다. 화면 렌더링에는 영향 없는 주석 전용 수정이라 시각적 변경은 없습니다.
  2. talk.html 13번 슬라이드 제목 — 페르소나 이름 누락 수정

    • index.htmltalk.html의 다른 슬라이드(6, 9, 12)는 모두 페르소나 "김하늘"을 이름으로 지칭하는데, talk.html 13번만 "작게 만들고, 사용자의 눈으로"로 이름이 빠져 있었습니다.
    • "작게 만들고, 김하늘의 눈으로"로 수정해 index.html 및 나머지 슬라이드와 통일했습니다.

참고

  • index.pdf/talk.pdf는 이번 커밋에서 재렌더링하지 않았습니다. index.html은 주석만 바뀌어 PDF에 영향이 없지만, talk.html은 텍스트가 1곳 바뀌어 talk.pdf가 이 변경 전 상태로 남아 있습니다 — 다음 PDF 재생성 시 반영 부탁드립니다.
  • 스코프는 렌더 정합성 문제로 한정했고, 별도로 논의 중인 PLAN.md 부록 A 인용·PR docs: 페르소나 예시를 데모 대상과 맞춰 초등 5학년·홍수로 통일 #9 머지 충돌 등은 건드리지 않았습니다.

Generated by Claude Code

index.html/talk.html의 <!-- SLIDE N --> 개발용 주석이 실제 슬라이드
위치와 어긋나 있던 부분(중복 번호, 번호 누락, 밀림)을 실제 slide-num
표시(1~21)에 맞춰 재정렬. 화면 렌더링에는 영향 없는 주석 전용 수정.

talk.html 13번 슬라이드 제목의 "사용자의 눈으로"를 "김하늘의 눈으로"로
수정 — index.html 및 나머지 talk.html 슬라이드(6, 9, 12)에서 이미
쓰이는 페르소나 이름과 통일.
@ywkim
ywkim requested a review from Lee-Soyeon July 21, 2026 22:45
--ssl-version-max=tls1.2로 헤드리스 Chromium의 TLS 협상을 강제해
샌드박스 프록시와의 핸드셰이크 실패(TLS 1.3 RST) 문제를 우회, 웹폰트
로딩을 정상화한 뒤 두 PDF를 재렌더링. 페이지 수(21)·크기(960x540pt)는
기존과 동일.

ywkim commented Jul 21, 2026

Copy link
Copy Markdown
Author

추가 커밋으로 PR 본문의 "PDF 미반영" 각주를 해결했습니다.

샌드박스 헤드리스 Chromium이 폰트 CDN(jsdelivr)과의 TLS 핸드셰이크에서 계속 실패하던 원인이 프록시의 TLS 1.3 협상 문제였고, --ssl-version-max=tls1.2로 강제하면 정상 로딩된다는 걸 확인했습니다(핸드셰이크 실패 31건 → 0건). 이 플래그로 index.pdf·talk.pdf를 재렌더링해 talk.html의 페르소나 이름 수정을 반영했습니다. 페이지 수(21)·페이지 크기(960×540pt)는 기존과 동일합니다.


Generated by Claude Code

이전 커밋(2404db8)에서 TLS 핸드셰이크 문제만 해결하고 print-to-pdf가
웹폰트 로딩 완료 전에 페이지를 캡처하는 문제를 놓쳐, 실제로는
Pretendard가 아니라 시스템 폴백 폰트(WenQuanYiZenHei·LiberationSans)로
렌더링된 PDF가 커밋됐었음(embedded font 직접 검사로 확인).

--virtual-time-budget=15000 --run-all-compositor-stages-before-draw
추가로 폰트 로딩을 기다린 뒤 재출력. 두 PDF 모두 실제 사용된 weight
(index: 400·600·700·800·900, talk: 500·600·700·800·900)에 해당하는
Pretendard 서브셋이 정확히 임베드된 것을 확인.

ywkim commented Jul 21, 2026

Copy link
Copy Markdown
Author

정정합니다 — 방금 전 커밋(2404db8)의 PDF는 실제로는 Pretendard가 아니라 시스템 폴백 폰트(한글: WenQuanYiZenHei, 영문: LiberationSans)로 렌더링돼 있었습니다. 임베드 폰트를 직접 확인(/BaseFont)하기 전엔 "핸드셰이크 실패 0건"만 보고 폰트가 정상 로딩됐다고 잘못 판단했습니다. 원인은 headless Chromium이 --print-to-pdf 실행 시 웹폰트(@font-face) 다운로드가 끝나기 전에 페이지를 캡처해버리는 것이었고, 실제 파일 요청 자체(TLS)는 문제 없었습니다.

--virtual-time-budget=15000으로 폰트 로딩을 기다리게 한 뒤 재출력해 방금 추가 커밋(7bf9750)했습니다. 이번엔 임베드 폰트를 직접 검사해 실제 사용 weight와 일치하는 걸 확인했습니다:

  • index.pdf: Pretendard-Regular(400)·SemiBold(600)·Bold(700)·ExtraBold(800)·Black(900)
  • talk.pdf: Pretendard-Medium(500)·SemiBold(600)·Bold(700)·ExtraBold(800)·Black(900) — Regular(400) 미포함은 talk.html 텍스트가 전부 명시적 weight(500 이상)를 쓰고 있어 정상입니다.

페이지 수(21)·이미지 수(2)도 기존과 동일하게 유지됩니다.


Generated by Claude Code

샌드박스 프록시 환경에서 headless Chromium이 TLS 1.3으로 협상하면
핸드셰이크가 끊겨(net::ERR_CONNECTION_RESET) 웹폰트 CDN 로딩이 조용히
실패하는 문제와, --print-to-pdf가 폰트 로딩 완료 전에 캡처해버리는
문제를 각각 우회하는 플래그·검증 방법을 기록.
@ywkim
ywkim marked this pull request as ready for review July 21, 2026 23:14

ywkim commented Jul 21, 2026

Copy link
Copy Markdown
Author

@Lee-Soyeon 리뷰 요청드립니다.

변경 요약

  • index.html/talk.html 개발용 <!-- SLIDE N --> 주석 번호를 실제 슬라이드 위치(1~21)에 맞게 정리 (렌더링에는 영향 없음)
  • talk.html 13번 슬라이드 제목에서 빠져 있던 페르소나 이름 보완 — "사용자의 눈으로" → "김하늘의 눈으로" (다른 슬라이드·index.html과 통일)
  • index.pdf/talk.pdf 재렌더링 — 위 텍스트 변경 반영 + Pretendard 폰트가 실제로 임베드됐는지 확인 완료
  • README에 PDF 재생성 절차·환경 이슈(TLS 핸드셰이크·폰트 로딩 타이밍) 문서화

Draft 해제하고 리뷰 요청 드렸습니다. 확인 부탁드립니다.


Generated by Claude Code

슬라이드 2(강사 소개)에 링크가 없다는 리뷰 지적(PR #7 코멘트) 반영.
김영욱 강사 본인 확인 URL(linkedin.com/in/youngwook-kim)을 index.html
카드와 talk.html 펀치라인에 추가하고 PDF 재생성.
claude and others added 3 commits July 21, 2026 23:40
텍스트 링크만으로는 발표 화면에서 청중이 직접 타이핑해야 해서,
스캔 가능한 QR 코드를 슬라이드 2에 추가(base64 인라인 PNG, 로컬 생성).
index.html은 텍스트 링크 아래에, talk.html은 우상단에 배치. PDF 재생성.
직전 커밋(4ff6566)에서 QR PNG를 수동으로 옮겨 적는 과정에서 1바이트가
손상돼 브라우저에서 깨진 이미지로 표시되는 상태였음(PIL로 직접 디코드해
확인). 스크립트로 원본 PNG의 base64를 그대로 치환하고, pyzbar로
실제 스캔 가능한지까지 재검증한 뒤 반영. PDF 재생성.
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.

3 participants