Search
๐Ÿ”“

Unlock Portfolio

subtitle
๊ฒŒ์ž„ํ˜• ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ํฌํŠธํด๋ฆฌ์˜ค
Tags
front-end
react
threejs
3D
Created
2025/04/12
2 more properties

Unlock Portfolio

๊ฒฝํ—˜ํ•˜๋Š” ํฌํŠธํด๋ฆฌ์˜ค

์ทจ์—… ์ค€๋น„๋ฅผ ํ•˜๋ฉด์„œ, ์šฐ๋ฆฌ๋Š” ๋ณดํ†ต PDF๋กœ ์ •๋ฆฌํ•˜๊ฑฐ๋‚˜ ๊น”๋”ํ•œ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ ๋‹ค.
ํ•˜์ง€๋งŒ ์ด๊ฒŒ ๊ณผ์—ฐ โ€œ๋‚˜โ€๋ฅผ ์ž˜ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๋ฐฉ์‹์ผ๊นŒ?
๋‚ด ๊ฒฝ๋ ฅ์„ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์„ค๋ช…ํ•ด์ฃผ๋Š” ๊ฒƒ์€ ์ด๋ฏธ ์ด๋ ฅ์„œ๊ฐ€ ์ถฉ๋ถ„ํžˆ ํ•ด์ฃผ๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.
๊ทธ๋ž˜์„œ ๋‚˜๋Š”, ์‚ฌ๋žŒ๋“ค์ด ํ•˜๋‚˜ํ•˜๋‚˜ ๋ณต๊ตฌํ•ด๊ฐ€๋ฉฐ "ํƒํ—˜ํ•˜๋Š”" ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.
ํ”„๋ก ํŠธ ํŒ€์žฅ๋‹˜์ด ์•Œ๋ ค์ค€ reactbits ๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณด๊ณ  ์˜๊ฐ์ด ๋– ์˜ฌ๋ž๋‹ค.
์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์‚ฌ์šฉ์ž๊ฐ€ โ€˜์ƒํ˜ธ์ž‘์šฉโ€™ ๊ฐ€๋Šฅํ•œ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋งŒ๋“ค๋ฉด
์‚ฌ์šฉ์ž๊ฐ€ ๋” ๋ชฐ์ž…ํ•  ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.
์ด๋ ฅ์„œ๋ฅผ ๋ณด๋Š” ํ–‰์œ„ ์ž์ฒด๊ฐ€ "๊ฒฝํ—˜"์ด ๋˜๋Š” ๋ฐฉ์‹์œผ๋กœ.
ํ‰์†Œ์— ๊ด€์‹ฌ์ด ๋งŽ์€ 3D ์›น ์ธํ„ฐ๋ž™ํ‹ฐ๋น„ํ‹ฐ, ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์ž„ ํ˜•์‹์˜ ํฌํŠธํด๋ฆฌ์˜ค๋กœ ๋‚ด๊ฐ€ ๊ด€์‹ฌ์žˆ์–ดํ•˜๋Š” ๊ฒƒ, ์ž˜ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ โ€˜์„ค๋ช…ํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ๋ณด์—ฌ์ฃผ๋Š” ํฌํŠธํด๋ฆฌ์˜คโ€™๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค.

๐ŸŽฎ ์ฝ˜์…‰ํŠธ: ํ•ดํ‚น๋‹นํ•œ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋ณต๊ตฌํ•˜๋ผ

์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋ฉด ๋ณด์ด๋Š” ๊ฑด ๋ฉ€์ฉกํ•œ ํฌํŠธํด๋ฆฌ์˜ค๊ฐ€ ์•„๋‹ˆ๋ผ, ํ•ด์ปค๊ฐ€ ํ€ด์ฆˆ์™€ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๊ณ  ๋– ๋‚œ โ€œํŒŒ๊ดด๋œ ์‹œ์Šคํ…œโ€์ด๋‹ค.
โ€ข
์‚ฌ์šฉ์ž๋Š” โ€˜System Roseโ€™๋ผ๋Š” AI ์•ˆ๋‚ด์ž์˜ ๋„์›€์„ ๋ฐ›์•„,
โ€ข
ํ„ฐ๋ฏธ๋„ ๊ธฐ๋ฐ˜ ๋ช…๋ น์–ด์™€ ํ•ด์ปค์˜ ๋‹จ์„œ๋“ค์„ ๋”ฐ๋ผ,
โ€ข
ํ•˜๋‚˜ํ•˜๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต๊ตฌํ•˜๊ณ ,
โ€ข
๋งˆ์ง€๋ง‰์—” ํ•ด์ปค์˜ ์ •์ฒด, ๊ทธ๋ฆฌ๊ณ  ์ด ํฌํŠธํด๋ฆฌ์˜ค์˜ ์ง„์งœ ์ฃผ์ธ์ด ๋ˆ„๊ตฌ์˜€๋Š”์ง€๋ฅผ ๋ฐํ˜€๋‚ธ๋‹ค.

๐Ÿ› ๏ธ ์‚ฌ์šฉ ๊ธฐ์ˆ  ์Šคํƒ

โ€ข
ํ”„๋ก ํŠธ์—”๋“œ: React, Vite, TypeScript, xstate v5, tailwind, react-spring
โ€ข
3D: reactbits, react-three-fiber, drei, three.js, glsl
โ€ข
์ธํ„ฐ๋ž™์…˜: terminal-style UI ๊ตฌํ˜„ (์ปค์Šคํ…€ ์ปดํฌ๋„ŒํŠธ + ์ƒํƒœ๋จธ์‹ ), ์—…์  ์‹œ์Šคํ…œ(like ์ŠคํŒ€)
โ€ข
i18n: Lingui (๋‹ค๊ตญ์–ด ์ง€์›: ํ•œ๊ตญ์–ด/์˜์–ด)

๐Ÿงฉ ๊ตฌํ˜„ ํฌ์ธํŠธ์™€ ๊ณ ๋ฏผ

1. ํ„ฐ๋ฏธ๋„ UI ์„ค๊ณ„

์ฒ˜์Œ์—๋Š” ์ง„์งœ ์‰˜์ฒ˜๋Ÿผ ๋งŒ๋“ค์–ด๋ณผ๊นŒ ํ–ˆ์ง€๋งŒ, ์ง„์ž… ์žฅ๋ฒฝ์ด ๋„ˆ๋ฌด ๋†’์•„์งˆ ๊ฒƒ ๊ฐ™์•„ ์•ฝ๊ฐ„ โ€˜๊ฐ€์งœ CLIโ€™์ฒ˜๋Ÿผ ๋™์ž‘ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ํƒํ–ˆ๋‹ค.
โ€ข
์ปค๋งจ๋“œ ์ž…๋ ฅ์€ ๋‹จ์ˆœ ๋ฌธ์ž์—ด ๋งค์นญ
โ€ข
ํžŒํŠธ๋‚˜ ์งˆ๋ฌธ์€ ํ•ด์ปค๊ฐ€ ๋‚จ๊ธด ํ…์ŠคํŠธ๋กœ ์ถœ๋ ฅ
โ€ข
๋ช…๋ น์–ด์— ๋”ฐ๋ผ ๋ณต๊ตฌ๋˜๋Š” ์ •๋ณด๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ํ™”๋ฉด์— ๋“ฑ์žฅ
โ†’ ์‹ค์ œ ํ„ฐ๋ฏธ๋„์ฒ˜๋Ÿผ โ€œ๋ฌด์กฐ๊ฑด ํƒ€์ดํ•‘ํ•ด์•ผ๋งŒ ์ง„ํ–‰๋˜๋Š” UXโ€๊ฐ€ ์•„๋‹ˆ๋ผ
โ€œ๊ธฐ์–ต์— ๋‚จ๋Š” ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ์ธํ„ฐ๋ž™์…˜โ€์ด ๋˜๋„๋ก ์ค‘๊ฐ„ ๋‚œ์ด๋„๋กœ ์„ค๊ณ„ํ–ˆ๋‹ค.

2. ํ•ด์ปค์˜ ๋งํˆฌ, ์บ๋ฆญํ„ฐ์„ฑ

๋‹จ์ˆœ ํ…์ŠคํŠธ ํ€ด์ฆˆ๊ฐ€ ์ง€๋ฃจํ•˜์ง€ ์•Š๊ฒŒ ํ•˜๋ ค๊ณ , ํ•ด์ปค์˜ ๋งํˆฌ๋Š” ์ผ๋ถ€๋Ÿฌ ์„ค์ •ํ–ˆ๋‹ค.
๊ณ ์–‘์ด ์ •์ฒด๋ฅผ ๊ฐ€์ง„ ์žฅ๋‚œ์Šค๋Ÿฌ์šด ํ•ด์ปค.
๋ฐœ๋กœ ํ‚ค๋ณด๋“œ๋ฅผ ์นœ ๋“ฏํ•œ ์˜คํƒ€, ํ„ฐ๋ฌด๋‹ˆ์—†๋Š” ์งˆ๋ฌธ, ๊ทธ๋ฆฌ๊ณ  ์•„์žฌ๊ฐœ๊ทธ๊นŒ์ง€.
What do you call a fake noodle? ...An impasta.
ํ…์ŠคํŠธ๋งŒ์œผ๋กœ๋„ ์บ๋ฆญํ„ฐ๊ฐ€ ์‚ด์•„ ์žˆ๊ฒŒ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ํ†ตํ•ด ํ•ด์ปค์˜ ์ •์ฒด๊ฐ€ ๋” ๊ถ๊ธˆํ•ด์ง€๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ๋‹ค.
์ด๊ฒƒ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š”(๋” ๋งŽ์€ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๊ฐ€๊ฒŒ๋” ๋งŒ๋“œ๋Š”) ๋ฐ ๋™๊ธฐ ๋ถ€์—ฌํ•˜๊ณ ์ž ํ–ˆ๋‹ค.
reactbits์˜ glitch letters ํšจ๊ณผ๋ฅผ ์ปค์Šคํ…€ํ•˜์—ฌ ascii art๋กœ ๋…ธํŠธ๋ถ ์œ„์— ์˜ฌ๋ผ๊ฐ„ ๊ณ ์–‘์ด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ํ–ˆ๋‹ค.

3. ํ”„๋กœํ•„์„ ๋ณต๊ตฌํ•˜๋ฉด์„œ ํ”„๋กœ์ ํŠธ ์„ค๋ช…์ด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋“œ๋Ÿฌ๋‚˜๋Š” ๊ตฌ์กฐ

๋ชจ๋“  ํ”„๋กœ์ ํŠธ ์ •๋ณด๋ฅผ ํ•œ ํ™”๋ฉด์— ํŽผ์ณ๋†“๋Š” ๋Œ€์‹ ,
โ€œ๋ณต๊ตฌโ€๋ผ๋Š” ํ–‰์œ„๋ฅผ ํ†ตํ•ด ์ ์ฐจ ์ •๋ณด๊ฐ€ ๊ณต๊ฐœ๋˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋‹ค.
์ด๊ฑด ์žฅ๋‚œ์ด ์•„๋‹ˆ๋ผ, ์‹ค์ œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์คฌ๋‹ค:
โ€ข
ํ•œ ๋ฒˆ์— ๋„ˆ๋ฌด ๋งŽ์€ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค
โ€ข
์‚ฌ์šฉ์ž๋Š” ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜ํ•˜๋‚˜์— ์ง‘์ค‘ํ•˜๊ฒŒ ๋œ๋‹ค
โ€ข
๋ณต๊ตฌ ๊ณผ์ •์ด ๋๋‚ฌ์„ ๋•Œ, ์ „์ฒด ๋งฅ๋ฝ์ด ๋” ๋˜๋ ทํ•˜๊ฒŒ ๋‚จ๋Š”๋‹ค
ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต๊ตฌํ•  ์ˆ˜๋ก ํ”„๋กœํ•„ ํŽ˜์ด์ง€์— ๋‚ด์šฉ์ด ์ถ”๊ฐ€๋œ๋‹ค. ์˜ค๋ฅธ์ชฝ ๋””์˜ค๋ผ๋งˆ์—๋Š” ์ธํ„ฐ๋ž™์…˜์ด ๊ฐ€๋Šฅํ•œ ๋ฉ”์‰ฌ๋“ค์ด ์ˆจ๊ฒจ์ ธ ์žˆ๋‹ค.

4. ๋‹ค๊ตญ์–ด ์ง€์›๊ณผ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ 3D ์š”์†Œ

ํ•œ๊ตญ์–ด/์˜์–ด ๋™์‹œ ์ง€์›์€ ๊ธ€๋กœ๋ฒŒํ•œ ํ”ผ๋“œ๋ฐฑ์„ ๊ณ ๋ คํ•œ ๊ฒฐ์ •์ด์—ˆ๋‹ค.
๋˜ํ•œ react-three-fiber๋ฅผ ํ†ตํ•ด ๋ฐฐ๊ฒฝ์ด๋‚˜ ์ฃผ์š” ์‹œ๊ฐ ์š”์†Œ๋ฅผ 3D๋กœ ํ‘œํ˜„ํ•ด,
์‚ฌ์ดํŠธ ์ „์ฒด์— "๊นŠ์ด๊ฐ"์„ ๋ถ€์—ฌํ•˜๋ ค ํ–ˆ๋‹ค.
์ƒํ˜ธ์ž‘์šฉ ๊ฐ€๋Šฅํ•œ ์˜ค๋ธŒ์ ํŠธ๋“ค์ด ์žˆ๋‹ค.

๐Ÿ’ญ ๋งŒ๋“ค๊ณ  ๋‚˜์„œ ๋А๋‚€ ์ 

์ธํ„ฐ๋ž™์…˜์ด ๊ณผํ•˜๋‹ค๊ณ  ๋А๋‚„ ์ˆ˜๋„ ์žˆ๋‹ค. ์‹ค์ œ๋กœ ๊ธฑ๋‰ด์Šค์— โ€œํฌํŠธํด๋ฆฌ์˜ค๋Š” ๋ณด๊ธฐ ์‰ฌ์›Œ์•ผ ํ•˜์ง€ ์•Š๋‚˜์š”?โ€ ๊ฐ™์€ ๋Œ“๊ธ€๋„ ๋‹ฌ๋ ธ๋‹ค.
โ€ข
๊ทธ๋ž˜์„œ show me the hj ๋ผ๋Š” ์น˜ํŠธํ‚ค๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋ฒˆ์— ๋ณต๊ตฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.
โ€ข
ํ„ฐ๋ฏธ๋„๋กœ ๋ณด๋Š” ๊ฒƒ์€ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์–ด์„œ /career ํŽ˜์ด์ง€๋ฅผ ์ถ”๊ฐ€ํ•ด ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์ •๋ฆฌํ–ˆ๋‹ค.
๋‚˜๋Š” ์ด๋ฒˆ ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ํ†ตํ•ด ๋‹จ์ง€ โ€˜๋‚ด๊ฐ€ ์ด๋Ÿฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํ–ˆ๋‹คโ€™๋ฅผ ๋„˜์–ด, โ€œ๋‚˜๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๊ณ , ์ด๋ ‡๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ด๋‹คโ€๋ผ๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ๋‹ค.