๋ฐฐ์ธ ๊ฒ์ ์ ๋ง ๋ง์ ๐จ/ํ๋ก ํธ์๋ [ Frontend ] ๐จ3 React ํด๋ ๊ตฌ์กฐ ์ ํ๋ ๋ฐฉ๋ฒ(FSD ์ํคํ ์ฒ) ํ๋ฐํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ ๋ณต์กํด์ง๋ฉด์, ์ฝ๋์ ์ ์ง๋ณด์์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ด๋ ์ํคํ ์ฒ ํจํด์ด ์ค์ํด์ง๊ณ ์์ต๋๋ค. ๊ทธ์ค ํ๋๊ฐ Feature-Sliced Design(FSD) ์ํคํ ์ฒ์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ FSD ์ํคํ ์ฒ์ ๊ฐ๋ ๊ณผ ๊ตฌ์กฐ, ๊ทธ๋ฆฌ๊ณ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.[ ์์นด์ฝ ]1. FSD ์ํคํ ์ฒ๋?Feature-Sliced Design(FSD)๋ ํ๋ฐํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ค ์ฒด๊ณ์ ์ผ๋ก ๊ตฌ์ฑํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ์ํคํ ์ฒ์ ๋๋ค. ์ฃผ์ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:์ฝ๋์ ๊ฐ๋ ์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ ํฅ์๊ธฐ๋ฅ(feature) ๋จ์๋ก ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ๋์ด๋ ๊ตฌ์กฐ ์ ๊ณตFSD๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํฌ๊ฒ ๋ ์ด์ด(Layer), ์ฌ๋ผ์ด์ค(Slice), ์ธ๊ทธ๋จผํธ(Segment) 3๊ฐ์ง ์์๋ก ๊ตฌ๋ถํฉ.. 2025. 2. 2. React + Vite ๋ฒ๋ค๋ง์ผ๋ก ๋น ๋ฅด๊ฒ ์ค์นํ๋ ๋ฐฉ๋ฒ React๋ฅผ ์์ํ ๋ ์๋๊ฐ ๋๋ ค ๊ณ ๋ฏผ์ด์ ๊ฐ์? ์ด๋ฒ ํฌ์คํ ์์๋ React ํ๋ก์ ํธ๋ฅผ Vite๋ก ๋น ๋ฅด๊ฒ ์ค์นํ๊ณ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. Vite๋ ๊ฒฝ๋ํ๋ ๋ฒ๋ค๋ฌ๋ก, ๋น ๋ฅธ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ฉฐ ๋ณต์กํ ์ค์ ์์ด๋ React๋ฅผ ๊ฐํธํ๊ฒ ์คํํ ์ ์์ต๋๋ค.[ ์์นด์ฝ ]1. Vite๋ ๋ฌด์์ธ๊ฐ์?Vite๋ “๋น ๋ฅด๋ค”๋ ์๋ฏธ๋ฅผ ๊ฐ์ง ํ๋์ค์ด ๋จ์ด์์ ์ ๋ํ์ผ๋ฉฐ, JavaScript์ TypeScript ๊ฐ๋ฐ์ ์ํ ์ฐจ์ธ๋ ๋น๋ ๋๊ตฌ์ ๋๋ค. Vite๋ ๊ธฐ์กด ๋ฒ๋ค๋ฌ์ ๋ฌ๋ฆฌ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ์ ๊ณตํฉ๋๋ค.๋น ๋ฅธ ์๋ฒ ์์: Vite๋ ES ๋ชจ๋์ ํ์ฉํ์ฌ ๊ธฐ์กด์ ๋ฒ๋ค๋ง ๊ณผ์ ์์ด ๊ฐ๋ฐ ์๋ฒ๋ฅผ ์ฆ์ ์คํํฉ๋๋ค.๋น ๋ฅธ HMR(Hot Module Replacement): ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ค์๊ฐ์ผ๋ก ๋ฐ์ํฉ๋๋ค.. 2025. 1. 26. ๋ฆฌ์กํธ React ํ๋ก์ ํธ ์ค์น ํ ๋ก์ปฌ์๋ฒ ์คํํ๋ ๋ฐฉ๋ฒ React๋ ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ JavaScript ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ํจ์จ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ React ํ๋ก์ ํธ๋ฅผ ์ค์นํ๊ณ ๋ก์ปฌ ์๋ฒ๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ฝ๊ฒ ์ค๋ช ํฉ๋๋ค.[ ์์นด์ฝ ]1. React Extension Pack ์ค์นํ๊ธฐ - VS Code์ Extension ํญ์์ "React Extension Pack"์ ๊ฒ์ํ์ฌ ์ค์นํฉ๋๋ค. ์ด ํ์ฅํฉ์ React ๊ฐ๋ฐ์ ์ ์ฉํ ๋๊ตฌ๋ค์ ํฌํจํ๊ณ ์์ด ์ฝ๋ ์์ฑ๊ณผ ๋๋ฒ๊น ์ ๋์ฑ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ค๋๋ค. 2. Node.js, npm, npx ๋ฒ์ ํ์ธํ๊ธฐ - React ํ๋ก์ ํธ๋ฅผ ์คํํ๋ ค๋ฉด Node.js์ npm์ด ํ์์ ๋๋ค. ์๋ ๋ช ๋ น์ด๋ก ํ์ฌ ์ค์น๋ ๋ฒ์ ์ ํ์ธํด ํ์ํ ํ๊ฒฝ์ด .. 2025. 1. 24. ์ด์ 1 ๋ค์