๐ค ํ๋์ ๋ฌธ์๋ฅผ ์์ฑํ๋ฉด์ ๋ค๋ฅธ ๋ฌธ์๋ ํจ๊ป ๋ณด๊ณ ์ถ์๋ ์ ์์ผ์ ๊ฐ์?
๋ฌธ์ ์์ฑํ ๋ ์ฌ๋ฌ ์ฐฝ์ ๋์๋๊ณ ๋ฒ๊ฑฐ๋กญ๊ฒ ์์ ํ์ จ๋ ๋ถํธํจ์ด ์์์ฃ . ๊ธฐ์กด ์๋ํฐ๋ค์ ํ๋์ ์ฐฝ์ ๊ฐํ์์ด์, ์ฐธ๊ณ ํ ๋ด์ฉ์ด ์์ ๋๋ง๋ค ์ฐฝ์ ์ด๋ํด์ผ ํ์ด์.
Nocta๋ ์๋ํฐ์ ์๋ก์ด ๋ฐ๋์ ๋ถ์ด๋ฃ์์ด์.
- ํญ ๋ธ๋ผ์ฐ์ง์ผ๋ก ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์์ ๋กญ๊ฒ ๋๋๋ค ์ ์์ด์.
- ์ธํฐ๋ํฐ๋ธํ ์์๋ค๋ก ๋ฌธ์ ์์ฑ์ด ๋ ํฅ๋ฏธ๋กญ๊ฒ ๋ณํด์.
Nocta์์ ๋จ์ํ ๊ธฐ๋ก์ ๋์ด, ์๋ก์ด ๊ธ์ฐ๊ธฐ ๊ฒฝํ์ ์์ํ์ธ์.
๋ ธ์ | ๊ฐ๋ฐ์ํค | ์์ฐ์์ | ์ต์ข ๋ฐํ
${\textsf{\color{blue}์๋น์ค ์ ์ฒด๋ณด๊ธฐ}}$
๋งํฌ๋ค์ด ๋ฌธ๋ฒ
๋งํฌ๋ค์ด ๊ธฐ์ด ๋ฌธ๋ฒ
๋ธ๋ญ ๋๋๊ทธ์ค ๋๋กญ๊ณผ ์ฌ๋์
๋ธ๋ญ ์ ํ
๋ฆฌ์น ํ ์คํธ
์์ ๋ฆฌ์คํธ
์ํฌ์คํ์ด์ค
์ํฌ์คํ์ด์ค ์ ์
์ํฌ์คํ์ด์ค ์ด๋
์ํฌ์คํ์ด์ค ์ด๋์์
๊ธฐ์ ์ ๋์ ์ ์ํด RGA(Replicated Growable Array)์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ์ด์ LinkedList ๊ธฐ๋ฐ์ผ๋ก ๋ ผ๋ฆฌ์ ์๊ณ๋ฅผ ํ์ฉํ์ฌ ๊ฐ ๋ฌธ์๋ค์ ์ธ๋ฑ์ค์ ์์๋ฅผ ๊ด๋ฆฌํด์
- CRDT(Conflict-free Replicated Data Type)
- CRDT๋ฅผ ๊ตฌํํด๋ณด์ (1): CRDT๋ฅผ ์์๋ณผ๊น..?
- CRDT๋ฅผ ๊ตฌํํด๋ณด์ (5): DB ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ ํ๊ธฐ
- CRDT๋ฅผ ๊ตฌํํด๋ณด์ (6): CRDT๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ฐ์ + dev์ ๋ถ์ด๊ธฐ
- CRDT ๋์์ฑ ์ฒ๋ฆฌ
- CRDT ์ต์ ํํ๊ธฐ
CRDT ์ฐ์ฐ์ด ์ผ์ด๋๊ณ ์ํ๊ฐ ์ ๋ฐ์ดํธ๋๋ฉฐ, ์บ๋ฟ์ ์์น๊ฐ ์ด๊ธฐํ๋๊ฑฐ๋ ๋ค๋ฅธ ํ์ด์ง๋ก ์ด๋ํ์ด์ ์๋์ผ๋ก ์บ๋ฟ์์น๋ฅผ ์ค์ ํ๊ณ , ํ์ด์ง๋ณ๋ก CRDT๋ฅผ ์์ฑํด ๊ด๋ฆฌํ์ด์
์ค์๊ฐ์ผ๋ก ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์์ ๋ฌธ์๋ฅผ ํธ์งํ ์ ์๋ ๋งํฌ๋ค์ด ์๋ํฐ๋ฅผ ๊ตฌํํ์ด์.
CRDT๋ฅผ ํ์ฉํด ์ค์๊ฐ ๋์ ํธ์ง ์์ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ด์ ๋งํฌ๋ค์ด ํ๋ฆฌ๋ทฐ์ ์๋ํฐ๋ฅผ ๋๊ธฐํํ์ฌ ์์ฑํ๋ฉด์ ๋ฐ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ํ์ธํ ์ ์์ด์
- ๋งํฌ๋ค์ด์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น(1): ๋ฌธ๋ฒ ๋ณํ
- ๋งํฌ๋ค์ด์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น(3): ์ฐ๊ฒฐ๋ฆฌ์คํธ
๊ธฐ์กด์ ์ค์ฒฉ ๊ตฌ์กฐ๋ ๋ณต์กํ DOM ์ํ ๋ก์ง์ด ํ์ํ๊ณ ์๋ฌ ๋ฐ์ ๊ฐ๋ฅ์ฑ์ด ๋์์ด์ ๋ชจ๋ ์์์ depth๋ฅผ 1๋ก ํต์ผํ๊ณ prev/next ๊ด๊ณ๋ง ์ ์งํ๋๋ก ๊ฐ์ ํ์ด์
- ๋งํฌ๋ค์ด์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น(4): CRDT ์ ์ฉ์ ์ํ ๊ตฌ์กฐ ๋ณ๊ฒฝ
- ๋งํฌ๋ค์ด์ ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น(6): ๋ฆฌ์น ํ ์คํธ
macOS์ Windows์์ ํ๊ธ ์ ๋ ฅ ์ ์ปดํฌ์ง ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐฉ์์ด ๋ฌ๋ผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ด์ OS๋ฅผ ํ์ธํ์ฌ ๊ฐ OS์ ๋ง๊ฒ ์ฒ๋ฆฌํ์ด์
- ๋งํฌ๋ค์ด ๋๋ฒ๊น - ์๋์ฐ์์ ์ฐ์ฐ์ด ์ ๋๋ก ์๋๋ ๋ฒ๊ทธ
- ๋งํฌ๋ค์ด ํ๊ธ์ ๋ ฅ์ ๊ฒฝ์ฐ ๋ธ๋ก์ด 2๋ฒ ์๊ธฐ๋ ์ค๋ฅ
ํ์ด์ง๋ค์ด ํ๋ฉด์ ๋ฒ์ด๋์ง ์๋๋ก ์์น๋ฅผ ์กฐ์ ํ ์ ์๊ณ , 8๋ฐฉํฅ์ผ๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ด์. GPU๋ฅผ ํ์ฉํ ๋ ๋๋ง ์ต์ ํ๋ฅผ ์งํํ์ด์
Common
Frontend
Backend
Infra
2024.10.28 ~ 2024.12.06 (6์ฃผ)
# ์ ์ฅ์ ๋ณต์
git clone https://github.com/boostcampwm-2024/web33-boostproject.git
# ์์กด์ฑ ์ค์น
pnpm install
# ํ๋ก๋์
๋น๋
pnpm run build
# ํ๋ก์ ํธ ๊ฐ๋ฐ ๋ชจ๋ ์คํ
# Frontend: http://localhost:5173/
# Backend: http://localhost:3000/
pnpm run dev
# ํ๋ก์ ํธ Docker ๋น๋ ํ ์คํ (http://localhost/)
docker-compose up -d --build