- ๐ ๊ธฐ๊ฐ: 2023.11.06 ~ 2023.11.16
- Socket.io์ ์๋ฐฉํฅ ํต์ ์ ํ์ฉํ ์ฑํ ๊ฒ์
KakaoTalk_Video_2023-11-18-22-53-54.mp4
๐ฟ Win x64 ๊ฒ์ ํ์ผ ์ค์น ๋งํฌ ๐ฟ Mac ๊ฒ์ ํ์ผ ์ค์น ๋งํฌ
โ win x64๋ฒ์ ๊ณผ mac ๋ฒ์ ์ด ๋ฐ๋ก ๊ตฌ๋ถ๋์ด ์์ต๋๋ค. os์ ๋ง๋ ํ์ผ์ ์คํํ์ ์ผ ์ ์์ ์ผ๋ก ์๋ํฉ๋๋ค.
- ์กด์ฌํ๋ ๋ชจ๋ ๊ฒ์ ๋ฐฉ๋ค์ ์ ๋ณด๋ฅผ ๋ฐ์ ํ์ด์ง์ ๋ ๋๋ง
- ํน์ ๊ฒ์๋ฐฉ์ ์ ์ ์ ์ ๊ณต๋ฐ์ api์ ์ถ๊ฐ ๋ฐฐํฌํ ์๋ฒ api๋ฅผ ํ์ฉํด ๊ฒ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์์ฒญ ๋ฐ ์ ์ฅ
- Socket ์ฐ๊ฒฐ์ ํตํ ๊ฒ์ ์ฐธ๊ฐ์๋ค๋ผ๋ฆฌ์ ์ฑํ
- ์ถ๊ฐ ์๋ฒ api๋ฅผ ํ์ฉํ ํฌํ ์์คํ
- ํฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ์๋ฒ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฉด์ ๋ ๋๋ง
| ํ์ฅ | ์ต์ ํ | ํ์ | ๋จ๊ถ์ข ๋ฏผ | ํ์ | ์ ์ง์ฃผ | ํ์ | ๊น์์ |
|---|---|---|---|
|
|
|
|
|
| @noSPkeepgoing | @NamgungJongMin | @jinjoo-jung | @KSJT |
|
|
|
|
-
React
์ฐ๋ฆฌ๊ฐ ๋ง๋ค๋ ค๋ ๊ฒ์์ ํน์ฑ ์ ๋จ์ผ ์ฑ์ผ๋ก์ ํน์ฑ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ SPAํํ๊ฐ ์ ์ ๊ฒฝํ์ ํฅ์์ํฌ ์ ์์ ๊ฒ์ด๋ผ ์๊ฐ ํ๊ณ , SPA ๋จ์ ์ธ SEO์ ๋จ์ ์ ์์ด์๋ ํ์ด์ง ๋ณ ์น ๋ ธ์ถ๋๊ฐ ํ์ ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํด์ React๋ฅผ ์ ์ฉํ๋ค.
-
Typescript
ํจ์คํธ์บ ํผ์ค์์ ์ ๊ณตํด์ฃผ๋ API์ ์๋ต ๋ฐ์ดํฐ๋ค์ ๋ํ ์คํค๋ง๊ฐ ์ ํด์ ธ์๊ณ , ๋ถ๋ฌ์ฌ ๋ฐ์ดํฐ๋ค์ ํ์ ์ ๋ด๊ฐ ์์๋ก ์ค์ ํ ์ ์๊ฒ ํ๊ณ , ๊ทธ๋ก ์ธํด ์ค๋ฅ์ ๊ฐ๋ฅ์ฑ์ ๋ฎ์ถ๊ธฐ ์ํด ํ๋ก์ ํธ์ ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ฉํ๋ค.
-
Scss Module
CSS-in-JS๋ ์คํ์ผ์ ์ง๋ ฌํ ๊ณผ์ ์์ ์ถ๊ฐ CPU ๋ฆฌ์์ค๋ฅผ ์๋ชจํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ํฅ์ ์ค๋ค๋ ์ , ๋ฒ๋ค ํฌ๊ธฐ๋ฅผ ๋๋ฆฐ๋ค๋ ์ , css ํ๋กํผํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ ์์์ ๋ํด Emotion์ ๋ด๋ถ ์ปดํฌ๋ํธ๊ฐ React DevTools๋ฅผ ์ด์ง๋ฝํ๋ค๋ ์ ์ ๊ทผ๊ฑฐ๋ก CSS-in-JS์ ์ด์ ์ ์ ์งํ๋ฉด์ ์ฑ๋ฅ์ ์ผ๋ก๋ ์ผ๋ฐ CSS์ ์ ์ฌํ โstyling systemโ์ ๊ณ ๋ฏผํ๊ฒ ๋์๋ค.
CSS-in-JS์ ์ด์ ์ธ ์ง์ญ ์ค์ฝํ, ๋ฐฐ์น์ ์์จ์ฑ์ ๊ทธ๋๋ก ๊ฐ์ ธ๊ฐ๋ฉด์ ์ฑ๋ฅ์ ์ด์ ์ ์ต๋ํํ ์์คํ ์ css module์ด์๋ค. ๊ทธ๋ฌ๋ ์ฝ๋ ์ค๋ณต์ ์ค์ด๋ ๋ฑ์ ํ์ฅ ๊ธฐ๋ฅ์ ๋ถ์กฑ์ผ๋ก ์ธํด Sass Module์ ์ ํํ๊ฒ ๋์๋ค.
Sass Module์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฐํ์ ๋น์ฉ ์์ด ์ง์ญ ์ค์ฝํ์ CSS Module ์คํ์ผ๊ณผ Sass์ ๋น๋ ์๊ฐ ์ฅ์ ์ ๋๋ฆด ์ ์๋ค. ๋ฟ๋ง ์๋๋ผ ์ค์ฒฉ ๊ท์น๊ณผ Mixin, ๊ฐํธํ ์์ ์ ์ธ๊ณผ ์ฌ์ฉ์ ํตํด ํจ์จ์ ์ธ ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
-
Vite
React ํ๋ก์ ํธ์ ๋ํ์ ์์ฑ ๋ฐฉ์์ธ CRA์ ๋น๊ตํ์ฌ ๋ชจ๋ ์ฌ์ด์ฆ๊ฐ ์๊ณ ์ปค์คํ ๋น๋๊ฐ ์ฝ๋ค๋ ๊ฒ์ด ์ ํ์ ์ด์ ๊ฐ ๋์๋ค. ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ๊ฒฝ์ฐ Electron์ ์ ์ฉํ์ฌ ๋น๋๋ฅผ ํ๊ธฐ ๋๋ฌธ์ ์ธํ ์ด ์ฌ์์ผ ํ๊ณ , ๋ชจ๋ ์ฌ์ด์ฆ์ ์ถ์๋ ๋ฐ์คํฌํ ์ฑ ๋น๋ ๊ณผ์ ์ ๋น ๋ฅด๊ฒ ํด์ค๋ค๊ณ ์๊ฐํ๋ค. ์ถ๊ฐ๋ก ๊ธฐ์กด CRA์ ๋น๊ตํ์ฌ src ๋ฐ์ดํฐ๋ค ์์ฒด์ ๋น๋ ๋ํ ๋งค์ฐ ๋น ๋ฅด๋ค๋ ๊ฒ์ด ์ ํ์ ์ด์ ์๋ค.
-
Electron
ํ์ด์ง ์ด๋์ ํตํด ๊ฒ์์ ์ด๋ฒคํธ๋ค๊ณผ ๊ฒฐ๊ณผ๋ค์ ์ถ๋ ฅํ๋ ์ฐ๋ฆฌ ํ๋ก์ ํธ์ ํน์ฑ ์ ์๋ก๊ณ ์นจ์ด๋ ๋ค๋ก๊ฐ๊ธฐ ๋ฑ์ ์ ์ ์ ์์์น ๋ชปํ ํ๋๋ค์ ๋ง๋ ๊ฒ์ ๋ฐ์คํฌํ ์ฑ์ผ๋ก ๋น๋ํ๋ ๊ฒ์ด ์ฅ์ ์ด ์๋ค๊ณ ์๊ฐํ๋ค. ๋ฟ๋ง์๋๋ผ ๊ฒ์์ ํน์ฑ ์ ์ ๋ณด ํ์ด์ง๊ฐ ์๋๋ผ ํ๋์ ๋จ์ผ ์ดํ๋ฆฌ์ผ์ด์ ์ผ๋ก์จ ๊ธฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ฐ์คํฌํ ์ฑ์ผ๋ก ์ ๊ทผํ๋ ๊ฒ์ด ์ ์ ๊ฒฝํ์ ๋์์ด ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ค.
-
GitHub
ํ๋ก์ ํธ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํด ์ ํํ๊ฒ ๋์๋ค. ์ ๊ทผ์ฑ๋ ์ข๊ณ , ์ด์๋ฐ์, pr์์ฑ ๋ฑ ๋ฌธ์ํ์ ์ฉ์ดํ๊ธฐ ๋๋ฌธ์ ์ ํํ๊ฒ ๋์๋ค.
-
Gitflow
๊น ๋ธ๋์น ์ถฉ๋์ ์ต์ํํ๊ณ , ๋ธ๋์น ๋ถ๊ธฐ๋ฅผ ๊ฐ์ ํ์ฌ ๋ฉ์ธ ๋ธ๋์น์์ ์ผ์ด๋ ์ ์๋ ํน์ ๋ชจ๋ฅผ ์ด์์ ๊ธฐ๋ฏผํ๊ฒ ๋์ํ ์ ์๋๋ก ํ๋ค.
-
PocketHost
๊ธฐ์กด ์ ๊ณต๋ฐ์ api๋ง์ผ๋ก๋ ๊ฒ์์ ๊ตฌํํ๋๋ฐ ์์ด์ ํ์ํ ๋ฐ์ดํฐ๋ค์ ์จ์ ํ ์ฒ๋ฆฌํ ์๊ฐ ์์๋ค. ๋ฐ๋ผ์
noSQL๊ตฌ์กฐ๋ก ์๋ก์ด ๋ฐ์ดํฐ๋ค์ ๋ด์ ๊ณต๊ฐ์ผ๋ก ์ถ๊ฐ์ ์ธ api๋ฅผ ๋ฐฐํฌํ๊ณ ์ฌ์ฉํจ์ผ๋ก์จ ์ถ๊ฐ์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์์๋ค. -
Redux/Toolkit
๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ์ฌ๋ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์ค์นํ๊ฒ ๋๋ค. ํ์ง๋งย
Redux-Toolkit์๋ ์ด๋ฐ ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๋ด์ฅ๋์ด ์์ด์ ๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ์์กด์ฑ์ ์ค์ผ ์ ์์ด์ ์ ์ฉํ๋ค. -
Socket.io
๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ ๊ธฐ์ ์ ์ ์ฉํ๊ธฐ ์ํด ์ฌ์ฉํ๊ฒ ๋์๋ค. ๋ํ ๋ฐฑ์๋์์ ์ํํ ํต์ ์ ์ํด ์ ์ฉํ์๋ค.
client๊ฐ ์์ฒญ์ ๋ณด๋ด๊ณ server๊ฐ ์๋ตํ๋ฉด ์ฐ๊ฒฐ์ด ๋ฐ๋ก ์ข ๋ฃ๋๋ ๊ธฐ์กด Rest API์๋ ๋ฌ๋ฆฌ port๋ก ์ค์๊ฐ ์๋ฐฉํฅ ํต์ ์ ํ๊ณ ๊ณ์ ์ฐ๊ฒฐ์ ์ ์งํ๋ ์ฐ๊ฒฐ ์งํฅํ ํต์ ์ด๊ธฐ์ Socket.io๋ฅผ ์ด์ฉํ์๋ค.
-
์์ผ์ผ๋ก ๋ ๋ค์ํ ๋ฐ์ดํฐ๋ฅผ ์๋ฐฉํฅ ํต์
- ์ฃผ์ด์ง api๋ง์ผ๋ก๋ ๊ธฐ์กด ๊ตฌ์ํ๋ ๊ณํ์ ๋ค์ํ ํน์์ง์ ์ ์ค์ ๊ณผ ๊ทธ ํฌํ๋ค์ ๋ฐ๋ก ๋ฐ์ํ ์๊ฐ ์์๋ค. ๋ฉํ ๋์ ์กฐ์ธ ์ค ์ ๊ณต๋ api๋ก string์ ์์ฌ ๋๊ธฐ๋ ๋ฐฉ์์ ๋ง์ํด์ฃผ์ จ๋๋ฐ ๊ถ์ฅ๋๋ ๋ฐฉ์์ ์๋๋ผ๊ณ ํ์ จ๋ค. nodeJS๋ฅผ ๊ณต๋ถํ์ฌ ์น์๋ฒ๋ฅผ ์ง์ ์์ฑํ๊ณ , ์์ผ์ ์ฐ๊ฒฐํ์ฌ ๊ธฐํ์ ์์ ํ๊ฒ ๊ตฌํํ ์ฑ์ ๋ค์ ๋ง๋ค์ด๋ด์ผ๊ฒ ๋ค.
-
api ํต์ ์ ํ๋ ์ฝ๋๋ค์ด ์ฌ๋๋ค๋ง๋ค ์ ๊ฐ๊ฐ์ด๋ค. ๋ฆฌํฉํ ๋ง ๋ api ํด๋ ๋ด์ ๊ฐ์ฒด ์์ ์ ๋ฆฌํ๋ ๋ฐฉ์์ผ๋ก ๊น๋ํ๊ฒ ์ ์ฅํ๊ณ , ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ชจ๋๊ฐ ์ฌ์ฉํจ์ผ๋ก์จ ์ฝ๋ ์คํ์ผ์ ๋ง์ถฐ์ผ๊ฒ ๋ค.
-
์ถ๊ฐ noSQL api์ ์ ๊ณต๋ฐ์ api๋ฅผ ํตํด ๊ฐ์ ๋ก์ง์ ๋ค์ด๊ฐ ํต์ ๋ค์ ์ด์ฉํ๊ฒ ๋๋ฉด์ ์ด๋ ํ์ชฝ์ด ์๋๋๋ผ๋ ๋ค๋ฅธ ํ์ชฝ์ด ๋๋ฉด ์ฌ์ด๋ ์ดํํธ๊ฐ ์ผ์ด๋ฌ๋ค. ๋ฆฌํฉํ ๋ง์ ์์ ํด์ผํ๋ค.











