-
Notifications
You must be signed in to change notification settings - Fork 3
๐ค Palette ๋ฉ๋ด ์ก๊ฐํ ๊ตฌํ์ฒด์ ๋ํ ๊ฐ๋จํ ๊ณ ๋ฏผ
CatyJazzy edited this page Dec 4, 2024
·
4 revisions
Palette๋ ๋ ธ๋๋ฅผ ์์ฑํ๊ธฐ ์ ์, ๋ ธ๋์ ํ์ ์ ๊ฒฐ์ ํ๊ธฐ ์ํด ํ์๋๋ ๋ฉ๋ด๋ฅผ ์๋ฏธํ๋ค. Palette์ ๋ํ ์๊ตฌ์ฌํญ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์บ๋ฒ์ค๋ก ๊ทธ๋ฆฐ ๋ ธ๋๊ฐ โ๋๋กญโํ์ ๋ ํ์๋์ด์ผ ํจ.
- ํผ์ณ์ง๋ ์ ๋๋ฉ์ด์ ์ ์ ์ฉํ ์ ์์ด์ผ ํจ.
- ์ต์ ๋ค์ด ๋งค๋ฒ ๋ฌ๋ผ์ง ์ ์์. (๊ฐ์๊ฐ ๋ณํด๋ ์ต์ ๋ค์ ์์น๊ฐ ์์ฐ์ค๋ฝ๊ฒ ๋ฐฐ์น๋ ์ ์์ด์ผ ํจ)
์ผ๋จ ์ก๊ฐํ ๋ชจ์์ ๋ํด 3๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ ธ๋ค.
- CSS๋ก ์คํ์ผ๋ง
- SVG
- Canvas๋ก ๊ทธ๋ฆฌ๊ธฐ
- ์ก๊ฐํ์ ๊ทธ๋ฆฌ๋ ๋ก์ง์ด ํ์ ์ด์์ผ๋ก ๋ณต์กํ๊ฒ ๋๊ปด์ก๋ค.
- Lucide React icon์ ์ฌ์ฉํ๋ ค๋ฉด svg๋ฅผ data url๋ก ๋ณํํ๊ฑฐ๋ ์ด๋ฏธ์ง์ฒ๋ผ ์ฌ์ฉํด์ผ ํ๋ค. ๋๋ Canvas ์๊ฐ ์๋๋ผ ์ ๋ ์์น๋ก ๊ณ์ฐํ์ฌ ๋ฐฐ์นํด์ผ ํ๋๋ฐ (์์ด์ฝ์ด) ์ดํ ์ก๊ฐํ (ํ)๊ณผ ๊ฒฐํฉ๋ ํํ๋ก์ ์กฐ์์ด ๋ฒ๊ฑฐ๋ก์ธ ๊ฒ ๊ฐ๋ค.
- Canvas์ ์ฑ๋ฅ์ ๋ง์ ์์ ์์๋ฅผ ๊ทธ๋ ค์ผ ํ ๋ ๊ณ ๋ คํด๋ณผ ์ ์๋๋ฐ, ๋จ์ํ ์ก๊ฐํ ๋ฒํผ 6๊ฐ๋๊น ๋ถ๋ด์ด ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
- ์ด๋ฒคํธ ํธ๋ค๋ง์ด ์ด๋ ค์์ง๋ค. (๋ฒํผ์ ๊ฐ๊ฐ ๊ทธ๋ ค์ฃผ๊ณ , ํด๋ฆญํ์ ๋์ ์์น๊ฐ ์ด๋ค ๋ฒํผ ์์ ์๋์ง ์๋ณํด์ผ ํจ, ํ์ ์ ๋ฐ๋ฅธ ๋์ ์ธ ์์ด์ฝ ์ฒ๋ฆฌ๊ฐ ์ด๋ ค์)
-
CSS๋ฅผ ํ์ฉํ ๊ฒฝ์ฐ, clip-path๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ ์ผ๋ถ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์์ ์ ํ์ ์ผ ์ ์๋ค. (tailwind๋ก๋ ๋ฐ๋ก ์ ์ฉ์ ๋ชปํ๊ณ ๋ณ๋์ ํด๋์ค ์ ์๊ฐ ํ์ํจ)
-
๋น์จ ์ ์ง์ ๋ฐฉ์์ด ๋ค๋ฅธ๋ฐ, SVG๋ viewbox๋ฅผ ํตํ ๊ฐ์ ์ขํ ์์คํ ์ผ๋ก ์กฐ์ ์ด ๋๋ฉฐ, CSS๋ ์ ์ง๊ฐ ์๋ ์๋ ์๋ค (๋๋ ์ก๊ฐํ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋ ๋ ๊ฐ๋ค์ ๋ค์ ๊ณ์ฐํด์ค์ผ ํ๊ฑฐ๋)
<svg viewBox="0 0 100 100">
<polygon
points="50 0, 93.3 25, 93.3 75, 50 100, 6.7 75, 6.7 25"
className={color}
/>
</svg>
- ํ๋ ํธ UI ๋ฑ์ฅ ์ ๋๋ฉ์ด์ ์ ๋ฃ์ ๋, ์ฐ๋ฆฌ๋ [๋๋๊ทธํ์ฌ ๋ณต์ฌ๋ ๋ ธ๋ โ ํ๋ฆฌ๋ฉํ ํ(?) ์ก๊ฐํ โ ์์ฑ๋ ๋ฒ์ง ์ก๊ฐํ]๋ก ๊ฐ์ ธ๊ฐ๊ธฐ๋ก ํ์๋ค. ๊ทธ๋ฐ๋ฐ ๋ ธ๋๋ Canvas์์ ๊ทธ๋ ค์ง ๊ฒ์ด๊ณ , ํ๋ ํธ๋ ๋ ์๋ฆฌ๋จผํธ์ฌ์ ๊ทธ ์ฌ์ด์ ์ ํ์ ๋งค๋๋ฝ๊ฒ ๊ตฌํํ๋ ๊ฒ์ด ์ด๋ ค์์ก๋ค.
- ๊ทธ๋ผ Canvas๋ก ๊ตฌํํด์ผ ํ์๊น? ๋ค์ ๋์๋ด๋ ํ๋ ํธ ๋ฑ์ฅ โ์ ๋๋ฉ์ด์ โ๋ณด๋ค๋, ํ๋ ํธ์์ ๋ ธ๋์ ํ์ ์ ํด๋ฆญํ์ฌ ๋ ธ๋๋ฅผ ์์ฑํ๋ ๊ฒ์ด ํต์ฌ ๋ก์ง์ด๋ค. ๋ฐ๋ผ์ ์ด๋ฒคํธ ํธ๋ค๋ง๊ณผ ๊ตฌํ ๋ณต์ก๋๊ฐ ๋ฎ์์ง๋ svg ์ ํ์ด ๋ ์ ์ ํ๋ค๊ณ ์๊ฐํ๋ค.
- ๐ ํ ๋ ธ์
- ๐ค ๊ทธ๋ผ์ด๋ ๋ฃฐ
- ๐ค๏ธ ๋ฐ์ผ๋ฆฌ ์คํฌ๋ผ
- ๐ ํ์๋ก
- โ๏ธ ๊ทธ๋ฃน ํ๊ณ
- โ๏ธ Git & Github ์ปจ๋ฒค์
- ๐ฏ ์๋น์ค ๊ฐ์
- ๐ฅ๏ธ ์์ด์ดํ๋ ์
- โ๏ธ ์ธํ๋ผ ์ํคํ ์ณ
- ๐๏ธ ํ๋ก๋ํธ ๋ฐฑ๋ก๊ทธ
- ๐จ Canvas ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋น๊ต์ ๊ณ ๋ฏผ
- ๐ซ CSS, JS ์์ด๋ SVG ๋ชจํ์ ๊ตฌํํ ์ ์๋ค๋
- ๐ฅ CRDT๋ฅผ ํ๋ก์ ํธ์ ์ ์ฉํ๊ธฐ - Yjs ๋ฐ์ดํฐํ์ ์ ์
- ๐ณ CI-CD-๊ฐ์ -๊ฒฝํ-๋ฐ-Dockerโcompose-ํ์ฉ
- ๐ฌ FPS ํ ์คํธ๋ก ์ฑ๋ฅ ์ต์ ํ ๊ณ ๋ฏผ ํด๊ฒฐํ๊ธฐ
- ๐ฉโ๐ Konva.js๋ก ์คํ์ด์ค ์ค ๊ธฐ๋ฅ ๊ตฌํํ๊ธฐ
- ๐ค Palette๋ฉ๋ด ์ก๊ฐํ ๊ตฌํ์ฒด์ ๋ํ ๊ฐ๋จํ ๊ณ ๋ฏผ
- ๐งโ๐ป React์์ Y.js๋ฅผ ์ฌ์ฉํ๊ธฐ
- ๐ค React์์ Dialog๋ฅผ ๋งค๋๋ฝ๊ฒ ๊ด๋ฆฌํ๊ธฐ
- ๐ WebRTC, WebSocket, SocketIO ๊ธฐ์ ์ ์ ์ ๊ทผ๊ฑฐ์ ์ด์
- ๐ฅ ๋์ํธ์ง ๋งํฌ๋ค์ด ์๋ํฐ ๊ตฌํ๊ธฐ
- ๐ฑ ๋ชจ๋ฐ์ผ ํ๊ฒฝ์ ์ํ ๋ ธ๋.๊ฐ์ ์กฐ์ ๊ธฐ๋ฅ์ ์ง์ํด๋ณด์
- ๐งฑ ๋ชนํ๋ก๊ทธ๋๋ฐ์ผ๋ก ์ค๊ณํ ๊ธฐ๋ณธ ์ปดํฌ๋ํธ
- ๐จ ๋ฐฑ์๋ MySQL์์ MongoDB๋ก ๊ฐ์ ํ ๊ทผ๊ฑฐ ๋ฐ Redis๋ก ์บ์ฑ์ ํ์ง ์๋ ์ด์
- ๐ช ์ฐ์ฌ๊ณก์ ์ฌํ์ํ Gooey ์ธํฐ๋์
- โจ ์ธํฐ๋์ ๊ตฌํ๊ธฐ: ํ๋, ๊ทธ๋ฆฌ๊ณ ์ด๋