์จ๋ผ์ธ 3D ๋ฐฉํ์ถ ๊ฒ์ ์๋น์ค ๐ด
โZzz ๋ ๊ฟ์ ๊พธ๋ ์ํ๋ฅผ ํํํ ๋จ์ด์ด์, ๊ฒ์ ํ๋ก์ ํธ์ ์ด๋ฆ์ ๋๋ค๐ค
โ๊ฟโ ์ด๋ผ๋ ๋งค์ฒด๋ฅผ ์ด์ฉํ์ฌ ์์ํ๊ณ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ํด๊ฒฐํ์ฌ ๋ฐฉํ์ถ์ ํ๋ ๊ฒ์ด ๋ณธ ๊ฒ์์ ์ด์ด๋๊ฐ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค
๋น์ ์ ๊ฟ ์์์ ์ผ๋ง๋งํผ์ ์ญ๋์ ๋ฐํํ ์ ์๋์ง ๊ถ๊ธํ์ง ์์ผ์ ๊ฐ์?
2022.2.25 ~ 2022.4.9
1์ฐจ ๋ฐฐํฌ : 2022.3.31
๐ 5์ผ ๋์ 550์ฌ๋ช ์ ์ ์ ๋ค์ด 550์ฌ๊ฐ์ ๋ฐฉ์ ๋ง๋ค๊ณ , 375ํ์ด ๊ฒ์์ ์์ํ์์ผ๋ฉฐ, 9ํ์ด ํ์ถ์ ์ฑ๊ณตํ์์ต๋๋ค!!
ํ๋ฐฉํ์ถ ๊ฒ์์ ์ํ ๋ฐฉ์ ๋ง๋ค๊ณ , ๋ญํน์กฐํ ๋ฐ ๊ฒ์ ์ค๋ช ์ ํ์ธํ ์ ์์ต๋๋ค.๋๊ธฐํ์ฌ ๋๊ธฐ์ค์ธ ์ธ์์ ์ฒดํฌํ๊ณ ๊ฒ์์ ์์ํ ์ ์์ต๋๋ค. ๋งํฌ๋ก ์น๊ตฌ๋ฅผ ์ด๋ํ๊ณ , ๋ณด์ด์ค ์ฑํ ๋ ๊ฐ๋ฅํด์!๊ฒ์ํ์๋ค๊ณผ ๋ณด์ด์ค์ฑํ ์ ๋๋๋ฉฐ ๋ฐฉ์ ๋ฐฐ์น๋ 3D ๋ฌผ์ฒด๋ฅผ ํด๋ฆญํด ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํ๊ณ ํ์ถํ ์ ์์ต๋๋ค. ์ ํ์๊ฐ ์์ ๋ฐฉ์ ํ์ถํด๋ณด์ธ์.
| Name | GitHub | Position |
|---|---|---|
| ๋ฅ๊ฐํ๐ฐ | https://github.com/f-ffff-f | ํ๋ก ํธ์๋ |
| ์ฐํ๋ฏผ | https://github.com/hyemin9403 | ํ๋ก ํธ์๋ |
| ๊น๊ฐ์๐ฐ | https://github.com/paran22 | ๋ฐฑ์๋ |
| ์ต๊ท์ | https://github.com/cooked-developer | ๋ฐฑ์๋ |
| ๋ฐ์์ฌ | https://github.com/wonjaeban | ๋ฐฑ์๋ |
| ์ํ์ | https://github.com/SEOHWN | ๋์์ธ |
| ๊น๋ณด๊ฒฝ | https://github.com/bokyung29 | ๋์์ธ |
API ๋ช ์ธ์
๐จ API ์ค๊ณ๊ท์น
Rest API URI ์ค๊ณ๊ท์น์ ๋ฐ๋ฅธ๋ค.
1. ํํ /๋ URI์ ํฌํจํ์ง ์๋๋ค.
2. ๊ณ์ธต๊ด๊ณ๋ฅผ ๋ํ๋ผ ๋ ์ฌ๋์ ๊ตฌ๋ถ์๋ฅผ ์ฌ์ฉํ๋ค. ex) /rooms/{roomId}/quizzes/{quizType}
3. ๊ธด path๋ฅผ ํํํ๋ ๊ฒฝ์ฐ์๋ ๊ฐ๋
์ฑ์ ๋์ด๊ธฐ ์ํด ํ์ดํ(-)์ ์ฌ์ฉํ๋ค.
4. ์ธ๋๋ฐ(_)๋ URI์ ์ฌ์ฉํ์ง ์๋๋ค.
5. URI๋ ๋ชจ๋ ์๋ฌธ์๋ก ์์ฑํ๋ค.
6. ํ์ผํ์ฅ์๋ URI์ ํฌํจํ์ง ์๋๋ค.
7. ๋ชจ๋ resource๋ ๋ณต์ํ์ ์ฌ์ฉํ๋ค.
๋ฉ์ธํ์ด์ง ์๋ฒ ๋ถํ ๋ฌธ์
๋ฉ์ธํ์ด์ง์์ ๋ณ๊ฒฝ๋ ๋ฐฉ ์ ๋ณด๋ฅผ ์ ๋ฐ์ดํธํ๊ธฐ ์ํด 1์ด ๊ฐ๊ฒฉ์ผ๋ก Room ๋ฆฌ์คํธ ์กฐํํ๊ธฐ api๋ฅผ ์์ฒญ(Polling)
๋ฉ์ธํ์ด์ง์ ์ ์์๊ฐ ์ง์ค๋๋ฉด ์๋ฒ ๋ถํ ์ฆ๊ฐ โ ๋ฐฐํฌ ์ดํ ๋ฉ์ธํ์ด์ง 40๋ช ์ ๋ ์ ์ํ๋ฉด์ CPU 90%๋ก ๊ธ์ฆ
๐ ์๋ฒ๋ฅผ t3.micro์ผ๋ก ๋ณ๊ฒฝ(CPU 1 โ 2)ํ์ฌ ์ฐ์ ์กฐ์น(๋ฉ๋ชจ๋ฆฌ๋ Swap์ผ๋ก ๋๋ ค๋์ 3G๋ก ์ถฉ๋ถํ๋ค๊ณ ํ๋จ)
๋ฉ์ธํ์ด์ง ์ ์์ ์์ ๋ฐ๋ฅธ ์๋ฒ ๋ถํ๋ฅผ ํ์ธํ๊ธฐ ์ํด ํ ์คํธ ์งํ
Client์ ๋ฉ์ธํ์ด์ง ์ ์์ ์๋ฅผ 10 ๋จ์๋ก ์ฆ๊ฐ์ํค๋ฉด์ CPU ์ฌ์ฉ๋์ ์ค์๊ฐ ๊ด์ฐฐ
โ CPU ์ฌ์ฉ๋์ด ๊ธ์ฆ โก ์ ์ฒด 200 ์ค 180%๊น์ง ์ฌ๋ผ๊ฐ๋ ์ง์ ์ ํ๊ณ๋ก ๋ด
- api ์์ฒญ ๊ฐ๊ฒฉ 1์ด(ํ์ฌ ์ํ) : 70๋ช
- api ์์ฒญ ๊ฐ๊ฒฉ 1.5์ด : 80๋ช
- api ์์ฒญ ๊ฐ๊ฒฉ 2์ด : 100๋ช
ํ์ฌ ์๋น์ค ์์ค์์ 70๋ช ์ด์์ด ๋ฉ์ธํ์ด์ง์ ์ ์ํ ๊ฐ๋ฅ์ฑ์ ๋ฎ๊ณ ,
์ ๋ฐ์ดํธ ๊ฐ๊ฒฉ์ 2์ด๋ก ๋๋ฆฌ๋ฉด ์คํ๋ ค ์ ์ ๊ฒฝํ์ด ์์ข์ ์ง๊ฑฐ๋ผ๊ณ ํ๋จ
์๋น์ค๊ฐ ์ฑ์ฅํ๋ค๋ฉด, Polling์ด ์๋๋ผ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ํด๊ฒฐ์ ์๋ํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ!
์ค๋ฅ์ ๋ณด ์ฌ๋ก
โ ๏ธ ๊ฒ์ ํ๋ ์ด ์ค ๋ง์ถ ๋ฌธ์ ์๋ ๋จ์ ์ฐฌ์ค ์๊ฐ ์ ์์ ์ผ๋ก ๋ณ๊ฒฝ๋์ง ์๋ ๋ฌธ์ ์ ๋ณด
NodeJS์ undefined ์๋ฌ๋ก ์ธํด ์๋ฒ๊ฐ ์ฌ์์๋๋ฉด์ ๊ฐ ๋ธ๋ผ์ฐ์ ์ roomID ์ด๊ธฐํ
socket.io์ ๋ฐฉ ๊ตฌ๋ถ ๊ธฐ๋ฅ์ด ์ ์์ ์ผ๋ก ์๋ํ์ง ์์
๐ NodeJS์ ์๋ฌ๋ฅผ ํด๊ฒฐํ์ฌ ์๋ฒ๊ฐ ์ฌ์์๋์ง ์๋๋ก ์กฐ์น
๊ฐ์ ์ฌํญ ์ฌ๋ก
โ๏ธ "๋ง์ดํฌ๋ฅผ ์ฐจ๋จํ์ ๋ ์ฝ๊ฒ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์ ํ ์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค."
๋ธ๋ผ์ฐ์ ์ ๋ง์ดํฌ ์ฌ์ฉ ๊ถํ์ ์ ํํ๋ฉด ๊ฒ์ ํ๋ ์ด ๋ถ๊ฐ
๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ ๊ถํ ํ์ฉ ๋ฐฉ๋ฒ์ ์ค๋ช ํ๋ ์ฐฝ์ ๋์ ๋ค์ ์๋น์ค ์ด์ฉํ ์ ์๋๋ก ์๋ด







