์๋ ํ์ธ์ ! SSAFYcial 11๊ธฐ ์ด์งํ ๊ธฐ์์ ๋๋ค.
์ด๋ฒ ๊ธฐ์ฌ๋ ๋ง์ง๋ง ์์จ ํ๋ก์ ํธ๋ฅผ ์์ํ๋ฉฐ, ํ๋ก ํธ์๋ ๊ธฐ์ ์ ์ ๊ณผ์ ์ ๋ํด ์ ๋ฆฌํ ๋ด์ฉ์ ์์ฑํ๊ฒ ๋์์ต๋๋ค.
ํ๋ก์ ํธ์์์ ๊ธฐ์ ์คํ ์ ์ ์ ์ฑํ ์ด์ ๊ฐ ๊ต์ฅํ ์ค์ํ๋ค๊ณ ์๊ฐ๋๋๋ฐ์. ์ด์ ๊ด๋ จํด์ ํ์๋ค๊ณผ ํจ๊ป ๊ณ ๋ฏผํ ๋ด์ฉ๋ค์ ์ ๋ฆฌํด๋ณด์์ต๋๋ค.
ํจํค์ง ๋งค๋์
๊ณ ๋ ค ๋์
- npm โ
- ํ๋ก์ ํธ์ ํน์ฑ์ ์์ ์ฑ๊ณผ ์ ๊ทผ์ฑ์ด ์ค์ํ์ต๋๋ค.
- npm์ ๊ฐ์ฅ ๊ด๋ฒ์ํ ์ปค๋ฎค๋ํฐ์ ๋ฌธ์ํ๋ฅผ ๋ณด์ ํ๊ณ ์์ด ๋ฌธ์ ํด๊ฒฐ์ด ์ฉ์ดํ๊ณ , Node.js์ ๊ธฐ๋ณธ ๋ด์ฅ๋์ด ์์ด ์ถ๊ฐ ์ค์น ์์ด ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- pnpm
- ๋์คํฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์ค์น ์๋๊ฐ ๋น ๋ฆ ๋๋ค.
- Yarn
- ๋ณ๋ ฌ ์ค์น์ ์คํ๋ผ์ธ ์บ์๋ฅผ ์ง์ํ๋ ์ฅ์ ์ด ์์ต๋๋ค.
๐์ ์ ์ด์
pnpm์ด๋ Yarn์ด ์ฑ๋ฅ๋ฉด์์ ์ฐ์ํ์ง๋ง, ํ๋ก์ ํธ ๊ท๋ชจ๊ฐ ํฌ์ง ์์ ๊ฒ์ผ๋ก ์์๋์ด ์ฑ๋ฅ ์ฐจ์ด๊ฐ ํฐ ๊ณ ๋ ค ๋์์ด ์๋์์ต๋๋ค. ๋ํ, ๋น ๋ฅธ ๊ฐ๋ฐํ๊ฒฝ ์ธํ ์ ์ํด npm์ ์ฑํํ๊ฒ ๋์์ต๋๋ค.
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด / ํ์ ์์คํ
๊ณ ๋ ค ๋์
- JavaScript
- ์์ JavaScript๋ ๋ฌ๋์ปค๋ธ๊ฐ ๋ฎ๊ณ ์ง์ ์ฅ๋ฒฝ์ด ๋ฎ์ ์ฅ์ ์ด ์์ง๋ง, ํ์ ์์ ์ฑ์ด ๋ถ์กฑํ์ฌ ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
- TypeScript โ
- TypeScript๋ JavaScript์ ์ ์ ํ์ ์์คํ ์ ๋ํ ์ธ์ด๋ก, ์ฝ๋ ์์ฑ ๋จ๊ณ์์ ํ์ ๊ด๋ จ ์ค๋ฅ๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.
- IDE์์ ์๋ ์์ฑ๊ณผ ํ์ ์ถ๋ก ์ ์ง์ํ์ฌ ๊ฐ๋ฐ ์๋๊ฐ ํฅ์๋๊ณ , ์ฝ๋ ๋ฆฌํฉํ ๋ง ์ ํ์ ์ฒดํฌ๋ฅผ ํตํด ์์ ํ๊ฒ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ํ ์ธํฐํ์ด์ค์ ํ์ ์ ์๋ฅผ ํตํด ์ฝ๋์ ์๋๋ฅผ ๋ช ํํ๊ฒ ํํํ ์ ์์ด, ํ์ ๊ฐ ํ์ ์ด ์ฉ์ดํด์ง๋๋ค.
๐ ์ ์ ์ด์
์ด๋ ฅ์, ํ๋ก์ ํธ ํ๊ณ , ๊ธฐ์ ๊ณต๊ณ ๋ฑ ๋ณต์กํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋ค๋ฃจ๋ ํ๋ก์ ํธ ํน์ฑ์, TypeScript์ ํ์ ์์คํ ์ด ์ ๊ณตํ๋ ์ด์ ์ด ํฌ๊ธฐ ๋๋ฌธ์ ์ ์ ํ๊ฒ ๋์์ต๋๋ค :
- ์๋์์ฑ๊ณผ ํ์ ์ฒดํฌ๋ก ๊ฐ๋ฐ ์์ฐ์ฑ ํฅ์
- ์ฝ๋ ํ์ง๊ณผ ์ ์ง๋ณด์์ฑ ๊ฐ์
- ์คํ ์ ํ์ ๊ด๋ จ ์ค๋ฅ ๋ฐ๊ฒฌ ๊ฐ๋ฅ
JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ณ ๋ ค ๋์
- React โ
- ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ๋ฅผ ํตํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์์๋ฅผ ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ํนํ ์ฐ๋ฆฌ ํ๋ก์ ํธ๋ ์ด๋ ฅ์, ํ๋ก์ ํธ ํ๊ณ , ์๊ธฐ์๊ฐ์ ๋ฑ ๋น์ทํ ๊ตฌ์กฐ๊ฐ ๋ฐ๋ณต๋๋ UI๊ฐ ๋ง์ ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ์ฑ์ด ์ค์ํฉ๋๋ค.
- React๋ ๊ฑฐ๋ํ ์ํ๊ณ๋ฅผ ๋ณด์ ํ๊ณ ์์ด, TanStack Query, Zustand, Axios ๋ฑ ํ๋ก์ ํธ์์ ์ฑํํ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์ฝ๊ฒ ํตํฉํ ์ ์์ต๋๋ค. TypeScript์์ ํธํ์ฑ๋ ์ข์, ์ปดํฌ๋ํธ์ props์ ์ํ์ ๋ํ ํ์ ์์ ์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค.
๋น๋ ๋๊ตฌ
- Vite
์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ณ ๋ ค ๋์
https://yozm.wishket.com/magazine/detail/2233/
https://velog.io/@iberis/์ํ๊ด๋ฆฌ-๋ผ์ด๋ธ๋ฌ๋ฆฌ-๋น๊ต-Redux-vs-Recoil-vs-Zustand-vs-Jotai
- Redux
- Redux๋ ๊ฐ์ฅ ์ค๋๋๊ณ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. Redux DevTools๋ฅผ ํตํ ๋๋ฒ๊น ์ด ๊ฐ๋ ฅํ๊ณ , ๋ฏธ๋ค์จ์ด ์์คํ ์ผ๋ก ๋น๋๊ธฐ ์์ ์ ์ฒด๊ณ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ํ์ง๋ง ์์ ์ํ ๋ณํ์๋ ๋ง์ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๊ฐ ํ์ํ๊ณ , Redux Toolkit์ ์ฌ์ฉํ๋๋ผ๋ ์ค์ ์ด ๋ณต์กํฉ๋๋ค.
- Zustand โ
- Zustand๋ ์ต๊ทผ Redux๋ณด๋ค ๋ ๋ง์ ์ฌ์ฉ๋์ ๋ณด์ด๊ณ ์์ต๋๋ค.
- ๊ฐ๋จํ API๋ก ๋น ๋ฅธ ํ์ต ๊ฐ๋ฅ
- Redux๋ณด๋ค ๋ณด์ผ๋ฌํ๋ ์ดํธ๊ฐ ์ ์
- React ์ธ๋ถ์์๋ ์ํ ์ ๊ทผ ๊ฐ๋ฅ (์๋ฆผ ๊ธฐ๋ฅ ๊ตฌํ์ ์ ๋ฆฌ)
- TypeScript ์ง์์ด ์ฐ์
- ์์ ๋ฒ๋ค ์ฌ์ด์ฆ
- Zustand๋ ์ต๊ทผ Redux๋ณด๋ค ๋ ๋ง์ ์ฌ์ฉ๋์ ๋ณด์ด๊ณ ์์ต๋๋ค.
CSS
๊ณ ๋ ค ๋์
- CSS โ
- ํนํ CSS Module์ ์ฌ์ฉํ์ฌ ์ปดํฌ๋ํธ๋ณ๋ก CSS ์ค์ฝํ๊ฐ ์๋์ผ๋ก ๊ฒฉ๋ฆฌ
- ํด๋์ค๋ช ์ด ๊ณ ์ ํ ํด์๊ฐ์ผ๋ก ๋ณํ๋์ด ์ค๋ณต ๊ฑฑ์ ์์
- ํนํ ํ๋ก์ ํธ์์ ๋ง์ ํผ ์์๋ค(์ด๋ ฅ์, ํ๊ณ , ์์์)์ด ์์ด ์คํ์ผ ์ถฉ๋ ๋ฐฉ์ง๊ฐ ์ค์
- SCSS/SCSS
- Tailwind CSS
- Styled-components
- Emotion
๋ฐ์ดํฐ fetching ๋ฐ query ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ณ ๋ ค ๋์
- TanStack Query(React Query)
HTTP ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๊ณ ๋ ค ๋์
- Axios โ
- ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ด ์ฐ์
- ์ธํฐ์ ํฐ๋ฅผ ํตํ ์์ฒญ/์๋ต ์ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- TypeScript ์ง์์ด ์ฐ์
- ์๋ฌ ํธ๋ค๋ง์ด ์ฉ์ด
- ํนํ AI API ํธ์ถ ์ ์์ ์ ์ธ ์ฒ๋ฆฌ ๊ฐ๋ฅ
'๐ ssafy' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SSAFYcial] ์ธํผ์์์ ๋ง์ง๋ง ๋ฌ ๊ฒฐ์ฐ (์๋ฃ์ฌ์ง, ์ผ์ etc) (4) | 2024.12.02 |
---|---|
[SSAFYcial] SSAFY 13๊ธฐ ์ง์์ ๋ง์ค์ด๋ ๋ถ๋ค์ ์ํ 1๋ ํ๊ณ (0) | 2024.10.30 |
[SSAFYcial] ์ ํ ํด์ปคํค ํ๊ธฐ (1) | 2024.09.03 |
[SSAFYcial] ์ ํ ํด์ปคํค React Editor ์ ์ฉ๊ธฐ (3) | 2024.08.28 |
[SSAFYcial] Vue์ React๋ ์ด๋ป๊ฒ ๋ค๋ฅธ๊ฐ์ ? (0) | 2024.07.31 |