์ฆ๊ธฐ๊ณ , ๋ฒ ํ ํ๊ณ , ๊พธ๋ฉฐ๋ณด์ธ์! ์ฐ๋ฆฌ ์๋น์ค๋ ์ค์๊ฐ ๋ฒ ํ ์ ์ง๋ฆฟํจ๊ณผ ์ฑํ ์ ์ํต ์ฌ๋ฏธ๋ฅผ ๊ฒฐํฉํ ์๋ก์ด ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค!
- ์ฝ์ธ์ผ๋ก ๋ฒ ํ ํ๋ฉฐ ์์ธก์ ์ฌ๋ฏธ๋ฅผ ๋๊ปด๋ณด์ธ์.
- ์ฑํ ์ผ๋ก ์์ ๋กญ๊ฒ ์ํตํ๋ฉฐ ๋ค๋ฅธ ์ ์ ๋ค๊ณผ ์๋ค๋ฅผ ์ฆ๊ฒจ๋ณด์ธ์.
- ๋ฒ ํ ์ผ๋ก ์ป์ ์ฝ์ธ์ผ๋ก ๊ท์ฌ์ด ์ค๋ฆฌ๋ฅผ ๊ตฌ๋งคํด ๋๋ง์ ๋ง์ดํ์ด์ง๋ฅผ ๊พธ๋ฉฐ๋ณด์ธ์.
์ฌ๋ฏธ์๋ ๋ฒ ํ ๊ณผ ๋๋ง์ ๊ณต๊ฐ ๊พธ๋ฏธ๊ธฐ๋ก ํน๋ณํ ๊ฒฝํ์ ์ ์ฌํฉ๋๋ค. ์ง๊ธ ๋ฐ๋ก ํจ๊ปํ์ธ์, ์ํต๊ณผ ์ฆ๊ฑฐ์์ด ๊ฐ๋ํ ์๋ก์ด ์ธ๊ณ๋ก!
์ ํฌ ํ๋ก์ ํธ๋ ์น์ง์ง ์๋น์ค๋ฅผ ์ด์ฉํ๋ฉด์ ๋๋ ์์ฌ์์ ํด์ํ๊ธฐ ์ํด ์์๋์์ต๋๋ค.
ํธ์์น(Twitch)๋ ์ ์ธ๊ณ์ ์ผ๋ก ์ธ๊ธฐ ์๋ ์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ผ๋ก, ํ๊ตญ์์๋ ๋ง์ ์ฌ๋๋ค์ด ํฌ์ธํธ ์์ธก ์์คํ ์ ์ฆ๊ฒจ ์ฌ์ฉํ์ง๋ง ํธ์์น๊ฐ ํ๊ตญ์์ ์ฒ ์ํ๋ฉด์ ๋ ์ด์ ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ต๋๋ค. ๋์์ผ๋ก ๋ง์ ์ฌ๋๋ค์ด ์น์ง์ง์ด๋ผ๋ ์คํธ๋ฆฌ๋ฐ ํ๋ซํผ์ ์ด์ฉํ๊ธฐ ์์ํ์ง๋ง, ์น์ง์ง์๋ ๋ฒ ํ ์๋น์ค๊ฐ ์๋ ์ ์ด ์์ฝ๋ค๋ ์๊ฒฌ์ด ๋ง์์ต๋๋ค.
์ด๋ฌํ ํผ๋๋ฐฑ์ ๋ฐํ์ผ๋ก "์ฐ๋ฆฌ๊ฐ ์ง์ ๋ฒ ํ ์์คํ ์ ๋ง๋ค์ด๋ณด์!" ํ๋ ์๊ฐ์ ๊ณ๊ธฐ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๊ฒ ๋์์ต๋๋ค.
๐ฏ ์ฌ์ฉ์๋ค์ ์์ฌ์์ ์ฑ์์ค ํน๋ณํ ๋ฒ ํ ์์คํ ์ ๋ง๋๋ณด์ธ์!
๋ฒ ํ ๋์์์ ๋ฒ ํ ์ ๋ฐฉ์ฅ์ด ์ ํ ๋ ๊ฐ์ง ์ต์ ์ค ์น์ฐ์ด ๋ ๋์๋ณด์ด๋ ๊ฒ์ ๋(duck)์ฝ์ธ์ ๊ฑฐ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ฒ ํ ์ด ๋๋๋ฉด ์ฝ์ธ์ ์๊ฑฐ๋, ๋ฐฐ์จ๋งํผ์ ์ฝ์ธ์ ํ๋ํ ์ ์์ต๋๋ค.
โํ์ผ์ ์์ ํ๊ตญ์ด ์ด๊ธธ ๊ฒ์ธ๊ฐ ์ผ๋ณธ์ด ์ด๊ธธ ๊ฒ์ธ๊ฐ์ ๊ฐ์ ์ผ๋ฐ์ ์ธ ๋ฒ ํ โ์์๋ถํฐ, โ์ค๋ ๋ด๊ฐ ์ ๋ ์์ฌ ํ์ ๊ฐ์์ ๋จน์๋์ง ๋จน์ง ์์๋์งโ์ ๊ฐ์ ์์ฃผ ์ฌ์ํ ๊ฒ๊น์ง. ์ด๋ค ์ฃผ์ ๋ก ๋ฒ ํ ์ ํ ์ง๋ ์ ์ ์ผ๋ก ์ฌ๋ฌ๋ถ์๊ฒ ๋ฌ๋ ค์์ต๋๋ค.
โ๋ฒ ํ ์์คํ โ์ ๋ง๋ค์๋ ๋ชฉ์ ์ ๋ฐ๋ผ ์ฒ์์๋ ๋ฒ ํ ๊ธฐ๋ฅ๋ง์ ์๊ฐํ์ต๋๋ค. ์ ํ๋ธ, ์น์ง์ง, ์๋ฐฉ์ก ์คํฌ์ธ ๊ฒฝ๊ธฐ ๋ฑ์ ๋ค์ํ ์ปจํ ์ธ ์ค ์ฌ์ฉ์๊ฐ ์ํ๋ ์ปจํ ์ธ ๋ฅผ ์์ฒญํ๋ฉฐ ๋ฒ ํ ์ ํ ์ ์๋ค๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์, ๋ณ๋์ ์ปจํ ์ธ ๋ฅผ ์ ๊ณตํ์ง ์๊ณ ์์ ์ฐฝ์ผ๋ก ๋์๋๊ณ ๋ฒ ํ ๋ง์ ์ฆ๊ธธ ์ ์๋๋ก ๊ตฌํํ์ต๋๋ค.
@react-three/fiber๋ฅผ ์ฌ์ฉํ์ฌ React ํ๊ฒฝ์์ Three.js๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํตํฉ, ์๋๊ฐ ๋์น๋ 3D ์ค๋ฆฌ ๋ชจ๋ธ์ ์ถ๊ฐํ์ต๋๋ค.
์ฌ์ฉ์๋ ์ฝ์ธ์ผ๋ก ์ค๋ฆฌ๋ฅผ ๊ตฌ๋งคํด ๋ง์ดํ์ด์ง๋ฅผ ๊พธ๋ฐ ์ ์์ต๋๋ค.
๋ฒ ํ ๊ณผ ํจ๊ป ์ด๋ ํ ์ฆ๊ฑฐ์์ ์ค ์ ์๋ ๋ฐฉ๋ฒ์ด ์์๊น? ๋ฒ ํ ํด์ ํ๊ธ์ ๋ฒ ์ ์๋ ๊ฒ ์๋๋ฐ, ์ฌ์ฉ์๊ฐ ์ด๋ค ์ฌ๋ฏธ๋ฅผ ์ป์ด๊ฐ ์ ์์๊น? ํ๋ ์๊ฐ์ ํ์ต๋๋ค. ๋ฒ ํ ์ผ๋ก ๋ฒ ๋์ ์ด๋์ ์ฐ๋ ๊ฒ์ด ์ข์๊น?
์ฌ๋๋ค์ด ํ๋ค๊ฒ ๋์ ๋ฒ๋ ์ด์ ๋ ํ์ํ ์ด๋ค ๊ฒ์ ๊ตฌ๋งคํ๊ธฐ ์ํจ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด์ฌํ ๋ฒ ํ ์ ํด์ ๋ญ๊ฐ๋ฅผ ์ด ์ ์์ผ๋ฉด ์ข์ง ์์๊น? ๋ง์นจ ๋ถ์คํธ์บ ํ์ ๋ง์ค์ฝํธ๋ ๋ถ๋์ด(์ค๋ฆฌ)๋๊น ์ค๋ฆฌ๋ฅผ ์ด ์ ์๊ฒ ์ปจํ ์ธ ๋ฅผ ๋ง๋ค์ด ๋ณด์!
๊ทธ๋์ ์ ํฌ๋ ๋ง์ดํ์ด์ง๋ฅผ ์ถ๊ฐํ๊ณ , ์ค๋ฆฌ๋ฅผ ๊ตฌ๋งคํ๊ณ , ์ค๋ฆฌ๋ฅผ ๋ชจ์ ์ ์๋๋ก ๊ตฌ์ํ์ต๋๋ค.
๋นํ์ ๋ก๊ทธ์ธ์ ํตํด ์ฌ์ฉ์๊ฐ ๋ ์ฝ๊ฒ ์๋น์ค๋ฅผ ์ฒดํํ ์ ์๋๋ก ์ค๊ณํ์์ผ๋ฉฐ IP ๊ธฐ๋ฐ ์ ํ์ ํตํด ๋นํ์ ๋ก๊ทธ์ธ ์์คํ ๋จ์ฉ์ ์ ํํฉ๋๋ค.
- ๋นํ์์ด ๋ก๊ทธ์ธํ ๊ฒฝ์ฐ, ์ผ๋ฐ ํ์๊ณผ ๊ตฌ๋ถํ๊ธฐ ์ํด "์ต๋ช ์"๋ผ๋ ์ด๋ฆ์ด ์๋ ์ถ๊ฐ๋๋ฉฐ, ๊ฐ๋จํ ๋๋ค์๋ง์ผ๋ก ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์ต๋๋ค.
- ํ ์ฌ๋์ด ์ฌ๋ฌ ์์ด๋๋ฅผ ์์ฑํด ๋ถ๋นํ๊ฒ ๋ฒ ํ ์ ์ฐธ์ฌํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด, IP ๊ธฐ๋ฐ ์ ํ์ ๊ตฌํํ์ฌ ๋์ผ IP์์๋ ์ด์ ์ ์์ฑ๋ ๋๋ค์์ผ๋ก๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํฉ๋๋ค.
Caution
๋นํ์ ๋ก๊ทธ์ธ์ ์ฒดํ์ ์ด์ ์ ๋ง์ถ ๊ธฐ๋ฅ์
๋๋ค. ๋ฐ๋ผ์ ๊ณต์ฉ IP ํ๊ฒฝ์์๋ ๋ก๊ทธ์ธ ์ ํ์ด ๋ถํธํ ์ ์์ต๋๋ค.
์ด๋ฐ ๊ฒฝ์ฐ, ๊ฐ๋จํ ํ์๊ฐ์
์ ํตํด ์๋น์ค์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์จ์ ํ ๊ฒฝํํ ์ ์์ต๋๋ค.
๋ฒ ํ ์์ฑ ํ์ด์ง๋ ์ฌ์ฉ์๊ฐ ์ง์ ์ ๋ชฉ, ์ผ์ด์ค1, ์ผ์ด์ค2, ํ์ด๋จธ, ์ต์ ๊ธ์ก์ ์ค์ ํ ์ ์๋๋ก ๊ตฌ์ฑ๋์์ต๋๋ค.
๋ํ, ์ ํจํ ์ ๋ ฅ ๊ฐ์ด ์ ๋ ฅ๋ ๊ฒฝ์ฐ์๋ง ๋ฐฉ์ ์์ฑํ ์ ์์ต๋๋ค.
์ค์๊ฐ์ผ๋ก ๋ฐฉ์ ์ ์ฅํ ์ฌ์ฉ์ ๋ช ๋จ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด๋ฅผ ํตํด ๊ด๋ฆฌ์๋ ์ฐธ์ฌ์๋ฅผ ํจ์จ์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์ ๊ฐ์ ์ํต์ ์ง์ํฉ๋๋ค.

๊ด๋ฆฌ์๋ ์งํ ์ค์ธ ๋ฒ ํ ์ ์ทจ์ํ๊ฑฐ๋ ์ข ๋ฃํ ์ ์์ผ๋ฉฐ ์ฐธ์ฌ์๋ ์์ ์ ์ฝ์ธ์ ํ์ฉํ์ฌ ์ํ๋ ์ต์ ์ ๋ฒ ํ ํ ์ ์์ต๋๋ค.
์ฐธ์ฌ์๋ ์์ ํ ์ฝ์ธ์ ์ผ๋ถ๋ฅผ ์ํ๋ ์ต์ ์ ์ค์๊ฐ์ผ๋ก ๋ฒ ํ ํ ์ ์์ต๋๋ค.
์๋ฒ์ ํด๋ผ์ด์ธํธ ๊ฐ์ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์๋ฐฉํฅ ํต์ ์ ํตํด ์ค์๊ฐ ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ์ ์ฌ์ฉ์ ๊ฐ์ ๋๊ธฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ฐฉ์ ์ฐธ์ฌํ ๋ชจ๋ ์ฌ์ฉ์๊ฐ ์ค์๊ฐ์ผ๋ก ์ฑํ ์ ์ฐธ์ฌํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค.
์ด๋ฅผ ํตํด ์ฌ์ฉ์ ๊ฐ ๋ฒ ํ ๊ด๋ จ ๋ ผ์์ ์๊ฒฌ ๊ตํ์ด ์ํํ๊ฒ ์ด๋ฃจ์ด์ง ์ ์์ต๋๋ค.
์์ ์ ์ธ ์๋ฐฉํฅ ํต์ ์ผ๋ก ๋ฉ์์ง๊ฐ ์ง์ฐ ์์ด ์ ๋ฌ๋ฉ๋๋ค.
Important
ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์ฌ์ฉ์์ ํธ์์ฑ๊ณผ ์์คํ
์ ์์ ์ฑ์ ์ํด ๋ค์ํ ๊ธฐ์ ์ ๋์ ๊ณผ ๋ฌธ์ ํด๊ฒฐ์ ๊ฒฝํํ์ต๋๋ค. ์๋๋ ๊ทธ ์ค ํต์ฌ์ ์ธ ๋ด์ฉ๋ค์
๋๋ค.
๋ ์์ธํ ๊ตฌํ ๊ณผ์ ๊ณผ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ Wiki ํ์ด์ง์์ ํ์ธํ์ค ์ ์์ต๋๋ค. Wiki๋ฅผ ํตํด ๊ตฌ์ฒด์ ์ธ ์ค์ , ์ฝ๋ ์ค๋ํซ, ์ฌํ ๋ด์ฉ์ ํ์ธํด ๋ณด์ธ์!
์ ํฌ ํ๋ก์ ํธ๋ ๋ฒ ํ ์ผ๋ก ์ป์ ์ฝ์ธ์ผ๋ก Three.js๋ฅผ ํ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ค๋ฆฌ๋ฅผ ๊ตฌ๋งคํ ์ ์๋ ๊ธฐ๋ฅ์ ๊ตฌํํ์์ต๋๋ค. ๊ฐ๋ฐ ๊ณผ์ ์์ ์ฐ๋ฆฌ๊ฐ ์ง๋ฉดํ๋ ์ฃผ์ ๋ฌธ์ ๋ 3D ๋ชจ๋ธ๋ง ํ์ผ(.glb)๊ณผ ํ๊ฒฝ ๋งตํ ํ์ผ(.hdr)์ ์๋ฒ์ ๋ฐฐํฌํ๋ ๊ณผ์ ์ด์์ต๋๋ค.
์ด ๋ฌธ์ ์ ๊ตฌ์ฒด์ ์ธ ์์ธ์ Vite๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด๋ฌํ 3D ์์ ํ์ผ๋ค์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ์์์ต๋๋ค. ์ฐ๋ฆฌ๋ Vite์ ์ค์ ์ ์์ ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ต๋๋ค. ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๊ณผ ์์ธํ ์ค์ ๋ฐฉ๋ฒ์ ์๋ ๋งํฌ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ: Wiki | Vite ๋น๋ ์ ์ผ์ด๋๋ ์์ ๋ค
ํด๋น ํ์ด์ง์์ ๊ฐ์ ์ ๋ ฅํ ๋๋ง๋ค ๊ด๋ จ ์๋ ์ปดํฌ๋ํธ๋ค์ด ๊ฐ์ด ๋ฆฌ๋ ๋๋ง์ด ๋๋ ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ์ฌ ์ํ ๊ด๋ฆฌ์ ๋ ๋๋ง ์ต์ ํ๋ฅผ ํตํด ์ ๋ ฅ ๊ณผ์ ์์์ ์ฑ๋ฅ ์ ํ ์ต์ํ๋ฅผ ์ํด์ ๋ ธ๋ ฅํ์๊ณ ๋ํ ์ ํจ์ฑ ๊ฒ์ฆ์ ํตํด ๋ชจ๋ ํ๋๊ฐ ์ ์ ํ ์ ๋ ฅ๋ ๊ฒฝ์ฐ์๋ง ์์ฒญ ์ ์กํ๋๋ก ์ค์ ํ์ฌ ๋ฐฑ์๋์์ ํต์ ์์ ํ์ ๋ฐ์ดํฐ ๊ฒ์ฆ ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ๋ก ์ ๋ขฐ์ฑ์ ํ๋ณด ํ๊ณ ์ ํ์์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ: Wiki | ๋ถํ์ํ ๋ฆฌ๋ ๋๋ง ๋ฐฉ์ง
Socket.io๋ฅผ ํ์ฉํ ๋ฒ ํ ๊ธฐ๋ฅ ๊ตฌํ ์ค ์๋ชป๋ ์์ผ ์ฐ๊ฒฐ ๊ด๋ฆฌ๋ก ์ธํ ์๋ฒ ๋ค์ด ๋ฌธ์ ๋ฐ์
CSR(Client-Side Rendering) ๋ฐฉ์์ ํ๋ก์ ํธ์์ ์์ผ ์ฐ๊ฒฐ์ useEffect๋ก ๊ด๋ฆฌํ์ง๋ง, ํด๋ฆฐ์ ํจ์์์ ์์ผ ์ฐ๊ฒฐ์ด ์ ๋๋ก ์ข ๋ฃ๋์ง ์์ ๋ถํ์ํ ์ฐ๊ฒฐ์ด ๊ณ์ ์ ์ง๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ด๋ก ์ธํด ์ปดํฌ๋ํธ ์ธ๋ง์ดํธ๋ ์์กด์ฑ ๋ฐฐ์ด ๋ณ๊ฒฝ ์ ๊ธฐ์กด ์์ผ ์ฐ๊ฒฐ์ด ๋์ ๋์ด ๋ฉ๋ชจ๋ฆฌ ๋์์ ์๋ฒ ๋ฆฌ์์ค ๋ญ๋น๋ก ์ด์ด์ก์ต๋๋ค.
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด useEffect์ ํด๋ฆฐ์ ํจ์ ์๋ ์๋ฆฌ, ๋น๋๊ธฐ ์์ ์ฒ๋ฆฌ ์ ํด๋ฆฐ์ ๊ตฌํ ๋ฐฉ๋ฒ, ์ํ ์ด๊ธฐํ๋ฅผ ํ์คํ ๋ณด์ฅํ๋ ๋ฐฉ๋ฒ์ ํ์ตํ๊ณ ์ ์ฉํ์ฌ ์์ผ ์ฐ๊ฒฐ ๊ด๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ: Wiki | ์์ผ ๊ด๋ฆฌ ์คํจ๋ก ์ธํ ์๋ฒ ๋ค์ด ๋ฌธ์ ํด๊ฒฐ

์์ธํ ๋ณด๊ธฐ: Wiki | Redis Streams ๊ตฌํ
Redis์ List์ Pub/Sub์ ํ์ฉํ์ฌ ๋ฉ์์ง ํ๋ฅผ ๊ตฌํํ์์ต๋๋ค.
List๋ฅผ ์ฌ์ฉํด ๋ฉ์์ง์ ์์ฐจ์ ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ๊ณ , Pub/Sub์ ํตํด ํน์ ์์ ์์ ๋ฉ์์ง๋ฅผ ์๋นํ ์ ์๋๋ก ํฉ๋๋ค.
๋ํ, ACK Timeout์ ํตํด ์ฒ๋ฆฌ๋์ง ์์ ๋ฉ์์ง๋ฅผ ๊ฐ์งํ๊ณ ์ฌ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๊ตฌ์ฑํ์์ต๋๋ค.
์ด ๋ฉ์์ง ํ๋ ๋ฒ ํ ์ข ๋ฃ ํ, ์ฌ์ฉ์๋ค์ ์ค๋ฆฌ ์ฝ์ธ ์ ๋ฐ์ดํธ ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋์์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ: Wiki | ๋ฒ ํ ๋์ ์ ์ฉํ ๋ค์ํ ์บ์ ์ ๋ต
์์คํ ์ฑ๋ฅ ์ต์ ํ์ ๋ฐ์ดํฐ ์ผ๊ด์ฑ ์ ์ง์ ๊ท ํ์ ์ํด ๋ค์ํ ์บ์ ์ ๋ต์ ์ค๊ณํ๊ณ ๊ตฌํํ์ต๋๋ค.
ํ๋ก์ ํธ์์๋ย Read Through,ย Write Through,ย Write Backย ๋ฑ ์ฌ๋ฌ ์บ์ ์ ๋ต์ ์ํฉ์ ๋ง๊ฒ ์ ์ฉํ์ต๋๋ค.
์ ์ ์ ๋ณด ์กฐํ์๋ย Read Through๋ฅผ ์ฌ์ฉํด ๋น ๋ฅธ ์๋ต ์๋๋ฅผ ํ๋ณดํ๊ณ , ๋ฒ ํ ๋ฐ์ดํฐ ์ ์ฅ์๋ย Write Through๋ฅผ ์ ์ฉํด ๋ฐ์ดํฐ ์ ํฉ์ฑ์ ์ ์งํ์ผ๋ฉฐ, ์ค์๊ฐ ๋ฒ ํ ์ ๋ณด ๊ด๋ฆฌ์๋ย Write Back์ ํ์ฉํด ์ฐ๊ธฐ ๋ถํ๋ฅผ ์ค์ด๋ฉด์ ์ค์๊ฐ์ฑ์ ๋ณด์ฅํ์ต๋๋ค.
์์ธํ ๋ณด๊ธฐ: Wiki | Redis HINCRBY๋ก ๋์์ฑ ๋ฌธ์ ํด๊ฒฐ
์ค์๊ฐ ๋ฒ ํ ์ฒ๋ฆฌ์์ย Redis์ HINCRBY ๋ช ๋ น์ด๋ฅผ ํ์ฉํด ๋์์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. Redis์ ๋จ์ผ ์ค๋ ๋ ๊ธฐ๋ฐ ํน์ฑ๊ณผ HINCRBY์ ์์์ฑ์ ํ์ฉํด ๋ฐ์ดํฐ ์ ๋ฐ์ดํธ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ๋ถ์ผ์น๋ฅผ ๋ฐฉ์งํ์ต๋๋ค. ์ด๋ฅผ ๊ฒ์ฆํ๊ธฐ ์ํดย 100๋ง ๋ฒ์ ๋์ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ํ ์คํธ๋ฅผ ์งํํ๋ฉฐ ์์ ์ฑ์ ํ์ธํ์ต๋๋ค.
๋ถ๋ฅ | ๊ธฐ์ ์คํ | ์ฐธ๊ณ |
---|---|---|
๊ณตํต | Husky๋ก commit message์ ์ด์ ๋ฒํธ ์ถ๊ฐ ์๋ํํ๊ธฐ | |
Frontend | FE ๊ธฐ์ ์คํ ์ ์ ์ด์ | |
Backend | BE ๊ธฐ์ ์คํ ์ ์ ์ด์ | |
Database | ||
Infrastructure |
WEB14-BOOSTPROJECT/
โโโ .github/ # GitHub ๊ด๋ จ ์ค์ (์ํฌํ๋ก์ฐ, ์ด์ ํ
ํ๋ฆฟ ๋ฑ)
โโโ .husky/ # Git ์ปค๋ฐ ๋ฐ ํธ์ ํ
์ค์ ๋๋ ํ ๋ฆฌ
โโโ backend/ # ๋ฐฑ์๋ ์์ค ์ฝ๋ ๋๋ ํ ๋ฆฌ
โโโ frontend/ # ํ๋ก ํธ์๋ ์์ค ์ฝ๋ ๋๋ ํ ๋ฆฌ
โโโ node_modules/ # ํ๋ก์ ํธ ์์กด์ฑ ํจํค์ง๊ฐ ์ ์ฅ๋๋ ๋๋ ํ ๋ฆฌ
โโโ shared/ # ํ๋ก ํธ์๋์ ๋ฐฑ์๋์์ ๊ณตํต์ผ๋ก ์ฌ์ฉํ๋ ์ฝ๋ (์: ์ ํธ๋ฆฌํฐ ํจ์, ํ์
์ ์ ๋ฑ)
โโโ .editorconfig # ์ฝ๋ ์คํ์ผ ํต์ผ์ ์ํ ์๋ํฐ ์ค์ ํ์ผ
โโโ .gitignore # Git์ ํฌํจํ์ง ์์ ํ์ผ ๋ฐ ๋๋ ํ ๋ฆฌ ๋ชฉ๋ก
โโโ .npmrc # npm ์ค์ ํ์ผ (๋ ์ง์คํธ๋ฆฌ ๊ฒฝ๋ก, ์บ์ ์ค์ ๋ฑ)
โโโ .nvmrc # ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ Node.js ๋ฒ์ ๋ช
์
โโโ .prettierrc # Prettier ์ฝ๋ ํฌ๋งท ์ค์ ํ์ผ
โโโ docker-compose.yml # Docker Compose ์ค์ ํ์ผ
โโโ eslint.config.mjs # ESLint ์ค์ ํ์ผ (์ฝ๋ ํ์ง ๊ฒ์ฌ์ฉ)
โโโ nginx.conf # Nginx ์๋ฒ ์ค์ ํ์ผ (ํ๋ก๋์
ํ๊ฒฝ)
โโโ nginx.dev.conf # Nginx ๊ฐ๋ฐ ํ๊ฒฝ ์ค์ ํ์ผ
โโโ package.json # ํ๋ก์ ํธ ์ข
์์ฑ ๋ฐ ์คํฌ๋ฆฝํธ ์ ๋ณด
โโโ pnpm-lock.yaml # PNPM ํจํค์ง ๋งค๋์ ์ ๊ธ ํ์ผ (์์กด์ฑ ๋ฒ์ ๊ณ ์ )
โโโ pnpm-workspace.yaml # PNPM ์ํฌ์คํ์ด์ค ์ค์ ํ์ผ (๋ชจ๋
ธ๋ ํฌ ํ๊ฒฝ ๊ด๋ฆฌ)
์๋น์ค ์ฌ์ฉ ์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์?
์๋ ๊ตฌ๊ธ ํผ์ ํตํด ๋ฒ๊ทธ๋ฅผ ์ ๋ณดํด ์ฃผ์ธ์!
๋ฒ๊ทธ ๋ฆฌํฌํธ ์ ์ถํ๊ธฐ
![]() |
![]() |
![]() |
![]() |
---|---|---|---|
[BE] J184 ์ด์ํธ | [BE] J221 ์ ๋๊ต | [FE] J230 ์ ์งํธ | [FE] J262 ์ต์ ๋ฏผ |