-
Notifications
You must be signed in to change notification settings - Fork 4
Day16
LeeMir edited this page Nov 15, 2021
·
3 revisions
๋ฏผ์ง: ์ฃผ๋ง์ ์ ์ฌ์๋ค ์์ฃผ: ์กฐ์ฉํ ์ฃผ๋ง์ ๋ณด๋, ํน ์ผ ๋ช ์ฌ: ์๋์ฌ๋์ด ํฌ๋กฑ๋์ ์๊ณ ์์๋ค ์์ฉ: ํด์ปคํค์ ๋๊ฐ
- ํ ๋ด๋ถ ๊ด๋ฆฌ - ์์ฉ
- ํ ๋ณด๋ - ๋ช ์ฌ, ์์ฃผ
- ํ ์ฑํ - ๋ฏผ์ง
-
ํ ๋ด๋ถ ๊ด๋ฆฌ - ์์ฉ
- ํ ์ผ
- UI
- ๋ฉค๋ฒ ์ด๋
- ๋ฉค๋ฒ ๊ถํ ์์
- ๋ฉค๋ฒ ๊ฐํด
- ํ ์ญ์
- ํ ๋๊ฐ๊ธฐ
- ํ ๊ตฌ์ฑ์ ๊ฒ์
- ์๋ก ์ํ ํ์ธ
- ์ด๋ฒ์ฃผ์ ํ ์ผ
- UI
- ํ ์ญ์
- ํ ๋๊ฐ๊ธฐ
- ํ ๊ตฌ์ฑ์ ๊ฒ์
- ์๋ก ์ํ ํ์ธ
- ํ ์ผ
-
ํ ๋ณด๋ - ๋ช ์ฌ, ์์ฃผ
- ํ์
- ํ์ต
- ํ ์ผ
- ํฌ์คํธ์
- ์์ฑ
- ์์ฑ ๋ชจ๋ฌ
- ์ญ์
- ์ญ์ ๋ชจ๋ฌ (์ญ์ ํ์๊ฒ ์ต๋๊น? Y/N)
- ์์
- ์์ ๋ชจ๋ฌ
- ์ด๋
- ๋ฐฐ๊ฒฝ ์ ๋ณ๊ฒฝ
- ์์ฑ
- ํฌ์คํธ์
-
ํ ์ฑํ - ๋ฏผ์ง
- ํ ์ผ
- UI
- ์ฑํ ๋ฐฉ ์์ฑ
- ์ฑํ ๋ฐฉ ์ด๋
- ์ฑํ
- ์ฑํ
๋ฐฉ ๋ชฉ๋ก ๋ณด๊ธฐ
- ๋ฉ์์ง ์ ํ์ธ
- ์ฑํ ๋ฐฉ ๋๊ฐ๊ธฐ
- ์ฑํ ๋ฐ์
- ๋ฐฉ์ฅ
- ์ฑํ ๋ฐฉ ์ด๋ฆ ๋ณ๊ฒฝ
- ์ ์ ๊ฐํด
- ์ด๋ฒ์ฃผ ํ ์ผ
- UI
- ์ฑํ ๋ฐฉ ์์ฑ
- ์ฑํ ๋ฐฉ ์ด๋
- ์ฑํ
- ์ฑํ ๋ฐฉ ๋ชฉ๋ก ๋ณด๊ธฐ
- ํ ์ผ
team์์ ํ ์ ํํด์ ์ ์ํ๋ ๊ฒฝ์ฐ๋ ๊ด์ฐฎ์๋ฐ, ์๋ก๊ณ ์นจํ๊ฑฐ๋ ์ฃผ์๋ก ์ ์ํ ๊ฒฝ์ฐ ๋ฆฌ์ฝ์ผ์ ์ ์ ์ด๋ฉ์ผ์ด ์์ด์ ๋น์นธ์ผ๋ก ๊ฐ์ ธ์์ง๋๋ค. ํ์ฌ PrivateRoute์์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ค๋๋ฐ ์ด๋ถ๋ถ ์์ ์กฐ์ ์ด ์กฐ๊ธ ํ์ํ ๊ฒ ๊ฐ์ต๋๋ค!
socket context ํ์ผ์์ export const SocketContext = React.createContext(null); ์ด๊ฑฐ ๋๋์ฒด ํ์ ๋ญ๊น์?
ํ ๋ด๋ถ ๊ด๋ฆฌ ํ์ด์ง ๋ค์ด๋ฐ์ ํ์ฌ ๊ทธ๋ฅ UsersPage๋ก ํด๋จ๋๋ฐ ๋ ์ข์ ์ด๋ฆ์ด ์์๊น์?
- @types => dev
- typescript => dev
- eslint, prettier => dev
- @testing-library => dev
(๋งํ๋ค์ ๋ง์ด ์๋. ์ํผ ์๋)
์ ๋ Dom์ผ๋ก ํ๋๊ฒ ๋ ์ฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋๊ฐ์ ๋๋ค.
- DB์์ Postit ๋ฐ์ดํฐ ๋ถ๋ฌ์ด
- ๋ถ๋ฌ์จ ๋ฐ์ดํฐ๋ฅผ x,y ์ ๋ณด์ ๋ง๊ฒ Konva๋ก ๊ทธ๋ ค์ค
- ์์ฑ ๋ฒํผ ๋๋ฅด๋ฉด, Modal ๋ฑ์ฅ
- Modal form์ ์ฑ์ฐ๊ณ Submit ๋ฒํผ ๋๋ฆ
- ์๋ฒ์์ ๋ฐ์ดํฐ ๋ง๋ค๊ณ , ๋ง๋ ๋ฐ์ดํฐ๋ฅผ socket์ผ๋ก broadcasting
- socket.on('draw', drawPostit)
- ํฌ์คํธ์ ์ฐ์ธก ์๋จ ... ํด๋ฆญ์ ๋๋กญ๋ค์ด(์์ , ์ญ์ ) ํ์ 2-1. ์ญ์ ํด๋ฆญ: ์ญ์ ํ์๊ฒ ์ต๋๊น? (Y/N) ๋ชจ๋ฌ 2-2. ์์ ํด๋ฆญ: ์์ฑ ๋์ ๊ฐ์ Modal
- disconnect ๋๋ ์๊ฐ์ ์์น๋ง DB์ ๋ฐ์
- [Client] onDragStart๊ฐ ๋ฐ์ํ๋ฉด, socket.emit('move')
- [Server] socket.on('move', broadcast) https://konvajs.org/docs/react/index.html
<stage>
<layer>
<postit onDragStart={handleDragStart}, onDragEnd={handleDragEnd}/>
</layer>
</stage>
DB <-> Server <-> Client
ํ์ด์ง๊ฐ ๋ฐ๋๋ฉด room์ด ๋ฐ๋๋ ๊ฑฐ๊ณ BE์์ room๋ณ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ ๊ฑฐ๋ฉด ์๋ฐ์๋ฏ
- ์ฐ๋กํ๋ง, ๋๋ฐ์ด์ฑ
- offscreen canvas
- ๋ฐ์ดํฐ๋ BE ์์ผ์์ ์ ์ง, ๊ฐ๋ DB์ ์ ์ฅ
- ์๋ฒ ์ต์ด ์คํ ์ DB์์ ๋ถ๋ฌ์ ๋๊ธฐํ (DB -> Server)
- ์ ์ ๊ฐ ํ ๋ณด๋ page redirection ์, Server์์ ๋ถ๋ฌ์ด (Server -> Client)
- ๋ญ๊ฐ ์๋ก ๋ค ๊ทธ๋ฆฌ๋ ๊ฒ ์๋, ์๋กญ๊ฒ ์ถ๊ฐ๋ ๊ฒ๋ง ๋ฐ๋ก ๊ทธ๋ ค๋ด๋ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉด ์ข๊ฒ ์