Table of Contents
pong 42๋ Typescript ๊ธฐ๋ฐ์ React, Nest๋ฅผ ์ฌ์ฉํด์ ๋ง๋ ์ฑํ / ํํ ์ฌ์ดํธ์ด๋ค.
ํ์ด์ง ๊ตฌ์ฑ์ผ๋ก๋ ํ์๊ฐ์ , ๋ฉ์ธ ๋ก๋น, ์ฑํ ๋ฐฉ(์ผ๋ฐ, DM), ๊ฒ์๋ฐฉ์ด๋ฉฐ ์ ์ ์ ํ์ฌ ์ํ, ์ฑํ , ๊ฒ์๋ฑ ํน์ ์์๋ฅผ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํ๋ค.
- ์ต์ด ํ์๊ฐ์ ์ 42API๋ฅผ ํตํด 42cadet์ธ์ง ํ์ธ
- ํ๋กํ ์์ฑ์์ ๋๋ค์๋ง ํ์ ์ ๋ ฅ์ผ๋ก ๋ฐ์. ๋ฐ๋ก ํ๋กํ ๋ฑ๋ก์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ ํ๋กํ์ด ๋ฑ๋ก
- ํ์ ๋ฑ๋ก์ด ์๋ฃ์ ๊ธฐ์กด ์ ์ฒด ์ ์ ๋ชฉ๋ก์ ๋ณด๋ ๋ชจ๋ ์ ์ ๋ค์ ๋ชฉ๋ก์ด ์๋ก์ด ์ ์ ๊ฐ ์ถ๊ฐ๋จ.
- 42 intra์ ๋ฑ๋ก๋ ์ด๋ฉ์ผ์ด ์๋์ด๋ 2์ฐจ ์ธ์ฆ ์ ๋ณด๋ฅผ ๋ฐ์ ์ด๋ฉ์ผ์ด๋ฉด ๋ฌด๊ด
- ๋งค๋ฒ ๋ก๊ทธ์ธํ ๋๋ง๋ค ์ธ์ฆ์ฝ๋๋ฅผ ๊ธฐ์ ํด์ผํ๋ฉฐ ๋ก๋น์ ์๋
๋ด ํ๋กํ
์ 2์ฐจ ์ธ์ฆ ๋นํ์ฑํ๋ฅผ ๋๋ฌ์ ํด์ ํ ์ ์์
- ๊ธฐ๋ณธ ๋ก๋น๋ ๊ฒ์๋ฐฉ ๋ชฉ๋ก์ด ๋ณด์ด๋ ๊ฒ์ ๋ก๋น๋ก
42 PONG
๋ก๊ณ ๋ฅผ ์ ๋ ฅํ๋ฉด ๊ธฐ๋ณธ ๋ก๋น๋ก ์ด๋ํ๋ค- ๊ฒ์ / ์ฑํ ๋ก๋น ๋๋ค ๋์์ธ ๊ณจ๊ฒฉ์ ๋์ผ(๋ฐฉ ๋ชฉ๋ก, ์ ์ ๋ชฉ๋ก, ๋ด ํ๋กํ)ํ๋ ๊ฒ์์
๋๋ ๊ฒ์ ์ ์ฅ
, ์ฑํ ์์ฐธ์ฌ์ค์ธ ์ฑํ ๋ฐฉ
๋ผ๋ ๊ณ ์ ๊ธฐ๋ฅ์ด ์กด์ฌ
- ๊ฒ์ ํ์ด์ง๋นผ๊ณ ๋ ๋ชจ๋ ํ์ด์ง์์ ๋ก๊ทธ์ธํ ์ ์ ์ ํ๋กํ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ
๋ด ํ๋กํ ์์
์ฐฝ์์ ํ์ธ ๋ฒํผ์ ๋๋ฅด์ง ์๋ ์ด์ ๋๋ค์, ํ๋กํ ์ฌ์ง์ด ๊ฐฑ์ ๋์ง ์๋๋ค.- ๋ํ, ๋ ์ค ํ๋๋ผ๋ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ผ๋ฉด ํ๋กํ ๊ฐฑ์ ์ด ๋๋ค.
- ์น๊ตฌ ๊ด๊ณ๋ ํ๋ก์(Following) ๊ด๊ณ๋ก ํ์ชฝ์์ ์น๊ตฌ ์ถ๊ฐ์ ํด๋น ์ ์ ์ ์น๊ตฌ๋ชฉ๋ก์๋ง ํด๋น ์ ์ ๊ฐ ํ์ธ๋๋ค.
- ์ ์ ๊ฐ ๋ก๊ทธ์ธ, ๋ก๊ทธ์์, ๊ฒ์์ค์ ์ํ๋ฅผ ์ ์ ๋ชฉ๋ก์์ ์ค์๊ฐ์ผ๋ก ํ์ธ ๊ฐ๋ฅ
- ๊ฒ์ ์ด๋๋ ์ด๋ ํ์ด์ง๋ ์ ์ ๋ชฉ๋ก์์ ํน์ ์ ์ ์ ํ๋กํ ์ฐฝ์ ๋ณผ ์ ์๋ค๋ฉด ๋์ ์ ์ฒญ์ด ๊ฐ๋ฅํ๋ค. (๋จ, ๋ก๊ทธ์ธ ์ํ์ธ ์ ์ ์๊ฒ๋ง ๊ฐ๋ฅ)
- ์น์ธ๊ณผ ๋์์ ๊ฒ์ ํ๋ฉด์ผ๋ก ์ด๋ํ๊ณ , ์นด์ดํธ๊ฐ ์์๋๋ค.
- ์ฑํ ๋ฐฉ ์ ์ฅ, ํด์ฅ, ๊ฐํด ๋ฑ ์ ์ฒด ์ ์ ๊ฐ ์์์ผํ ๋ด์ฉ์ ๋ธ๋ก๋์บ์คํ ๋ฐฉ์์ผ๋ก ์ฑํ ์ฐฝ ์์ ๊ณต์ง ๋ฉ์ธ์ง๋ก ํ๊ธฐ๋๋ค.
- ์ฑํ ๋ฐฉ์ ์ ์ฅํ ์ดํ์ ์ฑํ ๋ง ๋ณผ ์ ์๋ค.
- ์ฑํ ๋ด์ญ์ DB์ ์ ์ฅ๋๋ค.
- ์ฐจ๋จํ ์ ์ ์ ๊ฒฝ์ฐ ์ฐจ๋จํ ์์ ์ดํ์ ์ฑํ ์ ๋ณด์ด์ง ์๋๋ค. ์ฐจ๋จ์ ํด์ ํ๋ฉด ์ด์ ์ ๋ชจ๋ ๋ฉ์ธ์ง๋ฅผ ๋ณผ ์ ์๋ค.
- ์ฑํ ๋ฐฉ ๋ด ๊ถํ์ ๋ฐฉ ์ฃผ์ธ, ๊ด๋ฆฌ์, ์ผ๋ฐ์ผ๋ก ๋๋๋ฉฐ ๊ฐ ๊ถํ์ ๋ฐ๋ผ ์ ์ ํ๋กํ์ ๋ณผ ๋ ๋ณด์ฌ์ง๋ ํ๋กํ ๊ตฌ์ฑ์ด ๋ค๋ฅด๋ค.
- ๋ฐฉ ๊ด๋ฆฌ์๋ผ ํด๋ ๋ฐฉ ์ฃผ์ธ์ ๊ฐํด, ์์๊ฑฐํ ์๋ ์๋ค.
- ๊ฐํด, ์์๊ฑฐ์ 10์ด๊ฐ ํด๋น ์ ์ ๋ ์ฌ์ ์ฅ, ์ฑํ ์ ๋ ฅ์ด ๊ธ์ง๋๋ค.
- ๋ฐฉ ์ฃผ์ธ์ด ๋ฐฉ์ ๋๊ฐ ๊ฒฝ์ฐ ํด๋น ์ฑํ ๋ฐฉ์ ์ญ์ ๋๋ค.
- ๋ฐฉ ์ค์ ์ ์ค์ง ๋ฐฉ ์ฃผ์ธ๋ง ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
- ๋ฐฉ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ฉด ์๋์ผ๋ก ๋น๊ณต๊ฐ๋ฐฉ์ผ๋ก ๋ณ๊ฒฝ๋๋ค.
- ๊ณต๊ฐ๋ฐฉ์ผ ๋ ์ ์ฅํ ์ ์ ๋ ๋น๊ณต๊ฐ๋ฐฉ์ผ๋ก ๋ณ๊ฒฝ๋์ด๋
๋ฐฉ ๋๊ฐ๊ธฐ
๋ฅผ ํ์ง ์๋ ์ด์ ์ ์ฅํ ๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ ํ์๊ฐ ์๋ค.
- ์ฑํ ๋ฐฉ ์์์๋ง์ด ์๋๋ผ ์ ์ ํ๋กํ์ ๋ณผ ์ ์๋ ์ด๋์๋ ํน์ ์ ์ ์๊ฒ DM์ ๋ณด๋ผ ์ ์๋ค.
- ์ฐธ์ฌ์ค์ธ ์ฑํ ๋ฐฉ ๋ชฉ๋ก์์ ํ์ฑํ ๋ DM๋ฐฉ์ ํ์ธํ ์ ์๋ค.
[ ์ ๊ฒ์ ๋ง๋ค๊ธฐ ๋ฐ ๊ฒ์ ์ค์ ]
- ๋ฐฉ ๋ง๋ค๊ธฐ๋ฅผ ํตํด ๊ฒ์๋ฐฉ์ ๋ง๋ค๊ณ ์๋๋ฐฉ์ ์ ์ฅ์ ๊ธฐ๋ค๋ฆด ์ ์๋ค.
- ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด ๋ชจ๋ฅด๋ ์ฌ๋์ ์ ์ฅ์ ์ ํํ ์ ์๋ค.
- ๊ธฐ๋ณธ ๊ฒ์ ๋ชจ๋๋ ์ผ๋ฐ ๋ชจ๋, ์คํผ๋ ๋ชจ๋์ ์ฅ์ ๋ฌผ ๋ชจ๋๋ฅผ ์ค์ ํ ์ ์๋ค.
- ( ๋ ๋์ ๋์ผ ๋งค์น์์๋ ์ผ๋ฐ๋ชจ๋๋ก๋ง ํ๋ ์ดํ ์ ์๋ค )
[ ๊ฒ์ ํ๋ ์ด ]
- ๋์ ์๋๊ฐ ์ ์ฅํ๋ฉด, ์ฆ์ 5์ด ์นด์ดํธ๋ค์ด ํ ๊ฒ์์ ์์ํ๋ค.
- ํค๋ณด๋์ ์ข์ฐ ๋ฐฉํฅํค๋ฅผ ์ด์ฉํด ํจ๋ค ์์น๋ฅผ ์กฐ์ ํ ์ ์๋ค.
- 10์ ์ ๋จผ์ ๋์ ํ๋ ์ชฝ์ด ์น๋ฆฌํ๋ ๊ท์น, ์ค๊ฐ์ ์ ์์ด ๋์ด์ง๋ ์ชฝ์ ๋ชฐ์ํจ ์ฒ๋ฆฌํ๋ค.
[ ๊ด์ ๊ธฐ๋ฅ ]
- ๋ชจ๋ ๊ฒ์์ ๊ด์ ์ด ๊ฐ๋ฅํ๋ค. ๊ด์ ํ๋ ๋ฐฉ๋ฒ์,
- ๊ฒ์๋ฐฉ ๋ชฉ๋ก์์ ์์ ์นด์ดํธ ์ค ํน์, ๊ฒ์ ์์ํ ๋ฐฉ์ ์ ์ฅ ํ๊ฑฐ๋,
- ๊ฒ์ ์ค์ธ ์๋์ ํ๋กํ์์ ๊ด์ ํ๊ธฐ ๋ฒํผ์ ์ด์ฉ.
- ๊ด์ ์๋ ๋จ์ ๊ด์ ์ธ์ ์ด๋ค ์กฐ์๋ ๋ถ๊ฐ๋ฅ.
- ๊ฒ์ ์์ฑ ์, ๊ฒ์ ๋ชจ๋๋ฅผ ๋ณ๊ฒฝํ๋ฉด, ์์ ์ ํด๋น ๋ชจ๋๋ก ๊ฒ์์ด ์คํ๋จ.
- ์คํผ๋ ๋ชจ๋: ๊ณต์ ์ด๋ ์๋๊ฐ 2๋ฐฐ ๋น ๋ฆ
- ์ฅ์ ๋ฌผ ๋ชจ๋: ๊ณต์ด ํ๊ฒจ๋๋ ์ฅ์ ๋ฌผ์ด ๋งต์ ๋ฐฐ์น๋จ
[ ๋๋ ์ค๋ช ]
- ์ผ๋ฐ๊ฒ์๊ณผ ๊ตฌ๋ถํ์ฌ, ์์๊ฒฝ์์ ์ํ ๋๋๊ฒ์์ด ๋ฐ๋ก ์กด์ฌํจ.
- ๋๋๊ฒ์์ ํ๋ ์ด์ด๊ฐ ์ง์ ๋์ ์๋๋ฅผ ์ ํ ์ ์๊ณ , ์๋ฒ์ ๋งค์นญ ์์คํ ์ ๋ฐ๋ผ์๋ง ์๋๊ฐ ์ ํด์ง.
- ๋ ๋๊ฒ์ ๊ฒฐ๊ณผ๋ ์ผ๋ฐ๊ฒ์๊ณผ ๊ตฌ๋ถํด์ ์ ์ฅ ๋จ.
- ํ๋ ์ด์ด ๋ ๋ฒจ์ ๋ ๋ ์ ์ ์ผ๋ก๋ง ๊ณ์ฐ๋๋ค.
[ ๋๋ ๋งค์นญ ๊ท์น ]
- ๋๋ ๋งค์นญ์ ๋ ๋ฒจ์ ๋ฐ๋ผ ๋ ๋ฒจ ์ฐจ์ด๊ฐ ์ ์ ํ๋ ์ด์ด๋ฅผ ์ฐ์ ์ผ๋ก ๋งค์นญํ๋๋ก ํจ.
- ๋งค์นญ ๋ฐฉ์์,
- ์ต์ด์๋ ๋ ๋ฒจ ์ฐจ์ด๊ฐ 5 ์ด๋ด์ธ ํ๋ ์ด์ด๋ฅผ ํ์,
- ์กฐ๊ฑด์ ๋ง๋ ํ๋ ์ด์ด๊ฐ ์๋ค๋ฉด, ๋งค ์ด ํ์ ๋ฒ์๋ฅผ 2๋ฐฐ์ฉ ๋์ฌ๊ฐ.
- 7์ด๋์ ์กฐ๊ฑด์ ๋ง๋ ํ๋ ์ด์ด๋ฅผ ์ฐพ์ง ๋ชปํ๋ฉด, ๋งค์นญ ๊ฐ๋ฅํ ๊ฐ์ฅ ์ค๋ ๋๊ธฐํ ํ๋ ์ด์ด์ ๋งค์นญ
- ( ์: 5, 10, 20, 40, 80, 160, INT_MAX)
- ๋ฐ๋ผ์, ์์์ฒ๋ผ ๋จผ์ ๋๋๋งค์นญ์ ์์ฒญํ ๊ณ ๋ ๋ฒจ ์ ์ ๊ฐ ๋งค์นญ๋์ง ์๊ณ , ๋์ค์ ๋๋๋งค์นญ์ ์์ฒญํ ์ ๋ ๋ฒจ ์ ์ ์ ๋งค์นญ์ด ์ฑ์ฌ๋จ.
-
๋ณธ ํ๋ก์ ํธ๋ 42 intra๋ฅผ ์ด์ฉํ ์ ์๋ 42cadet์ด์ด์ผ ์ ์ ์ด์ฉ์ด ๊ฐ๋ฅํ๋ค.
-
42API๋ก ๋ฐ๊ธ๋ฐ์ UID, secret key, redirection URL์ ์ฌ์ฉํด ๊ฐ ์ปจํ ์ด๋๋ณ .env์ ํด๋น ๊ฐ๋ค์ ์์ฑํด์ค์ผ ํ๋ค.
-
docker, docker-compose๊ฐ ์ค์น๋ ํ๊ฒฝ์ด์ด์ผ ํ๋ค.
- clone this project at github
git clone https://github.com/42-Tomodachi/ft_transcendence
- run docker-compose at project root path
cd ft_transcendence && docker-compose up --build
์ต์ด ๋ชฉํ๋ก ์ก์ ๊ธฐ๊ฐ(about 45days)์์ ์์ฑํ๊ธฐ ์ํด ๋์น๊ฑฐ๋ ๊ฐ๊ณผํ ์ค๊ณ, ๊ธฐ๋ฅ๋ค
1. ์ต์ ํ๋ฅผ ๊ณ ๋ คํ์ง์๊ณ ๊ตฌํํ๊ธฐ์ ๋ถํ์ํ ๋ฆฌ๋ ๋๋ง์ด ๋ง์ด ๋ฐ์ํ๋ค.
2. Next.js๊ฐ ์๋ CRA๋ฅผ ์ฌ์ฉ
3. ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ๋ถ๋ถ์ด ๋ง์ง๋ง ๊ณ ์ ์ปดํฌ๋ํธ๋ก ์ ์(ํนํ ๋ชจ๋ฌ)
4. ๋ฐฐํฌ์ฉ์ผ๋ก ๋์ปค ํ์ผ์ด ์์ฑ๋์ด ์์ง ์์
5. ๋ฐฐํฌ๋ฅผ ํ ์ ๋ฐฑ์๋์ ์ข
์๋์ด ์์
6. ์ ์ ์๊ฒ ์๋ ค์ค ๋ชฉ์ ์ผ๋ก antd notification์ ์ ์ฉํ๋ ค ํ์ผ๋ ๊ธฐ์กด ๋์์ธ ๋ณ๋์ด ๋ฐ์ํด ์ ์ฉ ์คํจ
7. ์ผ๋ถ props ํ์
์ ์์ interface ๋ฏธ์ ์ฉ
8. 2์ฐจ ํ์ฑํ ํ ๋ฆฌ๋ ๋๋ง ๋ ๋๋ง๋ค 2์ฐจ ์ธ์ฆ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ๋์๊ฐ
8-1. ์ธ์ฆ๋ฒํธ๋ฅผ ์ ๋๋ก ๊ธฐ์
ํด๋ ์ค์๋์ด ๋ฐ์ํ ๋๊ฐ ์์
9. ์ ์ ๋ฆฌ์คํธ ์ ๋ ฌ์ ํ๋ฒ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ(feedback)
9-1. ํน์ ์ ์ (ํด๋ฆญํ) ์ ๋ณด๋ฅผ ์ ์ญ์ผ๋ก ๊ด๋ฆฌ
10. ๋ชจ๋ ํ์ด์ง์์ ์์ผ์ ์ธ ๊ฒ์ด๋ฉด custom hook์ด๋ ์ ์ญ์์ ํ๋์ ์์ผ๋ง ๊ด๋ฆฌํ๋๊ฑธ ๊ถ์ฅ(feedback)
11. ๊ธฐ์กด API๊ธฐ๋ฅ ์ค ์์ผ์ผ๋ก ๋์ฒด๋ ๊ฒ๋ค์ ์ญ์ ํ์ง ์์
12. jsdoc์ฌ์ฉํด ๊ฐ ์ปดํฌ๋ํธ, API๋ฑ์ ๋ช
์ธํ ๊ฒฝ์ฐ ์ ์ง๋ณด์์ ์ฉ์ด
1. ์ฑํ
๋ก๊ทธ๋ฅผ ์์ผ์ผ๋ก ํ๊บผ๋ฒ์ ๋ฐ์์ ์ ์ฒด ๋ฆฌ๋ ๋๋ง ํด์ฃผ๊ณ ์๋ค. (์ต์ ํ ํ์)
2. if else ๋ถ๋ถ์ด ๋ฏธํก
3. ๊ฐํด๋นํ์ ๋ ์ ์ ์๊ฒ ๋ฐ๋ก ๋ณด์ฌ์ฃผ๋ notification์ด ์์
1. ์๋ฒ์ ํต์ ๋ถํ๋ฅผ ํจ์ฌ ์ค์ฌ์ค ์ฌ์ง๊ฐ ์์ผ๋, ์ ์ฉํ์ง ์์.
2. ๋๊น
๋ฐ ์์ํ ๋ฒ๊ทธ์์๊ฐ ์๋๋ฐ, ๋ง์กฑ์ค๋ฌ์ด ์์ค๊น์ง ๊ฐ์ ํ์ง ๋ชปํจ.
3. ์ปดํฌ๋ํธ ๋ด๋ถ ์ฝ๋ ๊ธธ์ด๊ฐ ๋ง์ด ๊ธด ์ํฉ
4. ์ ์ฌํ ๋ณ์๊ฐ์ ์๋ฏธ๊ฐ ์ผ์นํ์ง ์์(ex. player1,2 - leftPlayer, rightPlayer)
5. ๊ฒ์ ๋ก์ง์ ํน์ ์์์ ์๋ฏธํ์
์ด ์ด๋ ค์(๋์์ฝ๋)
1. ์ค๊ณ๋น์ ์ํคํ
์ณ ์ค๊ณ์ ๋ํด ๊น์ด์๊ฒ ์์ง ๋ชปํ์ฌ NestJs์์ ์ ๊ณตํ๋ ์ํคํ
์ณ๋ฅผ ์ด์ฉํจ
2. ๊ฐ๋ฐ ๊ธฐ๊ฐ์ ๊ณ ๋ คํ์ฌ ํ
์คํธ์ฝ๋๋ MVP ์ ์ ์ดํ, ๋ฆฌํฉํ ๋ง ์ ์ ์์ฑํ๋ ๊ฒ์ผ๋ก ๊ฒฐ์
3. ์ต์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ ๋ คํ๊ณ ์ ์ฉํ๊ธฐ๋ณด๋ค๋, ๋น์ฅ ์ฝ๊ฒ ๊ตฌํํ ์ ์๋ ์ต์๋จ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๊ธฐ๋ฅ๋ง ์ด์ฉํจ.
4. DB์ค๊ณ ์ญ์ ์ต์ ํ ๊ตฌ์กฐ๋ณด๋ค๋, ํ์ํ ์์๋ฅผ ํฌํจ์ํค๋ ๊ฒ์๋ง ์ง์ค.
5. ์์ผ์ ์ด์ฉํ ์ค์๊ฐ ํต์ ์ ์๋น์ค ๋๋ถ๋ถ์ ์ ์ฉํ ๋ก ํ๋ ํฉ์๊ฐ, ๊ฐ๋ฐ์ด ์ด๋์ ๋ ์งํ๋ ์์ ์ ์ถ๊ฐ๋๋ฉด์, ๊ตฌ์กฐ์ ์ผ๋ก ๊น๋ํ์ง ๋ชปํ ์์๊ฐ ๋ค์ ๋ฐ์.
6. ์ด๊ธฐ์ ๋น ๋ฅธ ๊ฐ๋ฐ์ ์ํด, ์ฌ์ฌ์ฉ์ฑ์ด๋ ์์กด์ฑ ๋ฑ์ ๋ํ ๊ณ ๋ ค ์์ด ์ง์ฌ์ง ์ฝ๋๊ฐ ๋ง์, ์ค๋ณต ๊ธฐ๋ฅ ํน์ ์ํ ์ฐธ์กฐ ์์๊ฐ ๋ค์ ์กด์ฌํจ.
1. A์ ์ ๊ฐ B์ ์ ๋ฅผ ์ฐจ๋จ ํ ์ฐจ๋จ ํด์ ํ ๊ฒฝ์ฐ ์ฐจ๋จํ๋ ์๊ฐ ๋์์ B์ ์ ์ ๋ฉ์ธ์ง๊ฐ A์๊ฒ ๋ณด์. ๊ธฐํ ๋ฐ ์ค๊ณ ๋น์ ์๊ฐํ์ง ๋ชปํ์. ๊ธฐํ์ ๋ฐ๋ผ ์์ ํ์.
2. ์์ผ ์ฐ๊ฒฐ์ ํ์ด์ง ์ง์
, ์ดํ ๊ธฐ์ค์ผ๋ก ์ฐ๊ฒฐ, ํด์ ํ๊ณ ์์ด ์ฌ์ฉ์๊ฐ ํ์ด์ง๋ฅผ ์ด๋ํ ๊ฒฝ์ฐ ์ ์์ค์ธ ์ ์ ๋ฅผ ํ์ํ๋ ๋ถ๋ถ์ด ๊น๋นก์ด๋ ํ์ ๋ฐ์. ๋ฐฑ์๋์์ ๋ก๊ทธ์์ ์์๋ง ์ ์ ์ ์ํ๊ฐ ๋ณ๊ฒฝ๋๋๋ก ์์ ํ์.
3. ์ฑํ
๋ด์ฉ์ด๋, ์ค์๊ฐ์ผ๋ก ์ ์ ์ํ ๋ณ๊ฒฝ์ ํ์ํ ์ ์ ์๊ฒ ์ก์ ํ๋ ๋ฑ์, ๋จ๊ธฐ๊ฐ์ ๋ง์ ์ค๋ณต๋ DB์ ๊ทผ์ด ๋ฐ์ํ๋ ๋ถ๋ถ๋ค์ด ์๋๋ฐ, redis ๋ฑ์ ์ด์ฉํ DB์บ์ฑ์ผ๋ก ํจ์ฌ ๊น๋ํ๊ฒ ์ต์ ํ ๊ฐ๋ฅํ๋ค.
4. ์ํ์ฐธ์กฐ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ForwardRefํจ์๋ฅผ ๋จ์ฉํ๋ฉด์, ์ฝ๋์ ํด๋น ๋ชจ๋์ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฌ์ฉํ๊ธฐ๊ฐ ๋ชน์ ์ด๋ ค์์ก๋ค.
1. ์ต์ด ์ค๊ณ์ ๋ค๋ฅด๊ฒ ์ถ๊ฐ๋ ๋ถ๋ถ๋ค์ด ๋ง์, ์ด๋ฏธ ์์ฑ๋ ๊ธฐ์กด ๋ชจ๋์ ์ ๋๋ก ํ์ฉํ์ง ๋ชปํ๊ณ , ๋ง๋ถ์ฌ์ง ์์๊ฐ ๋ค์ ์๋ค.
2. ๊ฒ์ ์ ๋ฐ์ ํ๋ก์ฐ๊ฐ ํํํ ์ค๊ณ ๋ณด๋ค๋, ๊ทธ๋ ๊ทธ๋ ๋ฐ์ํ๋ ํ์์ ์์กดํ๋ฉด์ ๊ธ์กฐ๋ ์์๊ฐ ๋ง๊ณ , ์ถํ ๊ธฐ๋ฅ์ถ๊ฐ ๋ฐ ๋ณ๊ฒฝ ์ ๋ง์ ์์ ์ด ํ์ํ ์ ์์.
dhyeon | junselee | mosong | sgang |
---|---|---|---|
jihokim | kankim | seungyel | |
---|---|---|---|
ํด๋น ํ๋ก์ ํธ๋ MIT ๋ผ์ด์ผ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๊ณ ์์ต๋๋ค.