Skip to content

Latest commit

ย 

History

46 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FABL ํ…Œ์ŠคํŠธ

Frame ยท Aim ยท Build ยท Link โ€” ๋„ค ๊ฐ€์ง€ ์—…๋ฌด ๋ชจ๋“œ์˜ ๋จธ๋ฆฌ๊ธ€์ž๋‹ค.

๋‚˜๋Š” ์ผ์„ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ž˜ํ• ๊นŒ. 12๊ฐœ ์—…๋ฌด ์ƒํ™ฉ์—์„œ ๋ฌด์—‡์„ ๋จผ์ € ๋ณด๊ณ , ์–ด๋–ป๊ฒŒ ํŒ๋‹จํ•˜๊ณ , ๋ˆ„๊ตฌ์™€ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“œ๋Š”์ง€ ๋ณด๊ณ  24๊ฐœ ์—…๋ฌด ์œ ํ˜• ์ค‘ ํ•˜๋‚˜๋ฅผ ๋Œ๋ ค์ค€๋‹ค.

์„ฑ๊ฒฉ์„ ๋ฌป์ง€ ์•Š๋Š”๋‹ค. ์ ์ˆ˜์˜ ๋†’๋‚ฎ์ด๋„ ๋งค๊ธฐ์ง€ ์•Š๋Š”๋‹ค. ๋จผ์ € ์“ฐ๋Š” ์ˆœ์„œ๋งŒ ๋ณธ๋‹ค.

๋„ค ๊ฐ€์ง€ ์—…๋ฌด ๋ชจ๋“œ ยท FABL

๋ชจ๋“œ ์งˆ๋ฌธ
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 ์— ์ƒ์„ฑ ๊ฒฝ์œ„๊ฐ€ ๋‚จ์•„ ์žˆ๋‹ค.

์“ฐ์ง€ ๋ง์•„์•ผ ํ•  ๊ณณ

๋‚ฎ์€ ์ ์ˆ˜๋Š” ๋Šฅ๋ ฅ ๋ถ€์กฑ์„ ๋œปํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ž์ฃผ ์“ฐ๋Š” ์ˆœ์„œ๋ฅผ ๋ณผ ๋ฟ์ด๋‹ค. ์ฑ„์šฉยท์ธ์‚ฌํ‰๊ฐ€์˜ ๊ทผ๊ฑฐ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ์žฌ๋ฏธ์™€ ์ž๊ธฐ ์ดํ•ด๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๋‹ค.

About

๐Ÿชจ ํŽ˜๋ธ”ํ…Œ์ŠคํŠธ โ€” ๋‚˜๋Š” ์ผ์„ ์–ด๋–ค ์ˆœ์„œ๋กœ ์ž˜ํ• ๊นŒ. FABL 24์œ ํ˜• + ์ •๋‹ต ํ‚ค๊ฐ€ ์žˆ๋Š” ํŒ๋‹จ ์ฒดํฌ

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages