๐คฉ ์๋น์ค ์๊ฐ
์๋น์ค ์ปจ์
์ ์๊ฐํ๋ ์์์
๋๋ค.
์๋น์ค ์ปจ์
์ ์๊ฐํ๋ ์์์
๋๋ค.
- ๊ฐ์ธ ๋ง์ถค ์ฝ๋ฉํ
์คํธ ํ์ต ์๋น์ค
- ์๊ณ ํ๋ ๊ฐ๋ฐ์ ์ทจ์
์ค๋น์๋ค์ด ์ฝ๋ฉํ
์คํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์ค๋นํ ์ ์๊ฒ ๋๋ ์๋ฃจ์
์
๋๋ค.
- ์๊ณ ํ๋ ์ฝ๋ฉํ
์คํธ ์ฐ์ต ๋ฌธ์ ์ ์ , ํ์ด ๊ณผ์ ๋ฆฌ๋ทฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๋์์ค๋๋ค.
๐ ํต์ฌ ๊ธฐ๋ฅ
-
๊ฐ์ธ ๋ง์ถค ๋ฌธ์ ์ถ์ฒ
์๊ณ ํ๋ ์ ์ ์ ๋ฌธ์ ํ์ด ์ด๋ ฅ์ ๋ถ์ํด, ํ์ฌ ์ํฉ์์ ํ๊ธฐ์ ์ต์ ์ธ ๋ฌธ์ ๋ฅผ ์ถ์ฒํฉ๋๋ค.
-
๋ฌธ์ ํ์ด ๋ก๋๋งต
์๊ณ ํ๋ ์ฝ๋ฉํ
์คํธ๋ฅผ ๋น ๋ฅด๊ฒ ํต๊ณผํ๊ธฐ ์ํ ์ง์ฝ์ ์ธ ๋ฌธ์ set์ ์ ๊ณตํ๊ณ , ๋ก๋๋งต์์ ์ ์ ์ ๋ฌธ์ ์ ํ๋ณ ํ์ด ์งํ๋ฅ ๊ณผ ์ค๋ต๋ฅ ์ ํ ๋์ ํ์ธํ ์ ์๊ฒ ํฉ๋๋ค.
-
์ฝ๋ ์์ฑ ๊ณผ์ ์ฌ์ ํ๋ ์ด์ด
์๊ณ ํ๋ ์ ์ ์ ์ฝ๋ ์์ฑ ๊ณผ์ ์ ์๋์ผ๋ก ๊ธฐ๋กํ๊ณ , ํ๋ ์ด์ด๋ฅผ ์ ๊ณตํ์ฌ ํ์ด ๊ณผ์ ์ ์ฝ๊ฒ ๋ฆฌ๋ทฐํ ์ ์๊ฒ ํฉ๋๋ค.
-
ํ์ด ๊ณผ์ ์ธ๋ฑ์ฑ
์๊ณ ํ๋ ๊ธฐ๋ก๋ ๋ฌธ์ ํ์ด ๊ณผ์ ์ ์ธ๋ฑ์ค ๋ฉ๋ชจ๋ฅผ ์ถ๊ฐํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด, ํ์ด ๊ณผ์ ์ ๊ฐ๋จํ๊ฒ ๋ฆฌ๋ทฐํ ์ ์๊ฒ ๋์์ค๋๋ค.
์๋น์ค ์ ์ฒด ๊ธฐ๋ฅ์ ์๊ฐํ๋ ์์์
๋๋ค.
์๋น์ค ์ ์ฒด ๊ธฐ๋ฅ์ ์๊ฐํ๋ ์์์
๋๋ค.
์๋น์ค ๋ฐ๋ชจ ์์์
๋๋ค.
์๋น์ค ๋ฐ๋ชจ ์์์
๋๋ค.
๐จโ๐จโ๐ง ํ์ ๊ตฌ์ฑ
- FE ๊ฐ๋ฐ์ 1๋ช
(๋ณธ์ธ)
- BE ๊ฐ๋ฐ์ 2๋ช
๐ ๊ธฐ์ ์คํ
TypeScript
React
Next.js
Recoil
SWR
styled-components
ESLint
Prettier
Vercel
๐ช ๊ธฐ์ฌํ ๋ถ๋ถ
[1] ๊ธฐ๋ฅ ๊ตฌํ
- ๋ฌธ์ ๋ก๋๋งต
- react-graph-vis ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด์ฉํด ๊ทธ๋ํ ๊ตฌํ
- ๐ ์ฝ๋ ๋ณด๊ธฐ
- ๋ง์ถค ๋ฌธ์ ์ถ์ฒ
- ์ฝ๋ ์๋ํฐ, ์คํ, ์ ์ถ
- monaco-react ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด ์ฝ๋ ์๋ํฐ ๊ตฌํ (python, javascript ์ง์)
- debounce๋ฅผ ์ด์ฉํด ์ฝ๋ ์์ฑ ๊ณผ์ ์๋ ๊ธฐ๋ก ๊ธฐ๋ฅ ์ต์ ํ
- ๐ ์ฝ๋ ๋ณด๊ธฐ
- ์ฝ๋ ์์ฑ ๊ณผ์ ์ฌ์ ํ๋ ์ด์ด
- setInterval์ ์ด์ฉํด ์ฌ์/์ ์ง, ๋๋๊ทธ, ๊ฑด๋๋ฐ๊ธฐ, ๋ฐฐ์ ๊ธฐ๋ฅ ๊ตฌํ
- ์ธ๋ฑ์ฑ ๊ธฐ๋ฅ ๊ตฌํ
- ๐ ์ฝ๋ ๋ณด๊ธฐ
- ํ์ด ๋
ธํธ ํ
์คํธ ์๋ํฐ
- Draft.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด rich text ์๋ํฐ ๊ตฌํ
- Prism.js ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํด ์๋ํฐ ๋ด code highlighting ๊ตฌํ
- ์ธ๋ฑ์ค ๋ฐ์ดํฐ(์ฝ๋, ๋ฉ๋ชจ) ์ฝ์
๊ธฐ๋ฅ ๊ตฌํ
- ๐ ์ฝ๋ ๋ณด๊ธฐ
[2] ์ต์ ํ
- React.memo, useCallback, useMemo ์ด์ฉํด ๋ ๋๋ง ์ต์ ํ
- Next.js dynamic import๋ฅผ ์ด์ฉํด ์ฝ๋ ์คํ๋ฆฌํ
์ ์ฉ
- ๋ฐ์ํ ๋์์ธ ์ ์ฉ
[3] API ์ค๊ณ ํผ๋๋ฐฑ
[4] ๊ธฐ๋ฅ ๊ธฐํ, UI ์ค๊ณ
๐ ๊ฒฝํ๊ณผ ์ฑ์ฅ
๊ฐ๋ฐ
- ํธ์ถ ์ค์ผ์ค๋ง๊ณผ HTTP ์์ฒญ, ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉฐ JavaScript๋ฅผ ์ด์ฉํ ๋น๋๊ธฐ ์ฒ๋ฆฌ์ ๋์ ๋ฐฉ์์ ๋ํด ๊ณต๋ถํ์ต๋๋ค.
- Recoil ์ฌ์ฉ๋ฒ๊ณผ ๊ฐ๋
์ ๋ํด ์๋กญ๊ฒ ๊ณต๋ถํ๊ณ , Recoil๊ณผ Context API๋ฅผ ์ ์ญ ์ํ ๊ด๋ฆฌ์ ํ์ฉํ์ต๋๋ค.
- ์ฝ๋ ์คํ๋ฆฌํ
์ ๊ฐ๋
์ ๋ํด ๊ณต๋ถํ๊ณ , ์ด๋ฅผ ์ ์ฉํด ํ์ด์ง์ ์ด๊ธฐ ๋ก๋ฉ ์๋๋ฅผ ๊ฐ์ ํ์ต๋๋ค.
- ์ฌ์ฉํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๊ณต์ ๋ฌธ์๋ฅผ ์ฝ๊ณ ํ์ํ ๋ถ๋ถ์ ํ์
ํ๋ ๊ฒ์ ๋ฅ์ํด์ก์ต๋๋ค.
- Lighthouse๋ฅผ ์ด์ฉํด ์น ํ์ด์ง์ ์ฑ๋ฅ์ ์ธก์ ํ๊ณ , ํ์ง์ ๊ฐ์ ํ์ต๋๋ค.
ํ์
- ๋น๋๋ฉด ์ํฉ์์๋ ํ๋ก์ ํธ๋ฅผ ์ํํ๊ฒ ์งํํ๊ธฐ ์ํด ๋
ธ๋ ฅํ๋ ๊ณผ์ ์์ ์ปค๋ฎค๋์ผ์ด์
๋ฅ๋ ฅ์ด ํฅ์๋์์ต๋๋ค.