Frame ยท Aim ยท Build ยท Link โ ๋ค ๊ฐ์ง ์ ๋ฌด ๋ชจ๋์ ๋จธ๋ฆฌ๊ธ์๋ค.
๋๋ ์ผ์ ์ด๋ค ์์๋ก ์ํ ๊น. 12๊ฐ ์ ๋ฌด ์ํฉ์์ ๋ฌด์์ ๋จผ์ ๋ณด๊ณ , ์ด๋ป๊ฒ ํ๋จํ๊ณ , ๋๊ตฌ์ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋๋์ง ๋ณด๊ณ 24๊ฐ ์ ๋ฌด ์ ํ ์ค ํ๋๋ฅผ ๋๋ ค์ค๋ค.
์ฑ๊ฒฉ์ ๋ฌป์ง ์๋๋ค. ์ ์์ ๋๋ฎ์ด๋ ๋งค๊ธฐ์ง ์๋๋ค. ๋จผ์ ์ฐ๋ ์์๋ง ๋ณธ๋ค.
| ๋ชจ๋ | ์ง๋ฌธ | |
|---|---|---|
| F | Frame ยท ํด์ | ๋ฌด์จ ์ผ์ด ๋ฒ์ด์ง๊ณ ์์ง? |
| A | Aim ยท ํ๋จ | ๋ฌด์์ ๋จผ์ ํด์ผ ํ์ง? |
| B | Build ยท ์คํ | ์ด๋ป๊ฒ ๊ฒฐ๊ณผ๋ก ๋ง๋ค์ง? |
| L | Link ยท ์กฐ์จ | ๋๊ตฌ์ ํจ๊ป ์์ง์ด์ง? |
๋จผ์ ์ฐ๋ ์ธ ๊ฐ์ง์ ์์๊ฐ ์ ํ์ด ๋๋ค. 4๊ฐ ์ค 3๊ฐ๋ฅผ ์์๊น์ง ์ธ๋ฉด 24๊ฐ์ง๋ค.
๊ฐ์ ๊ฐ์ ๋ ์์๊ฐ ๋ค๋ฅด๋ฉด ๋ค๋ฅธ ์ ํ์ด๋ค โ FAB(๋ถ์์ถ์งํยท๋ ์ค๋๋ฅด๋ ๋ค๋น์น)์
FBA(ํด๊ฒฐ๊ฒ์ฆํยท๋ง๋ฆฌ ํด๋ฆฌ)๋ ์ฐ๋ ํ์ด ๊ฐ๊ณ ์์๋ง ๋ค๋ฅด๋ค.
์ด ํ ์คํธ๋ ์ฑ๊ฒฉ์ด ๋ ๋ค๋ฅธ ๊ฒ์ ํ ํ๋ฉด์์ ๋ค๋ฃฌ๋ค. ์์ผ๋ฉด ๋ ๋ค ๋ง๊ฐ์ ธ์ ๋ถ๋ฆฌํ๋ค.
| ์ ํ 12๋ฌธํญ | ์ญ๋ ์ฒดํฌ 20๋ฌธํญ | |
|---|---|---|
| ์ฌ๋ ๊ฒ | ์์ฃผ ์ฐ๋ ์์ | ํ๋จ์ ํ๋น์ฑ |
| ์ ๋ต | ์๋ค. ๋ค ์ ํ์ง๊ฐ ๋ชจ๋ ํ๋นํ๋ค | ์๋ค. ํ๋๊ฐ ๋ฐฉ์ด ๊ฐ๋ฅํ๊ฒ ๋ ๋ซ๋ค |
| ์ฒ๋ | ipsative(์๊ธฐ์ฐธ์กฐ) | ์ ๋ต์ ์์ง๋ง ํ์ฐจ๋ง๋ค ๋ค๋ฅธ 20๋ฌธํญ์ ๋ธ๋ค. ๊ท์ค ์ง๋จ๋ ์ค๊ฑฐ ์๋ฃ๋ ์์ด ์์์๋ผ๋ฆฌ ๋น๊ต๋ ๋ชป ํ๋ค |
| ๊ณต์ | ์ ํ๋ง ๊ณต์ ๋๋ค | ๊ฒฐ๊ณผ ํ๋ฉด ์์๋ง ๋๋ค |
์ ํ ์ ์๋ก๋ ์ํ๋์ง ์ ์ ์๋ค. ์ค๊ณ๊ฐ ๊ทธ๋ ๋ค. ์ฑ์ ์ด ๊ฐ ์ญ๋ ์ ์๋ฅผ ๋ณธ์ธ ํ๊ท ์ผ๋ก
๋๋๊ธฐ ๋๋ฌธ์(calculate()) ํฉ์ด ๊ตฌ์กฐ์ ์ผ๋ก ๊ณ ์ ๋๋ค. ์ค์ ๋ก ์ฌ๋ณด๋ฉด ์๋ฌด๋ ๊ฒ๋ ํด๋ฆญํ
์ฌ๋๊น์ง ํฌํจํด ์ฌ์ฏ ์๋ต์๊ฐ ์ ๋ถ 50์ ๋ง์ ์ 33.5~35.1 ์์ ๋ค์ด์จ๋ค. ์ ํ์ ๊ฐ๋ฆฌ์ง๋ง
์ด์ ์ ์ ๊ฐ๋ฆฐ๋ค. "๋น์ ์์์ ์ด ์ถ์ด ๋๋ค"๋ ๋ง์ ๋์ง๋ง "๋จ๋ณด๋ค ๋ซ๋ค"๋ ๋ง์ ์๋ฆฌ์ ์ผ๋ก
์ ๋๋ ๊ฐ์ด๋ค.
๊ทธ๋์ ์ ๋ต ํค๊ฐ ์๋ ์ธต์ ๋ฐ๋ก ๋๋ค(src/keyed.js). ๊ฐ ๋ฌธํญ์ ์ ๋ต ๊ทผ๊ฑฐ๋ ์ง์ด๋ด์ง ์๊ณ
์ญ๋ ์นด๋์ ์ํจยท๋ถ์กฑยทํผ๋ ์ฃผ์ ๋ฌธ์ฅ์์ ๊ฐ์ ธ์๊ณ , ํ๋ฆฌ๋ฉด ๊ทธ ์์น์ ํด์ค๋ก ๋ณด์ฌ์ค๋ค.
LLM ์ ์ฐ์ง ์์ ์๋ฒ ๋น์ฉ์ด ์๊ณ ๋ต๋ณ์ด ๋ฐ์ผ๋ก ๋๊ฐ์ง ์๋๋ค.
์ค๋ ฅ ์ ์๋ ๊ณต์ ์นด๋์ ๋ฃ์ง ์์๋ค. ๋ฎ๊ฒ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๊ณต์ ํ ์ฌ๋์ ์๊ณ , ๊ทธ๋ฌ๋ฉด ์ ํ๊น์ง ์ ํผ์ง๋ค. MBTI ๊ฐ ํผ์ง๊ณ IQ ํ ์คํธ๊ฐ ์ ํผ์ง๋ ์ด์ ์ ๊ฐ๋ค.
| ๋ฌธํญ | ํ์ | ์์ | |
|---|---|---|---|
| ์งง์ ์ฝ์ค (๊ธฐ๋ณธ) | 12๊ฐ + ํ๋จ ์ฒดํฌ 8๊ฐ | ๊ฐ๊ด์๋ง | 2~3๋ถ (+2๋ถ) |
| ์ ๋ฐ ์ฝ์ค | 20๊ฐ ์ํฉ | ๊ฐ๊ด์ 8 ยท ํผํฉํ 8 ยท 3๋จ๊ณ ๋ํ 4 | 6~8๋ถ |
์งง์ ์ฝ์ค์ 12๊ฐ ์ํฉ์ ์์๋ก ๊ณ ๋ฅด์ง ์์๋ค. ๊ฐ ์ ํ์ง์ ์ง๋ฐฐ ๋ชจ๋๋ฅผ ๊ณ์ฐํด
๋ค ๋ชจ๋๋ฅผ ๋ชจ๋ ๊ฐ๋ฅด๋ 9๊ฐ์ ์ธ ๋ชจ๋๋ฅผ ๊ฐ๋ฅด๋ 3๊ฐ๋ฅผ ๊ณจ๋๋ค
(SHORT_SCENARIO_INDEXES, src/main.js). ๋ ์ฝ์ค๋ ๊ฐ์ ์ฑ์ ์ ์ด๋ค โ
์ ํ์ง์ ์ญ๋ ๊ฐ์ค์น๋ฅผ ๋์ ํ๊ณ , ๋ชจ๋๋ณ ํ๊ท ์ ๋ด๊ณ , ์์ 3๊ฐ์ ์์๋ฅผ ์ฝ๋๋ก ๋ง๋ ๋ค.
๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉด ์ฃผ์์ฐฝ์ด /t/FAB/?a=... ๋ก ๋ฐ๋๋ค. ์ด ๋งํฌ๋
- ์ฝ๋๋ง ์์ผ๋ฉด ์ ํ ์นด๋๋ง ๋ณด์ฌ์ค๋ค. ๋ต๋ณ์ด ์๋๋ฐ ๋ ์ด๋๋ฅผ ๊ทธ๋ฆฌ์ง ์๋๋ค โ ์๋ ์ ์๋ฅผ ์ง์ด๋ด์ง ์๊ธฐ ์ํด์๋ค.
- ๋ต๋ณ๊น์ง ์ค๋ ค ์์ผ๋ฉด ๋ ์ด๋๊น์ง ๊ทธ๋๋ก ๋ณต์ํ๋ค.
๋ฏธ๋ฆฌ๋ณด๊ธฐ ์นด๋๋ ์ ํ๋ง๋ค ๋ค๋ฅด๋ค. ์นด์นด์คํกยทX ๊ฐ์ ํฌ๋กค๋ฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ง ์๊ณ
ํด์(#)๋ ์ฝ์ง ์์ผ๋ฏ๋ก, ๋น๋ ๋ ์ ํ๋ณ ์ค์ HTML 24์ฅ๊ณผ OG ์ด๋ฏธ์ง 24์ฅ์ ์ฐ๋๋ค.
npm run build
# 1. scripts/build-og.mjs โ public/og/<CODE>.png 24์ฅ + default.png
# 2. vite build โ dist/
# 3. scripts/build-seo.mjs โ dist/t/<CODE>/index.html 24์ฅ + robots.txt + sitemap.xml
OG ์ด๋ฏธ์ง๋ SVG ๋ฅผ ์ง์ ๋ง๋ค์ด @resvg/resvg-js ๋ก ๋์คํฐํํ๋ค. ํฐํธ๋
scripts/fonts/ ์ ๋๋ดํ๋ค โ ํฐํธ๋ฅผ ๋ชป ์ฐพ์ผ๋ฉด ์๋ฌ ์์ด ๊ธ์๋ง ์ฌ๋ผ์ง๋ฏ๋ก
๋น๋ ํ public/og/ ๋ฅผ ๋์ผ๋ก ํ์ธํ๋ค.
npm install
npm run dev๋ชจ๋ ์๋ต์ ๋ธ๋ผ์ฐ์ ์์์๋ง ์ฒ๋ฆฌํ๋ค. ์๋ฒ๋ก ๋ณด๋ด์ง ์๋๋ค.
์งํ ์ค ๋ต๋ณ์ sessionStorage, ์๋ฃ ๊ฒฐ๊ณผ๋ localStorage ์ ์ต๊ทผ 30ํ๊น์ง ๋จ๋๋ค.
๊ฒฐ๊ณผ ํ๋ฉด์์ JSON ์ผ๋ก ๋ด๋ ค๋ฐ๊ณ ์์ ํ๋ฉด์์ ๋ค์ ๋ถ๋ฌ์ฌ ์ ์๋ค.
์ด ๊ณต๊ฐํ์๋ ์๋ฒ๊ฐ ์๋ค. ์๋ณธ์ ์๋ /api/evaluate(OpenAI ํธ์ถ)๋ ์ฎ๊ธฐ์ง ์์๋ค.
์์ ํ ๋ต๋ณ์ ์ ๊ท์ ํค์๋ ๋งค์นญ์ผ๋ก ์ ํธ๋ฅผ ๋ฝ์ง๋ง, ์ ํ ์ ์์๋ ๋ฃ์ง ์๋๋ค.
ํ์ธยท๋จผ์ ยท๋ด๋น์ ๊ฐ์ ๋จ์ด๊ฐ ํ๊ตญ์ด ์
๋ฌด ๋ฌธ์ฅ์ ๊ฑฐ์ ํญ์ ๋ค์ด ์์ด์, ๊ธธ๊ฒ ์ธ์๋ก
FยทL ์ด ์ฌ๋ผ๊ฐ๊ณ ์์ ํ 12ํด์ด ๊ฐ๊ด์ 20๋ฌธํญ๊ณผ ๋ง๋จน๋ ๋ฌด๊ฒ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ์ง๊ธ์
๋ฌด์์ ์ ์๋์ง๋ง ๊ทผ๊ฑฐ ๋ชฉ๋ก์ ๋จ๋๋ค.
์๋ณธ์ ํ๋จ ํ์ง ํจ๋์ LLM ์ด ์ฑ์์ฃผ๋ ์ ํธ์๋ง ์์กดํด์, ๊ณต๊ฐํ์์๋ ์์ํ ๋ ๋๋์ง ์๋๋ค. ๊ทธ ์ญํ ์ ์ ๋ต ํค๊ฐ ์๋ ํ๋จ ์ฒดํฌ๊ฐ ๋์ ํ๋ค.
public/people/ ์ 24์ฅ์ AI ๋ก ์์ฑํ ์ด๋ฏธ์ง๋ค. ์ค์กด ์ธ๋ฌผ์ ์ฌ์ง์ ๊ฐ์ ธ์จ ๊ฒ์ด ์๋๋ค.
scripts/prepare-people-assets.sh ์ ์์ฑ ๊ฒฝ์๊ฐ ๋จ์ ์๋ค.
๋ฎ์ ์ ์๋ ๋ฅ๋ ฅ ๋ถ์กฑ์ ๋ปํ์ง ์๋๋ค. ์์ฃผ ์ฐ๋ ์์๋ฅผ ๋ณผ ๋ฟ์ด๋ค. ์ฑ์ฉยท์ธ์ฌํ๊ฐ์ ๊ทผ๊ฑฐ๋ก ์ฌ์ฉํ์ง ์๋๋ค. ์ฌ๋ฏธ์ ์๊ธฐ ์ดํด๋ฅผ ์ํ ๋๊ตฌ๋ค.