Algo With Me๋ ๋ชจ๋๊ฐ ์ฐธ์ฌํ๊ณ ๋ง๋ค ์ ์๋ ์๊ณ ๋ฆฌ์ฆ ๋ํ ์๋น์ค์ ๋๋ค.
์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ฌ์ฉ์๊ฐ ์ ์ถํ ์ฝ๋๋ฅผ ์ฑ์ ํ ์ ์์ต๋๋ค
- ์ค์๊ฐ์ผ๋ก ๋ํ์ ์ฐธ์ฌํ ๊ฒฝ์์๋ค์ ์์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค
- ๋ฐ๋ชจ ์์
- Algo With Me ๊ธฐ๋ฅ ์ค๋ช
- โญ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ โญ
- ๋ฏธ๋ ๊ฐ๋ฐ ์ธ๋ฏธ๋
- ์ํคํ ์ฒ
- ๊ธฐ์ ์คํ
- ๋์์ธ ๋ฐ ๊ธฐํ
- ๊ธฐํ ๋ฑ๋ฑ
- ํ์ ์๊ฐ
_.mp4
๋ํ ํ์ด์ง๋
- ๋ฌธ์ ํ๋ฉด
- ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ ์๋ํฐ
- ์ ์ถ ๊ฒฐ๊ณผ ํ๋ฉด
์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.
๋๋ง์ ํ
์คํธ ์ผ์ด์ค๋ฅผ ์ถ๊ฐํ๊ณ "ํ
์คํธ ์คํ"๋ฒํผ์ ๋๋ฌ ์คํํ ์ ์์ต๋๋ค.
"์ ์ถํ๊ธฐ" ๋ฒํผ์ ๋๋ฅด๋ฉด ํ๋ ํ
์คํธ ์ผ์ด์ค๋ค์ ์ ๋ต ์ฌ๋ถ์ ์๊ฐ, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ๋ฐ์๋ณผ ์ ์์ต๋๋ค.
๋ํ ์ฐธ์ฌ์ ์์ 100์๊น์ง์, ๋์ ์์๋ฅผ ๋ํ ์งํ ์ค ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์์ต๋๋ค.
๋ํ ์ฐธ์ฌ์๊ฐ ์๋๋ผ๋ ๋์๋ณด๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
๋ํ ์์ฑ ํ์ด์ง ์ ๋๋ค. ์ต๋ ์ฐธ์ฌ์ธ์ ์ค์ ์ด ๊ฐ๋ฅํ๊ณ ๋ํ ์๊ฐ์ ์ง์ ํ ์ ์์ต๋๋ค. ๋ฑ๋ก๋ ๋ฌธ์ ๋ฅผ ์ ํํด ๋ํ์ ํฌํจ์ํฌ ์ ์์ต๋๋ค.
๋ํ ์์ธ ํ์ด์ง์์๋ ๋ํ์ ์์, ์ข ๋ฃ ์๊ฐ, ์ฐธ๊ฐ์ ๋ฑ์ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋ํ ์์ ์๊ฐ์ด ๋๋ฉด ๋ํ ์ ์ฅ ๋ฒํผ๊ณผ ๋์๋ณด๋ ๋ณด๊ธฐ ๋ฒํผ์ด ํ์ฑํ๋ฉ๋๋ค.
์ ํฌ ํ์๊ฒ ์ฃผ์ด์ง ์์์ 2์ฝ์ด, 8GB RAM ๋ค์ด๋ฒ ํด๋ผ์ฐ๋ ์ธ์คํด์ค ํ๋์์ต๋๋ค.
ํ์ง๋ง ๋ถ์คํธ์บ ํ ์ ์(200๋ช
)์ด ์ฐธ์ฌํ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค.
๊ทธ๋์ ๊ฐ์ง ์์์ ์ด๋ป๊ฒ ํด์ผ ์ต๋ํ์ผ๋ก ํ์ฉํ ์ ์์๊น ๋ผ๋ ๋์ ๊ณผ์ ๋ฅผ ๋ชฉํ๋ก ์ค์ ํ๊ฒ ๋์์ต๋๋ค.
์ด๋ป๊ฒ ๋ง์ ์ฑ์ ์์ฒญ์ด ๋ค์ด์ค๋๋ผ๋ ๋๋ฝ ์์ด ๋ชจ๋ ์ฑ์ ํ ์ ์์๊น?
์ด๋ค ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ์ฐ๋ฆฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ์ ์ ๋ฆฌํ ๊น?๐ BE ์ํคํ ์ฒ ์ค๊ณ ๋ฐ DB ERD ์ค๊ณ
๐ ๊ธฐ์ ์คํ ์ ์
๋ณ๋ ฌ์ ์ผ๋ก ์ฑ์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ๊ตฌ์กฐ๋ฅผ ์ง์ผ ํ ๊น?
๋ณด์ ์ํ ์์ด ์์ ํ๊ฒ ์ฑ์ ํ ์ ์์๊น?๐ ์ฑ์ ์๋ฒ, ๋์ปค์๋ฒ ์คํํ๋ฆ
๐ BE ์ฑ์ ์๋ฒ ์ํคํ ์ฒ ๊ด๋ จ ํ์
ํด๋ง, ์น ์์ผ, SSE ๋ฌด์์ ์ฌ์ฉํด์ผ ํ ๊น?
DB, ๋ฉ๋ชจ๋ฆฌ ์์์ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์์๊น?
์ด๋ป๊ฒ ํด์ผ ์๋ฒ ๋ถ๋ด์ ์ค์ด๋ฉด์๋ ์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ ์ ์์๊น?๐ ๋์๋ณด๋ ๋ฐ์ดํฐ redis ์ ์ฅ ๋ฐฉ์, ํด๋ผ์ด์ธํธ์๊ฒ ๋ณด๋ผ ์์, db ์ ์ฅ ๋ฐฉ์
๐ ๋์๋ณด๋ ์์ผ ์ฌ์ฌ์ฉ ๊ด๋ จ ํ์
์ด๋ป๊ฒ ํด์ผ ์๋ฒ๋ก ๊ฐ๋ ์์ฒญ์ ์ค์ฌ์ ๋ฆฌ์์ค๋ฅผ ์๋ ์ ์์๊น?
์ฑ์ ์ ๋ชฐ๋ผ๋ ํ ์คํธ ์ ๋๋ ํด๋ผ์ด์ธํธ์์ ๋๋ ค๋ ๋์ง ์์๊น?
Eval์ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ๊ธด ํ๋ฐ, Eval์ ์จ๋ ๋ ๊น?
Eval์ ์ฌ์ฉํ๋ฉด ๋ฌดํ ๋ฃจํ๋ฅผ ๋ง๋ฌ์ ๋ ๋ฉ์ธ ์ค๋ ๋๊ฐ ๋ฉ์ถ๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค.
์น ์์ปค๋ฅผ ์ด์ฉํด์ ์ค๋ ๋๋ฅผ ๋ถ๋ฆฌํด ๋ณด์๐ ์น ์์ปค๋ ๋ฌด์์ธ๊ฐ? & ์๊ณ ์๋ฏธ์์์ ํ์ฉ ๋ฐฉ์
Eval์ ์ธ์ ์ํํ ๊น?
Eval์ ์ฌ์ด๋ ์ดํํธ๊ฐ ๋ฐ์ํ ๋ ์ํํด
์ฌ์ด๋ ์ดํํธ๊ฐ ์ผ์ด๋ ์ ์๋ ์์ํ JS ์์ง์ ์ฌ๋ ค์ ์ฌ์ฉํด ๋ณด์๐ ์น ์ด์ ๋ธ๋ฆฌ๋ ๋ฌด์์ธ๊ฐ? & ์๊ณ ์๋ฏธ์์์ ํ์ฉ ๋ฐฉ์
QuickJS๋ผ๋ JS ์์ง์ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ์.
ํ์ง๋ง ์ด๊ฒ ์ ๋ง ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๊ณตํํ๊ฒ ๋์ํ ๊น?๐ [๊ฒ์ฆ] QuickJS๋ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ ์ฑ๋ฅ์ ๋ณด์ฅํ ์ ์๋๊ฐ?
๐ [๊ฒ์ฆ] QuickJS๋ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๋์ผํ Max Call Stack์ ๋ณด์ฅํ ์ ์๋๊ฐ?
FE) ๊ณต์ ํ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ธฐ ์ํด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์๊ฐ์ ๋๊ธฐํํด์ผ ํ๋ค
์ฐธ์ฌ์๋ค์ ์ํ์ด ์ ํํ๊ฒ ๊ฐ์ ์๊ฐ์ ์์ํ๊ณ ๊ฐ์ ์๊ฐ์ ๋๋๊ธฐ๋ฅผ ๊ธฐ๋ํ๋ค.
์ด๋ฅผ ์ํด์ ์๋ฒ์ ํด๋ผ์ด์ธํธ์ ์๊ฐ์ ๋๊ธฐํํด์ผ ํ๋๋ฐ, ์ด๋ป๊ฒ ํ ์ ์์๊น?
์๋ฒ ์์์ด ๋ฌดํํ๋ค๋ฉด 1์ด๋ง๋ค Http ์์ฒญ์ ๋ณด๋ด๋ฉด ๋์ง๋ง, ์๋ฒ ์์์ ํ์ ๋์ด ์๋ค.
ํด๋ผ์ด์ธํธ์ Date ๊ฐ์ฒด๋ง์ผ๋ก๋ ์๋ฒ์ ์๊ฐ ๋๊ธฐํํ ์ ์์๊น?
๋ธ๋ผ์ฐ์ ์ Date ๋ด์ฅ ๊ฐ์ฒด๋ก๋ ์๋ฐํ ์๊ฐ ๋๊ธฐํ๊ฐ ๋ถ๊ฐ๋ฅํด
5์ด ๊ฐ๊ฒฉ์ผ๋ก ์๊ฐ์ ๊ฐฑ์ ํด์ฃผ๋ ์ ๋๋ก ์์ฒญ์ ์ต์ํํด๋ณผ ์ ์์๊น?
setInterval์ ์ผ๋ง๋ ๋ฏฟ์ ์ ์์๊น?๐ setInterval์ ๋ฉ์ธ์ค๋ ๋๊ฐ ๋ฐ๋น ๋ ์ ํํ๊ฒ ๋์ํ ๊น?
๋์๋ณด๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํด Redis๋ฅผ ์ค์นํ๋ ค๊ณ ํ๋ค.
NestJS์์ ์ ๊ณตํ๋ cache-module์ ์ฌ์ฉํ๋๋ฐ, Redis์ ํนํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ(e.g. SortedSet) ์ ์ดํ๋ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ ์ ์์๋ค.
redis-client๋ฅผ ์ค์นํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.๐ ๋์๋ณด๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ํ Redis ์ค์น ๊ณผ์ ์์ ๊ฒช์ ํธ๋ฌ๋ธ์ํ
์ผ๋ถ ์ฑ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ฝ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ฑ์ ์ด ๋ณ๋ ฌ์ ์ผ๋ก ์งํ๋์ด API ์๋ฒ์ ์์ฒญ์ด ๊ฑฐ์ ๋์์ ๋ค์ด์๊ณ , ๊ฒฝ์ ์กฐ๊ฑด์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด์๋ค.
ํธ๋์ญ์ ์ ๊ฑธ์์ง๋ง, ๋ฌธ์ ๋ ํด๊ฒฐ๋์ง ์์๊ณ , ๋ฝ์ ๊ฑด ์ดํ์์ผ ์ ๋๋ก ๋์ํ๋ค.๐ ๋์ปค ์๋ฒ ๊ฐ์ 5๊ฐ๋ก ๋๋ฆฐ ์ดํ ์ผ๋ถ ์ฑ์ ๊ฒฐ๊ณผ๊ฐ ๋๋ฝ๋๋ ๋ฌธ์
๊ธฐ์กด์๋ root ์ฌ์ฉ์๋ก ๋ชจ๋ ์๋ฒ๋ฅผ ์ด์ํ๊ณ ์์๋ค.
๋ณด์์์ ์ด์ ๋ก ์ฝ๋ ์คํ ์๋ฒ์ ์ ์ ๊ถํ์ root์์ ์ผ๋ฐ์ฌ์ฉ์๋ก ๋ฐ๊พธ์๋๋ฐ, ๊ถํ์ด ์ค์ด๋ค์ด ํ์ผ ์ฝ๊ธฐ ์ฐ๊ธฐ๊ฐ ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
๋์ปค ์ ์ ์ค์ ์ ํตํด API ์๋ฒ์ ์ฑ์ ์๋ฒ์ ๊ถํ์ ์ผ๋ฐ ์ฌ์ฉ์๋ก ๋ฐ๊พธ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.๐ ์ฑ์ ์๋ฒ ๋์ปค ๊ถํ์ผ๋ก ์ธํ ์ฝ๊ธฐ/์ฐ๊ธฐ ๋ถ๊ฐ ๋ฌธ์
socket์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ๋์๋ณด๋๋ฅผ ๋ชจ๋ฌ๋ก ๋ณด์ฌ์ค์ผ์ง
๋ชจ๋ฌ์ ๋ซ๊ณ ๋ค์ ์ด๋ฉด ๋ฐ์ดํฐ๊ฐ ์ ์์ ์ผ๋ก ์์ ๋์ง ์์
ํ์ด์ง์์๋ ์ ์ ์๋ํ๋๋ฐ, ๋ชจ๋ฌ์์๋ ์ ์๋ํ์ง ์์๊น?๐ [ํธ๋ฌ๋ธ ์ํ ] useEffect, ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๊ณ ์ฐ์
ํต์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ธฐ ์ํด ์น ์์ผ์ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
๊ฐ๋ฐ์ ๋๊ตฌ๋ก ์น ์์ผ ์ฐ๊ฒฐ์ ํ์ธํ๋ 10๊ฐ์ ์น ์์ผ์ด ์ฐ๊ฒฐ๋๋ ๊ฒ์ ํ์ธํ๋ค.
๋ฌด์์ด ๋ฌธ์ ๊ณ , ์ด๋ป๊ฒ ํด๊ฒฐํด ๋๊ฐ์ผํ ๊น?๐ [ํธ๋ฌ๋ธ ์ํ ] ์ฑ๊ธํค ํจํด์ ์ด์ฉํ ์น์์ผ ๋ค์ค ์ฐ๊ฒฐ ์ํ ํด๊ฒฐ
Netlify์ ์นํ์ด์ง๋ ๋ฐฐํฌ๋ฅผ ๋ง์ณค๋ค.
ํ์ง๋ง ๋ฉ์ธ ํ์ด์ง๋ฅผ ์ ์ธํ ๋ค๋ฅธ ํ์ด์ง์์ ์๋ก๊ณ ์นจ์ ํ๋ฉด 404 ํ์ด์ง๊ฐ ๋์ค๋ ๋ฌธ์ ๋ฅผ ๊ฒช๊ฒ ๋๋ค.
๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ๋ฐฐํฌ ํ๊ฒฝ์ ๋ฌด์์ด ๋ฌ๋ผ ์ด๋ฐ ๋ฌธ์ ๊ฐ ์๊ฒผ์๊น? ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น?๐ [ํธ๋ฌ๋ธ ์ํ ] ๋ฐฐํฌํ๊ณ ์๋ก๊ณ ์นจํ๋ฉด 404ํ์ด์ง๊ฐ ๋ ์
JMeter๋ก ๋ถํํ ์คํธ๋ฅผ ์ํํ์ฌ ๋ถ์คํธ์บ ํ ์ ์ธ์์ด ์ฐ๋ฆฌ ์๋น์ค๋ฅผ ์ด์ฉํ ์ ์์์ง ์์๋ณด์๋ค.
200๋ช ์ด ๋์์WebSocket
์ ํตํด ๋์๋ณด๋ ๋ฐ์ดํฐ๋ฅผ ์ํํ๊ฒ ๋ฐ์ ์ ์์์ ํ์ธํ์๋ค.
๊ทธ๋ฆฌ๊ณ , 100๋ช ์ด 0~10์ด ๊ท ๋ฑํ๋ฅ ๋ถํฌ๋ก ์ฝ๋ ์ ์ถ ์์ฒญ์ ๋ณด๋์ ๋, ์ฑ์ ์ ์ํํ๊ฒ ํ ์ ์์์ ํ์ธํ๋ค.
๋ฏธ๋ ๊ฐ๋ฐ ์ธ๋ฏธ๋๋?
๋ฏธ๋ ๊ฐ๋ฐ ์ธ๋ฏธ๋๋ Web12 ์ฝ๋ ์ฌํผ์์คํ ๋ด๋ถ์์ ๊ณต์ ๋ฌธํ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์์๋ ์๊ท๋ชจ ์ธ๋ฏธ๋์ ๋๋ค. 5 ~ 10๋ถ ๋์ ์์ ์ฃผ์ ํน์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ๊ณต์ ํ๊ณ ์ถ์ ๋ด์ฉ์ ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก ์งํ๋ฉ๋๋ค. ๋ฐํ์๋ ํ์๋ค๋ก ๊ตฌ์ฑ๋์ง๋ง, ๋ค๋ฅธ ์บ ํผ๋ค๋ ์์ ๋กญ๊ฒ ๋ฃ๊ณ ์ง๋ฌธํ ์ ์๋๋ก ์ธ๋ถ์ ์ผ๋ก ๊ณต๊ฐํ์์ต๋๋ค. 2023/11/08 ์ฒซ ์ธ๋ฏธ๋๋ฅผ ์์์ผ๋ก 5ํ ์งํ๋์์ผ๋ฉฐ, ๋ถ์คํธ์บ ํ๊ฐ ๋๋๊ณ ๋ ์ด์ด๊ฐ ์์ ์ ๋๋ค.
์ธ๋ค์ผ | ํ ์ค ์๊ฐ | ๋งํฌ |
---|---|---|
์ ๊ฐ ๊ฐ๋ฐ์์ ๊ธธ์ ๊ฑท๊ฒ ๋๋ฉด์ ์ค์ค๋ก ๊ฐ์ง๊ณ ์๋ ๊ฐ๋ฐ์์ ์ ์๊ฐ ์ด๋ป๊ฒ ๋ฐ๋์๋์ง ํ๊ณ ํ๊ณ ์ง๋ฌธ์ ๋์ง๋๋ค | ๊ทธ๋๋ค ์ด๋ป๊ฒ ๊ฐ๋ฐํ ๊ฒ์ธ๊ฐ? | |
์๋ฐฉํฅ ํต์ ๋ค์ ๊ธฐ๋ฒ์ ๋ํด์ ๊ฐ๋ตํ ์์๋ณด๊ณ , ์ ์ฐ๋ฆฌ๊ฐ webSocket์ ์ ํํ๋์ง ๊ณต์ ํฉ๋๋ค. | WebSocket์ ์ ํํ ์ด์ | |
ํด๋ฆฐ ์ฝ๋๋ฅผ ์ ์งํฅํด์ผ ํ๋์ง, ํด๋ฆฐ ์ฝ๋์ ์ฃผ์์ ์๊ด๊ด๊ณ๋ ๋ฌด์์ธ์ง์ ๋ํด ์ค๋ช ํฉ๋๋ค. | ํด๋ฆฐ ์ฝ๋, ์ฃผ์ | |
MicroService Architecture๊ฐ ๋ฌด์์ธ์ง, ์ด๋ค ์ฅ์ ์ด ์๋์ง, ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง ์ดํด๋ด ๋๋ค. | Why MSA? | |
๋์๋ณด๋ ์ค์๊ฐ ๊ฐฑ์ ์ ์ํด WebSocket๊ณผ Redis๋ฅผ ๋์ ํ์ฌ ์ฌ์ฉํ๊ฒ ๋ ๊ณผ์ ์ ์๊ฐํฉ๋๋ค. | ๋์๋ณด๋ ์ด๋ป๊ฒ ๊ตฌํํ์ง |
FE | FE | FE | BE | BE |
---|---|---|---|---|
J079 ์๊ธฐ์กฐ (dev2820) |
J111 ์ด์ฐ์ฐฌ (dmdmdkdkr) |
J140 ์ ์ ์ (mahwin) |
J026 ๊น์ฉํ (rladydgn) |
J109 ์ด์์ฐฌ (yechan2468) |