-
Notifications
You must be signed in to change notification settings - Fork 4
Day24
๋ฏผ์ง: ๋ฆ๊ฒ ์
๋ช ์ฌ: ์ฝ๋ก๋ 4์ฒ๋ช ์ด๋ผ ๋ฌด์์์ ์ฝ๋ ธ์ ๋ชป๊ฐ๊ฒ ์
์์ฉ: ์ฌ์ง ์ฐ๋ ๊ฑธ ์ข์ํด์ ํ๋ฆ ์นด๋ฉ๋ผ ๋์ธ๊ฐ ์ฅ์์ฉ์ผ๋ก ๋ชจ์ ๋๋ ์ค
์์ฃผ: !? ํ๋ก์ ํธ ๋ฐํ ํ์ด์ง์ ์ฐ๋ฆฌ ํ ์นด๋๊ฐ ์์ด์ง
๊ตฌํ ์คํฌ๋ฆฐ์ท ๋ณด์๋ฉด ์์ ์ค์ผ ๋ xx๋์ด ์์ ์ค์ ๋๋ค.๋ผ๋ ๋ฌธ๊ตฌ๋ก ๋ณ๊ฒฝ๋๊ฒ ํ๋๋ฐ ์ด๊ฑด ์ข ๋ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ฆ์ ๊ฐ์ ธ์์ ์ธ ์ ์๋ ํ์ธํ๋ ค๊ณ ํด๋ณธ๊ฑฐ๊ธดํ๋ฐ ์๋ฅผ ์ด๋ป๊ฒ ํ์ฉํ ์ง ๊ณ ๋ฏผ์ ๋๋ค!
- ์ง๊ธ ์ ์งํ๊ณ ๋ ์ข์ ์์ด๋์ด ์๊ฐ๋๋ฉด ์์
์ ์ ๊ฐ ํ์ ์์๋์ด ์๋์ง์ ๊ฐ์ ๊ฒ์ฌ๋ฅผ ์ฌ๋ฌ๊ฐ ํ๊ฒ๋๋ฉด (ex ํ์ด ์กด์ฌํ๋์ง ํ์ธ - ํ์ ์์๋์๋์ง ํ์ธ - ๊ฐ์ ์ด๋ฆ์ด ์๋์ง ํ์ธ - ์ค์ ์คํ) ์ฑ๋ฅ์ด ์์ฒญ ์์ข์์ง์ง ์์๊น ์ถ์๋ฐ ์ด๋ป๊ฒ ํด์ผ๋ ๊น์?
- ๋ค ํ๋ํ๋ ํ์ธ์ ์ํ๊ณ ์ค๊ฐ์ ๊ฑธ๋ฆฌ๋ฉด 404 ๋ง์ง๋ง์ catch err์์๋ 409
๋ชฉ๋ก์ ์๋ ๋ช์ด์ ์ด๋ฐ ์๊ฐ์ด ์ ๋ฐ์ดํธ๊ฐ ์๋ฉ๋๋ค -> ์ผ์ ์ ์ค์๊ฐ ๋ฐ์ฒ๋ผ setinterval ๊ฐ์๊ฑธ ํด์ผํ ๊ฒ ๊ฐ์๋ฐ ์ผ๋จ ๋ค๋ฅธ๊ฒ ๋ฌธ์ ๋ผ ํจ์ค
- ์๊ฐ๋ง ์จ๋์
- ์ค๋์ด๋ฉด ์๊ฐ๋ง
- ์๊ทธ์ ๋ฉด MM์ DD์ผ
- ์๋ ์ด์ ์ด๋ฉด YYYY. MM. DD
์ฑํ ์์ nav๋ฐ์์ ํ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ์๊น๋๋ค.. ์ด๊ฑธ๋ก ๋ช์๊ฐ์งธ ์ฝ์ง ์ค์ ๋๋ค..์์ง๋ ํด๊ฒฐ์ด ์๋๋ค์ ๋ง๊ฐ์์ nav๋ฐ์ ํ์ ํ ์์ ๋ฒ๋ฆฌ๊ณ ์ถ๋ค์..^^!!ใ ใ กใ
- selector => atom์ผ๋ก
๋ง์ฝ ํ๋์ ์ ์ ๊ฐ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๋ก ๋ค์ด์ค๋ฉด ์ฑํ ๋ฐฉ ์ด๋๋ฅผ ๋ฐ์์ ๋ ์ด๋ refresh๊ฐ ๋์ค์ ๋ค์ด์จ ์ ์ ์๊ฒ๋ง ๊ฐ ๊ฒ ๊ฐ์ต๋๋ค.. ์๋ฌด๋ ๋ชฐ๋์ผ๋ฉด ์ข๊ฒ ์ด์
-
{์์ผid : ํid, ์ ์ id, socket}
-
{์์ผid2 : ํid, ์ ์ id, socket2}
-
export const onlineUsersByTeam = {};
-
export const onlineUsersInfo = {};
-
์์ผ ์ฐ๊ฒฐ ์ข ๋ฃ ์, store์์ ํด๋น ์ ์ id์ ๋ค๋ฅธ ์์ผ id๊ฐ ์กด์ฌํ๋ ์ง ํ์ธ ํ online ์ฌ๋ถ ํ๋จํ๋๋ก ๋ฆฌํฉํ ๋ง
- ์์บฃ ์ฑ๋ฅ ๊ฐ์
Konva
- HTML5 2d canvas js library
- react-konva is a JavaScript library for drawing complex canvas graphics using React.
- draggable = boolean
socket
- ๊ฒฝ์์กฐ๊ฑด
- postit.whoIsDragging = user.id(-1์ด๋ฉด ์๋ฌด๋ ์์ง๊ณ ์๋๊ฑฐ)
- postit.whoIsUpdating = user.id
- ์ฑ๋ฅ ๊ฐ์ (throttling)
chatRooms
{
1: {
chatRoomId: 1,
chatRoomName: '1๋ฒ๋ฐฉ',
lastMessage: {
messageId, content ..
}
}
2: {
}
3: {
}
}
lastMessages { 1: { message
}
}
์ผ์ ์ ํ๊ธ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ ์ผ์ ์์ ๋ถ๊ฐ๋ฅ ์ผ์ ์ญ์ ์, ๊ถํ์์ toast message
- ์ฑํ ๋ฐฉ ์ด๋ฆ ํ๊ธ๋ก ๋ณ๊ฒฝ ์๋จ
- ์ฑํ
๋ฐฉ ํด์ฅ์
- ์ฆ๊ฐ ๋ฐ์ ์ ๋๋ ๊ฒฝ์ฐ ์์
- ์ฑํ
๋ฐฉ ์ด๋์
- ์ด๋๋ฐ๋ ์ฌ๋ํํ ๋ฐ์ ์ ๋๋ ๊ฒฝ์ฐ
- ๊ธฐ์กด ๋งด๋ฒํํ ๋ฐ์ ์ ๋๋ ๊ฒฝ์ฐ
- ์ฑํ
๋ฐฉ ์ ์ ์ธ๋ค์ผ ์ปฌ๋ฌ๋ฐ์ ์ ๋จ
- ๋ชฉ๋ก์๋ ์ ์ ๋ฐ์
- ์ฑํ ๋ณด๋์๋ ๋น์ ์ ๋ฐ์
- ํ๊ด๋ฆฌ ๊ถํ ๋ณ๊ฒฝ ๋ค ์ ๋๋๋ฐ ์์ฃผ๋์ ๊ตฌ์ฑ์์์ ๊ด๋ฆฌ์๋ก ์ฌ๋ฆฌ๋๊ฒ 403์๋ฌ
- (์ค์ ๋ก๋ ์ ์ฉ๋๊ณ ๊ด๋ฆฌ์์์ ๊ตฌ์ฑ์ ๋ด๋ฆฌ๋๊ฑด ์ ๋จ)
- ์ผ์ ์์ (๋ก์ปฌ์์๋ ์ ๋จ)
- ๋ฐฐํฌ ์ ์ฉ ์๋๋ฏ?
- ๋ก๊ทธ์์์ด ์ ์๋ ๋๊ฐ ์์
๋ฐ๋ชจ - ์ง๊ธ ํ์ค๊น์? ๊ธฐ์ ๋ฐํ - PPT ๋ง๋ค๊ธฐ
ํ๋ ธ์ - ๋์ค์
- passport ์ด์ฉ ๋ก์ปฌ ๋ก๊ทธ์ธ, ๊นํ๋ธ ๋ก๊ทธ์ธ
- ๋ก์ปฌ ๋ก๊ทธ์ธ์ Bcrypt + AES๋ฅผ ์ด์ฉํด์ ์ํธํ,
- ํ์ด์ง ์ ์ฅํ๋ฉด ์ผ์ ๋ถ๋ฌ์ค๊ธฐ
- ์ผ์ ์์ฑ
- ์ผ์ ๋ฐ๋ณต ๋ฑ๋ก
- ์ผ์ ์์
- ์ผ์ ์ญ์
- ์ฃผ๊ฐ, ์๊ฐ ์ ํ
- ํ CR
- ํ ๋๊ฐ๊ธฐ
- ํ ๊ด๋ฆฌ์๋ก์
- ํ ์ ๋ณด ์ ๋ฐ์ดํธ
- ํ ์ญ์
- ํ์ ๊ฐํด
- ํ์ ์ด๋
- ํฌ์คํธ์ ์์ฑ, ์์
- ์์ผ ์ฐ๊ฒฐ
- DB ๊ตฌ์กฐ ๋ณ๊ฒฝ
- Postit, Message์ฒ๋ผ, ์ค์๊ฐ์ผ๋ก ๋ณ๋์ด ๋ฐ์ํ๋ ๋ฐ์ดํฐ๋ Redis์์ ๊ด๋ฆฌ
- ํฌ์คํธ์ ์ญ์
- UI ๊ฐ์ (ํฌ์คํธ์ ์์น)
- ๋์ ์ ๊ทผ ๋ฐฉ์ง(์ด๋, ์์ )
- ์ผ๋ถ ์ค๋ฅ ์์
- ํ์ ๊ถํ ๋ณ๊ฒฝ
- ํ ์์, ํ ๊ด๋ฆฌ์ ๊ถํ ํ์ธ
- ๋ฒ๊ทธ fix
- ์ฑํ page์ ์ฅํ๋ฉด, ๋ณธ์ธ์ด ์ํ ์ฑํ ๋ฐฉ ๋ชฉ๋ก์ ๋ถ๋ฌ์ด
- ์ฑํ ๋ฐฉ ๋ง๋ค๊ธฐ
- ์ฑํ ๊ธฐ๋ฅ
- ์ฑํ ๋ฐฉ ์ด๋
- ์ฑํ ๋ฐฉ ์ ์ ๋ชฉ๋ก ๋ณด๊ธฐ
- ์ฑํ ๋ฐฉ ๋๊ฐ๊ธฐ