< ์๊ฐ >
์๋
ํ์ธ์ 21๊ธฐ ๊ต์ก์ฑ ์คํฐ๋๋ฅผ ๋ฃ๋ ํ์ดํธ์
๋๋ค~~
์ด ์ฌ๋ก๊ธ์ ์ํฐ๊ทธ๋๋นํฐ๊ฐ ๋ฝ์์ค ์ด์์ ์ ๊ฐ ์ฝ์ด๋ณด๋ฉด์ ์์ ํ ๊ฒ์
๋๋ค.
(์ํฐ๊ฐ ์ ๋ณด๋ค ๊ธ์ ๋ ์์ฐ๋ค์. ๋น์ฐํ ์ด์ผ๊ธฐ)
์๋ํ๊ณ ์ ํ๋ ๊ฒ๊ณผ ๊ทธ ์ด์ ๋ฅผ ์๋ ค์ฃผ์ธ์.
21๊ธฐ ๊ต์ก์ฑ ์คํฐ๋์์๋, OT๋ ์ ๊ฐ์์๋ฃ๋ฅผ ๋ง๋ค์ด ๋ณด๋ ์ค์ต์ ํ์ต๋๋ค!
ํ์์ ๊ด์ฌ์๋ '์ธ์งํธํฅ(Cognitive Bias)'์ด๋ผ๋ ์ฃผ์ ๋ฅผ ์ฌ๋ฐ๊ณ ๊ฐ๋ณ๊ฒ ํ์ตํ ์ ์๋๋ก "์ธ์งํธํฅ ๋ง์คํฐ ์ค์ต ์น์ฑ"์ ๋ง๋ค์ด ๋ฐฐํฌํ๊ณ ์ ํ์ต๋๋ค.
๊ฑฐ์ฐฝํ๊ฒ ์๋ฒ์ ๋ฐฑ์๋๋ฅผ ๊ตฌ์ถํ๊ธฐ๋ณด๋ค, ๊ด๋ฆฌ์ ๊ณต์ ๊ฐ ์ฌ์ด '๋จ์ผ HTML ํ์ผ(Single HTML File)'๋ง์ผ๋ก ๋ชจ๋ ๊ธฐ๋ฅ๊ณผ ์ธํฐ๋์
์ด ๊ตฌ๋๋๋๋ก ๊ธฐํํ์ต๋๋ค. (์คํฐ๋ ๊ถ์ฅ์ฌํญ)
์ ๊ฐ ์ง๋ฃจํดํ์ง ์๋๋ก ์ค์ผ์น๋ถ ๋์, ๋ฌด์ง๊ฐ, ๋ ๊ณ , ํฉ๋งจ ๊ฐ์ ๊ท์ฝ๊ณ ์์ ๋ถ๋ฐฉํ ๋์์ธ ์ปจ์
์ ์ ์ฉํ๊ณ , ์ค์๊ฐ ํ๋กฌํํธ ์์ฑ๊ธฐ์ ๋น๊ณ ํด์ฆ ๊ฐ์ ์ธํฐ๋ํฐ๋ธ ์์๋ฅผ ๊ฝ๊ฝ ์ฑ์ ๋ฃ์์ต๋๋ค.(์คํฐ๋ ๊ถ์ฅ์ฌํญ)
< ์งํ ๋ฐฉ๋ฒ >
์ด๋ค ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๊ณ , ์ด๋ป๊ฒ ํ์ฉํ์ จ๋์?
AI ์ฝ๋ฉ ์์ด์ ํธ(์ํฐ๊ทธ๋๋นํฐ)๋ฅผ ํ์ฉํ์ฌ ๋จ์ผ HTML ๊ตฌ์กฐ๋ฅผ ์ง๊ณ , ์คํ์ผ๋ง์ Tailwind CSS, ์์ด์ฝ์ Lucide Icons, ํญ์ฃฝ ํจ๊ณผ๋ canvas-confetti ๋ฑ ๋ชจ๋ ์ธ๋ถ ์น๋งํฌ(CDN) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋จ์ผ ๋ฌธ์์ ์ง์ ๋ถ์ฌ ๋ฃ์ด ํ์ฉํ์ต๋๋ค. ๋ฐฐํฌ๋ Vercel CLI๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
๐ ์ฌ์ฉํ ํ๋กฌํํธ ์ ๋ฌธ:
์ญํ : ๋๋ ๊ต์ก ๊ณตํ ์ ๋ฌธ๊ฐ์ด์ ๊ตฌ๊ธ ๊ธฐ์ ์ ์ ํตํ ์๋์ด ์น ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ผ.
์์
: ์ฐ๋ฆฌ์ ๊ฐ์ฌ์ธ 'ํ์ดํธ' ๋์ ๊ฐ์์ ์ฐ์ผ "์ธ์งํธํฅ ๋ง์คํฐ ์ค์ต ์น์ฑ"์ ๋ง๋ค์ด์ค.
ํ์: HTML, CSS, Javascript๊ฐ ๋ชจ๋ ํฌํจ๋ '๋จ์ผ HTML ํ์ผ' ์ฝ๋๋ก ์์ฑํด์ค.
<ํ์ ์กฐ๊ฑด ๋ฐ ๋์์ธ ๊ฐ์ด๋>
1. ํ๋ฉด ๋์์ธ ์ปจ์
: ์ ์นํ, ์์ ๋ถ๋ฐฉํ, ์ค์ผ์น๋ถ ๋์ ๊ฐ์, ์ปฌ๋ฌํํ ๋ฌด์ง๊ฐ์, ๋ธ๋ญ ๋์์ธ, ๋ ๊ณ , ํฉ๋งจ, ์ฅ๋์ค๋ฌ์ด ํผ์ฆ.
2. ๊ธฐ๋ฅ ํญ: [๊ฐ๋
์ ๋ฆฌ], [๋น๊ต ์ ๋ฆฌ], [๊ด๋ จ ์ด๋ก ๊ณผ ํด์ฆ], [์ฌ์ธตํ๊ตฌ ํ๋กฌํํธ ์ถ์ฒ], [ ๋ฏธ๋ ๋น๊ณ ํด์ฆ] 4๊ฐ์ง ๋ฉ๋ด ํญ์ ๋ง๋ค์ด์ค.
3. ํ
์คํธ ์์: ํ๋ฉด ํค๋์ ํ๋จ ํธํฐ์ ํญ์ "Designed for students by ํ์ดํธ" ์ด๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋ช
ํํ๊ฒ ๋ํ๋๊ฒ ํด์ค.
4. ์ฌ์ธตํ๊ตฌ ํ๋กฌํํธ ์ถ์ฒ ํญ: ์ฃผ์ ํค์๋, ๊ฐ์ธ์ํฉ, ํ์์ ์
๋ ฅํ๋ฉด ํ๋จ์ ๊ฒฐ๊ณผ๊ฐ ์ค์๊ฐ์ผ๋ก ์กฐํฉ๋๋ฉฐ, '๋ณต์ฌํ๊ธฐ' ๋ฒํผ์ด ์๋ํด์ผ ํด.
5. ์ ๋๋ฉ์ด์
: ํญ์ ์ ํํ๊ฑฐ๋ ๋ฒํผ์ ๋ง์ฐ์ค๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์
์ด ์๊ณ , ํด์ฆ ์ ๋ต์ ๋ง์ถ๋ฉด ํญ์ฃฝ(canvas-confetti)์ด ํฐ์ง๊ฒ ํด์ค.
6. ํ๊ฒฝ: ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ Tailwind CSS์ Lucide Icons๋ฅผ CDN ๋งํฌ๋ก ํฌํจํด์ผ ํด.
๐จ ๊ฟํ: ์ด๋ฏธ์ง ์
๋ก๋ ์์ด, ์ฝ๋๋ก ๊ทธ๋ฆฐ '์ ๋๋ฉ์ด์
SVG ํ๋น์ฝ'
์น์ฑ ์ ์ ์ ์ธํฐ๋ท ํญ ์ผ์ชฝ์ ๋จ๋ ์์ด์ฝ(Favicon)๋ ์ด๋ฏธ์ง ํ์ผ ๋ค์ด๋ก๋ ์์ด HTML ํ์ผ ์์ SVG ํ์์ ์ ๋๋ฉ์ด์ ์ฝ๋๋ก ์ฑ์ฌ๋ฃ์์ต๋๋ค. ๋ณ๋ ์ด๋ฏธ์ง ํธ์คํ ์ด ํ์ ์์ด ์ ๋ง ํธํฉ๋๋ค!
<!-- ๋ฌด์ง๊ฐ์์ผ๋ก ๋ณํ๋ฉฐ ์์๋๋ก ํตํต ํ๋ ํผ์ฆ ์กฐ๊ฐ ํ๋น์ฝ ์ฝ๋ -->
<link rel="icon" type="image/svg+xml" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cstyle%3E@keyframes bounce { 0% { transform: translateY(0); } 50% { transform: translateY(-15px); } 100% { transform: translateY(0); } } @keyframes color { 0% { fill: %23FF6B6B; } 20% { fill: %23FFA94D; } 35% { fill: %23FFD43B; } 50% { fill: %2369DB7C; } 65% { fill: %234DABF7; } 80% { fill: %23DA77F2; } 100% { fill: %23FF6B6B; } } .puzzle { animation: bounce 1s infinite ease-in-out, color 3s infinite linear; }%3C/style%3E%3Cg class='puzzle'%3E%3Cpath d='M30 30h15v-10a10 10 0 0 1 20 0v10h15v15h10a10 10 0 0 1 0 20h-10v15h-15v10a10 10 0 0 1-20 0v-10h-15v-15h-10a10 10 0 0 1 0-20h10v-15z'/%3E%3C/g%3E%3C/svg%3E">
๐ธ
ํ๊ตญ ์น์ฌ์ดํธ์ ํํ์ด์ง
ํ๊ตญ์ด ์ฑ ์คํฌ๋ฆฐ์ท
๐ธ
๊ฒฐ๊ณผ๋ฌผ ๊ตฌ๊ฒฝํ๊ธฐ๐ [https://cognitive-bias-master.vercel.app]
< ๊ฒฐ๊ณผ์ ๋ฐฐ์ด ์ >
๊ณผ์ ์ค์ ์ด๋ค ์ํ์ฐฉ์ค๋ฅผ ๊ฒช์๋์?
์ด ์ฌ๋ก๊ธ์ ์ฐ๊ฒ ๋ง๋ ์ญ๋๊ธ ์ํ์ฐฉ์ค๊ฐ ์์์ต๋๋ค. ์์ฑ๋ HTML์ ๋ฐฐํฌํ๋ ค๊ณ ํฐ๋ฏธ๋์์ vercel --prod ๋ช
๋ น์ด๋ฅผ ์ณค๋๋ฐ, ๋ก๊ทธ์ธ ์ธ์ฆ๊น์ง ์ฑ๊ณต์ ์ผ๋ก ๋ง์ณค์์๋ ๋ถ๊ตฌํ๊ณ ์๋์ ๊ฐ์ ๊ดด์ํ ์๋ฌ๋ฅผ ๋ฟ์ผ๋ฉฐ ๊ณ์ ๋ฐฐํฌ๊ฐ ํ๊ฒผ์ต๋๋ค.
Error: An unexpected error occurred in linked project does not have "id".
์๊ณ ๋ณด๋ ๋ฐฐํฌ๊ฐ ํฐ์ง ์ด์ ๋ ์ ์์
ํด๋ ์ด๋ฆ์ธ ๊ฐ์ฌ ๋๋ฉํ์ด์ง ๋๋ฌธ์ด์์ต๋๋ค. Vercel ๋ฐฐํฌ ๋๊ตฌ(CLI)๋ ํด๋ ์ด๋ฆ์ ์๋ฌธ์ด ์๋ ํ๊ธ, ํน์ ๋์ด์ฐ๊ธฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉด ๋ณธ์ธ์ ์จ๋ผ์ธ ํ๋ก์ ํธ ID๋ฅผ ์ ์์ ์ผ๋ก ์ฐพ์ง ๋ชปํ๊ณ ๋ป์ด๋ฒ๋ฆฌ๋ ์์ฃผ ์น๋ช
์ ์ธ ๋ฒ๊ทธ๋ฅผ ๊ฐ์ง๊ณ ์์์ต๋๋ค. ํ์ผ ๊ฒฝ๋ก๊ฐ ๊ผฌ์ฌ ์ ๊ฟ์ ๊ณณ์ ์์ ํด๋๋ฅผ ๋ง๋ค์ด ์ฐํํ๋๋ผ (์ํฐ๊ทธ๋๋นํฐ๊ฐ ์ ํํ
) ๊ฝค๋ ํผ์ญ์ด ๋ฌ์ต๋๋ค ๐
๋ฐฐ์ด ์ ๊ณผ ๋๋ง์ ๊ฟํ์ ์๋ ค์ฃผ์ธ์.
๊ตํ 1: Vercel์ด๋ Github ๋ฑ์ ๊ฐ๋ฐ ๋๊ตฌ(CLI)๋ฅผ ์ฌ์ฉํด ์์ ๋ฌผ์ ์ ๋ก๋ํ ๋ ๋ฐ์ํ๋ ์ฐ์ฐํ ์ค๋ฅ๋ฅผ ์๋ฐฉํ๋ ๋์์ธ ํจํด ์ 1์์น์ "์์ ํด๋๋ช ์ ๋ฌด์กฐ๊ฑด ์ง๊ด์ ์ธ ์๋ฌธ์ ์๋ฌธ๊ณผ ํ์ดํ(-) ์กฐํฉ์ผ๋ก ์จ๋ผ" ์ ๋๋ค. ๊ฒฐ๊ตญ ํด๋๋ช ์
cognitive-bias-master๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๋ณ๊ฒฝํ๋ ๊ฑฐ์ง๋ง์ฒ๋ผ 1์ด ๋ง์ ๋ฐฐํฌ๋์์ต๋๋ค!๊ตํ 2: ๋ณต์กํ ์๋ฒ ๋ก์ง์ด ๋น์ฅ ํ์ ์๋ ๊ฐ๋ฒผ์ด ๊ต์ก์ฉ ํด์ด๋ ์ธํฐ๋ํฐ๋ธ ์๋ฃ๋ค์
๋จ์ผ HTML ํ์ผ + ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์กฐํฉ๊ตฌ์กฐ๊ฐ ์๋์ ์ผ๋ก ๋น ๋ฅด๊ณ ๊ด๋ฆฌ์ ํธ๋ฆฌํ๋ค๋ ๊ฒ์ ๋ค์ ํ๋ฒ ์ฒด๊ฐํ์ต๋๋ค.
๋์์ด ํ์ํ ๋ถ๋ถ์ด ์๋์? / ์์ผ๋ก์ ๊ณํ
๋จ์ผ HTML ์น์ฑ์ ์ด๊ธฐ ์ ์๊ณผ ๋ฐฐํฌ๋ ์๋์ ์ผ๋ก ๋น ๋ฅด์ง๋ง, ๋์ค์ ํ์๋ค์ด ํผ ํด์ฆ ์ ์๋ ํ๋กฌํํธ ์กฐํฉ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ํต๊ณ๋ฅผ ๋ด๊ณ ์ถ๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๊ณ ๋ฏผ์ ๋๋ค. (ํ์คํ ํต๊ณ ๋ด๋ฉด ๋์ด๋ ์กฐ์ ํ๊ธฐ ์ ์ฉํ๊ธด ํ๊ฒ ๋ค์)
Supabase๋ Firebase ๊ฐ์ ๊ฐ๋ฒผ์ด BaaS(๋ฐฑ์๋ ์๋น์ค)๋ฅผ ํ๋ ๋ถ์ฌ ๊ฐ๋จํ ํต๊ณ์ฉ DB๋ฅผ ์ค๊ณํด ๋ณผ๊น ๊ณํ ์ค์ ๋๋ค๐ (๋ผ๊ณ ํ๋ค์ ์ ์๊ฒฌ์ ์๋๋๋ค ์ํฐ๊ทธ๋๋นํฐ์ ์๊ฒฌ์ ๋๋ค)