From d6b0e749a9e5ca26f05f14a0d5387fa3da095c5c Mon Sep 17 00:00:00 2001 From: hsol Date: Mon, 14 Sep 2026 17:57:56 +0900 Subject: [PATCH] =?UTF-8?q?fix(ax):=20=EC=BB=A4=EB=A6=AC=ED=81=98=EB=9F=BC?= =?UTF-8?q?=20=EB=8B=A4=EC=9A=B4=EB=A1=9C=EB=93=9C=20=EC=A3=BC=EC=86=8C?= =?UTF-8?q?=EC=97=90=20=ED=8C=90=EB=B3=B8=20=EC=BF=BC=EB=A6=AC=EB=A5=BC=20?= =?UTF-8?q?=EB=B6=99=EC=97=AC=20=EC=98=9B=20PDF=20=EB=B8=8C=EB=9D=BC?= =?UTF-8?q?=EC=9A=B0=EC=A0=80=20=EC=BA=90=EC=8B=9C=EB=A5=BC=20=EC=9A=B0?= =?UTF-8?q?=ED=9A=8C=ED=95=9C=EB=8B=A4=20(PRF-375)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 (1M context) --- app/subs/ax/components/sections/Hero.tsx | 2 +- docs/ax-landing-spec.md | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/subs/ax/components/sections/Hero.tsx b/app/subs/ax/components/sections/Hero.tsx index 75edbf4..f8e6905 100644 --- a/app/subs/ax/components/sections/Hero.tsx +++ b/app/subs/ax/components/sections/Hero.tsx @@ -75,7 +75,7 @@ export default function Hero() { 커리큘럼 다운로드 diff --git a/docs/ax-landing-spec.md b/docs/ax-landing-spec.md index 34c7ea6..8b825a0 100644 --- a/docs/ax-landing-spec.md +++ b/docs/ax-landing-spec.md @@ -1158,15 +1158,17 @@ linear-gradient(168deg, #101838 0%, #0A0F26 46%, #080C1A 100%) - **배포물: Vercel Blob의 `assets/ax/proofer-ax.pdf`.** 원고를 헤드리스 크롬 `--print-to-pdf`로 뽑아 올린 파일입니다. 레포에는 두지 않습니다(5장 결정 9). - **히어로 보조 버튼 `커리큘럼 다운로드`가 그 파일의 다운로드 주소를 가리킵니다.** 주소는 - `@vercel/blob`의 `getDownloadUrl()`이 만드는 `...?download=1` 형태이고, 구현은 - `app/subs/ax/components/sections/Hero.tsx`에 있습니다. 화면 규격은 2.1절에 있습니다. + `@vercel/blob`의 `getDownloadUrl()`이 만드는 `...?download=1`에 판본 쿼리 `&v=<발행일 YYYYMMDD>`를 + 붙인 형태이고, 구현은 `app/subs/ax/components/sections/Hero.tsx`에 있습니다. 화면 규격은 2.1절에 있습니다. **갱신 규칙은 한 줄입니다. 화면 문면이나 패키지 구성이 갈리면 원고도 같은 회차에 갈리고, 원고가 갈리면 PDF를 다시 올려야 방문자가 받는 값이 바뀝니다.** 앞쪽을 빠뜨리면 원고가 옛 값을 든 채 남고, 뒤쪽을 빠뜨리면 원고만 새 값이 되고 방문자는 계속 옛 PDF를 받습니다. 재발행 절차는 티켓 `c6344891`이 쓴 형태를 따릅니다. 지금 배포된 파일을 날짜를 붙인 이름으로 먼저 올려 두고, 새로 뽑은 PDF로 같은 경로를 덮은 뒤, 다운로드 주소가 `200`과 -`content-disposition: attachment`를 내는지 확인합니다. +`content-disposition: attachment`를 내는지 확인합니다. **같은 회차에 `Hero.tsx` 다운로드 주소의 판본 +쿼리 `v=`를 새 발행일로 갱신합니다.** 파일은 `cache-control: public, max-age=2592000`(30일)으로 +나가므로, 주소가 그대로면 전에 받은 방문자의 브라우저가 재검증 없이 옛 PDF를 내줍니다. **문면 변경 티켓이 범위를 셀 때는 `app/`과 `docs/`를 함께 잽니다.**