[FRONTEND] ํ๋ก ํธ์๋ ๊ธฐ์ ๋ฉด์ ๊ฐ๋ ์ ๋ฆฌ
๐ก ์ฃผ์์ฐฝ์ ์ฃผ์๋ฅผ ์ ๋ ฅํ์ ๋์ ํ๋ฆ์ ์ค๋ช ํด์ฃผ์ธ์.
- ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ์ ์ฃผ์์ฐฝ์ ์ฃผ์๋ฅผ ์ ๋ ฅ
- ๋ธ๋ผ์ฐ์ ์์ DNS ์๋ฒ์ IP์ฃผ์๋ฅผ ์์ฒญํ๊ณ , DNS ์๋ฒ์์ IP์ฃผ์๋ฅผ ๋ฐํํ๋ค.
- ๊ทธํ ๋ธ๋ผ์ฐ์ ์์ ํธ์คํ ์๋ฒ์ IP์ฃผ์๋ฅผ ์์ฒญํ๋ฉด ํธ์คํ ์๋ฒ์์ HTTP๋ฅผ ์์ฒญํ๊ณ ์๋ฒ์์ HTTP๋ฅผ ์๋ต
- ๋ธ๋ผ์ฐ์ ์์ ๋ ๋๋ง์ด ์ผ์ด๋๋ฉด์ ํ๋ฉด์ด ๋ณด์ธ๋ค.
๐ฅ DNS(Domain Name System) ๋? ์น์ฌ์ดํธ์ IP ์ฃผ์์ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ด์ด์ฃผ๋ ํ๊ฒฝ/์์คํ
: ์น์ฌ์ดํธ์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ํธ์คํ ์๋ฒ๋ ์ธํฐ๋ท ํ์ ์ด ์ฐ๊ฒฐ๋ ์ปดํจํฐ/์ฅ์น์ธ์ง๋ผ IP ์ฃผ์๊ฐ ํ ๋น๋์ด ์๊ณ ์ด ์ฃผ์๊ฐ ์ค์ ์น์ฌ์ดํธ ์ฃผ์๋ผ ํ ์ ์๋ค. DNS ์๋ฒ๋ ์ด๋ฐ IP ์ฃผ์๋ฅผ ํน์ ๋๋ฉ์ธ ์ฃผ์์ ๊ฐ๋ค๋ ๊ธฐ๋ก์ ์ ์ฅํด๋๊ณ , ์ธํฐ๋ท ์ฌ์ฉ์๋ค์ด ๋๋ฉ์ธ ์ฃผ์๋ฅผ ๊ฒ์ํ์ ๋ IP ์ฃผ์๋ก ์ฐ๊ฒฐ๋๋๋ก ํด์ค๋ค.
๐ก ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ ์ ์ค๋ช ํด์ฃผ์ธ์.
- ์ฌ์ฉ์๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ์ฌ์ดํธ์ ์ ์
- ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ๋ก๋ถํฐ HTML, CSS, JavaScript์ ๊ฐ์ ์น์ฌ์ดํธ์ ํ์ํ ๋ฆฌ์์ค๋ฅผ ๋ค์ด ๋ฐ์( = Resource Downloading)
- HTML DOM Tree ๊ตฌ์ถ : ๋ ๋๋ง ์์ง์ ์ ๋ฌ๋ฐ์ HTML ๋ฌธ์๋ฅผ ํ์ฑ(parsing)ํด DOM(Document Object Model, ๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ) ํธ๋ฆฌ ํ์ฑ
- CSSOM Tree ๊ตฌ์ถ : ์ด์ด์ ๋ค์ด ๋ฐ์ ์ธ๋ถ CSS ํ์ผ๊ณผ ํจ๊ป ํฌํจ๋ ์คํ์ผ ์์๋ฅผ ํ์ฑ(parsing)ํด CSSOM Tree ํ์ฑ
- Render Tree ๊ตฌ์ถ : ๋ง๋ DOM ํธ๋ฆฌ์ CSSOM ํธ๋ฆฌ๋ฅผ ๊ฒฐํฉ
- Rayout : ๊ฐ ์์๋ฅผ ์ด๋์ ๋ฐฐ์นํ ์ง ๊ฒฐ์
- Paint : ๋ ์ด์์ ๊ณผ์ ์ด ๋๋๋ฉด UI ๋ฐฑ์๋์์ Render ํธ๋ฆฌ๋ฅผ ํ๋ฉด์ ๊ทธ๋ฆฌ๊ธฐ ์์ํ๋ ๊ณผ์
๐ก ๋ฆฌํ๋ก์ฐ์ ๋ฆฌํ์ธํธ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: ๋ ๋๋ง ๊ณผ์ ์ ๋ ์ด์์์ ๋ฐ๋ณตํด ์ํํ๋ ๊ฒ์ ๋ฆฌํ๋ก์ฐ, ํ์ธํธ ๊ณผ์ ์ ๋ฐ๋ณตํด ์ํํ๋ ๊ฒ์ ๋ฆฌํ์ธํธ๋ผ๊ณ ํฉ๋๋ค.
๐ก ๋ฆฌํ๋ก์ฐ์ ๋ฆฌํ์ธํธ์ ๋ฐ์ ์กฐ๊ฑด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: ๋ฆฌํ๋ก์ฐ๋ ์์์ ๋๋น, ๋์ด, ์์น ๋ฑ์ ๋ณ๊ฒฝํ ๋ ๋ฐ์ํ๋ฉฐ, ๋ฆฌํ์ธํธ๋ ์์์ ์์, ๋ฐฐ๊ฒฝ์ ๋ณ๊ฒฝ ํน์ ๋ฆฌํ๋ก์ฐ๊ฐ ์ผ์ด๋ ๊ฒฝ์ฐ ๋ฐ์
๐ก visibility ์์ฑ์ ๋ฆฌํ๋ก์ฐ๋ฅผ ๋ฐ์์ํฌ๊น์?
: visibility ์์ฑ์ ์์๋ฅผ ํ๋ฉด์์ ๋ณด์ด๋๋กํ๋ ์์ฑ์ด๋ฏ๋ก ์์ํ ๊ทธ ๋ด์ฉ์ด ๋ ์ด์์์ ์ํฅ์ ๋ฏธ์น๋ค. ๋ฐ๋ผ์, ์ด ์์๊ฐ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ถ๊ฐ๋๋ฉด ๋ฆฌํ๋ก์ฐ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
โ visibility ์์ฑ์ hidden์ผ๋ก ์ค์ ํ๋ฉด ํ๋ฉด์์ ์์๋ฅผ ์จ๊ธธ ์ ์์ผ๋ฉฐ, ๋ฆฌํ๋ก์ฐ๋ฅผ ์ต์ํํ ์ ์์ต๋๋ค. ์ด๋ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๐๏ธ Webpack
- ์ต์ ํ๋ฐํธ์๋ ํ๋ ์์ํฌ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋ชจ๋ ๋ฒ๋ค๋ฌ(Module Bundler)์ ๋๋ค.
๐ฅ ๋ชจ๋ ๋ฒ๋ค๋ฌ๋? ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ์์(HTML, CSS, Javscript, Images ๋ฑ)์ ๋ชจ๋ ๊ฐ๊ฐ์ ๋ชจ๋๋ก ๋ณด๊ณ ์ด๋ฅผ ์กฐํฉํด์ ๋ณํฉ๋ ํ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋๋ ๋๊ตฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ฌ์ฉํ๋ ์ด์
- ํ์ผ ๋จ์์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ๊ด๋ฆฌ์ ํ์์ฑ
- ์น ๊ฐ๋ฐ ์์ ์๋ํ ๋๊ตฌ
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅธ ๋ก๋ฉ ์๋์ ๋์ ์ฑ๋ฅ
๐๏ธ Babel
- ์ต์ ๋ฌธ๋ฒ์ ๋ธ๋ผ์ฐ์ ๊ฐ ์ดํดํ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ํต์ญ
- ๋ธ๋ผ์ฐ์ ๋ JSX๋ฅผ ์ดํดํ์ง ๋ชปํ๋ค.
๊ทธ๋ฌ๋ ๋ฐ๋ฒจ์ด๋ผ๋ ํต์ญ์ฌ๋ก JSX -> Javascript
๐๏ธ Prettier
ํ์
์ ํ๊ฒ ๋ ๋, ์ผ๊ด์ฑ ์๋ ์ฝ๋ ์คํ์ผ์ ์ ๋ง ์ค์ํ๋ค.
๊ทธ๋์ ์ผ๊ด์ฑ ์๋ ์ฝ๋ ์คํ์ผ ๊ท์น๋ง ์ค์ ํด์ฃผ๋ฉด ์์์ ์๋์ผ๋ก ๊ทธ ๊ท์น์ ๋ง๊ฒ ์ฝ๋๋ค์ ์ ๋ฆฌํด์ค๋ค.
๐๏ธ Eslint
ESLint๊ฐ ์ฝ๋ ํ๋ฆฌํฐ๋ฅผ ์ผ๊ด์ ์ผ๋ก ์ ์ง
๋ฌธ๋ฒ ์๋ฌ๋ฅผ ์ก์์ฃผ๊ฑฐ๋ ๋ ์ข์ ์ฝ๋ ๊ตฌํ ๋ฐฉ์์ ์ฌ์ฉํ๋๋ก ํด์ค๋ค.
๐ก Webpack, Babel, Polyfill์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- webpack : ๋ฒ๋ค๋ฌ - JS๋ก ๋ง๋ ํ๋ก๊ทธ๋จ์ ๋ฐฐํฌํ๊ธฐ ์ข์ ํํ๋ก ๋ฌถ์ด์ฃผ๋ ๋๊ตฌ์ด๋ค. ์ฌ๋ฌ JSํ์ผ์ ์์ฑํ๋ฉด ์นํฉ์ด ํ๋์ JSํ์ผ๋ก ๋ง๋ค์ด์ค๋ค.
- babel : ์ปดํ์ผ๋ฌ - ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ์ ์ง์ํ์ง ์๋ ํ๊ฒฝ์์ ์ต์ ๋ฌธ๋ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ๋์ (๋ฐ๋ฒจ์ ๋น๋ ์์ ์ ์ฝ๋ ๋ณํ)
- polyfill : ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง - ์๋ฐ์คํฌ๋ฆฝํธ ํ์ค์ ์๋กญ๊ฒ ์ถ๊ฐ๋ ๊ฐ์ฒด๋ ํจ์๋ฅผ ์ฌ์ฉํ์ ๊ฒฝ์ฐ, ์คํ ์์ ์ ํ์ฌ ํ๊ฒฝ(์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ )์ ํด๋น ๊ฐ์ฒด๋ ํจ์(๊ธฐ๋ฅ)๊ฐ ์กด์ฌํ๋์ง ๊ฒ์ฌํ์ฌ ์์ ๋๋ง ์ฃผ์ ํด์ฃผ๋ ์ฝ๋ (ํด๋ฆฌํ์ ์คํ ์์ ์ ์ฃผ์ )
๐ก ESLint์ Prettier์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
- prettier : ์ฝ๋ ๊ท์น์ ์ค์ ํด์ฃผ๋ฉด ์๋์ผ๋ก ๊ทธ ๊ท์น์ ๋ง๊ฒ ์ฝ๋๋ค์ ์ ๋ฆฌํด์ค๋ค
- eslint : ๋ฌธ๋ฒ ์๋ฌ๋ฅผ ์ก์์ฃผ๊ฑฐ๋ ๋ ์ข์ ์ฝ๋ ๊ตฌํ๋ฐฉ์์ ์ฌ์ฉํ๋๋ก ํด์ค๋ค.
๐ก CSR๊ณผ SSR์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
CSR์ ํด๋ผ์ด์ธํธ๊ฐ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ๊ทธ๋ฆฐ๋ค. ์ฒ์ ๋ก๋ฉ์ jsํ์ผ์ ์ฉ๋์ด ํด์๋ก ๋ก๋ฉ์๊ฐ์ด ๊ธธ๋ค.
ํ์ง๋ง ์ด๊ธฐ์ ๋ก๋ฉ์ด ๋๊ณ ๋๋ฉด ํ์ด์ง ๊ฐ ์ด๋ ์ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ์ ํ๋๊ณ , ํ์ด์ง ์ด๋ ์ ์๋ก๊ณ ์นจ๋๋ ํ์๋ ์ฌ๋ผ์ง๋ค(= SPA).
SSR์ ์๋ฒ๋ก๋ถํฐ ์์ ํ๊ฒ ๋ง๋ค์ด์ง htmlํ์ผ์ ๋ฐ์์ ํ์ด์ง ์ ์ฒด๋ฅผ ๋ ๋๋ง ํ๋ ๋ฐฉ์. ์ฒซ ํ์ด์ง์ ๋ก๋ฉ์๊ฐ์ด CSR์ ๋นํด ์งง๋ค.
์ด๋ฏธ ๋ ๋๋ง๋ ํ์ด์ง๋ฅผ ์๋ฒ์์ ๋ฐ์์ ํ๋ฉด์ ๊ตฌ์ฑํ๊ธฐ ๋๋ฌธ์ด๋ค. SEO ์ธก๋ฉด์์๋ ์ ๋ฆฌํ๋ค.
๊ฒ์์์ง์ด ํฌ๋กค๋ง์ ํ ๋ ์๋ฒ์ ์ด๋ฏธ ํ๋์ฝ๋ฉ๋ html ํ์ผ์ด ์๊ธฐ ๋๋ฌธ์ ๊ฒ์์์ง์ด ์ด ํ์ด์ง๊ฐ ์ด๋ค ์ญํ ์ ํ๋์ง ํ์
ํ๋๋ฐ ์ฉ์ดํ๋ค.
๐ก CORS์ ํด๊ฒฐ ๊ฒฝํ์ ๋ง์ํด์ฃผ์ธ์.
: ๋ค๋ฅธ ์ถ์ฒ์์ ๋ฆฌ์์ค์ ์ ๊ทผํ๋ ค๋ ์๋๋ฅผ ์ ํํ๋ ๋ณด์ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ์ด๋ก ์ธํด ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ ๋ค๋ฅธ ๋๋ฉ์ธ์์ ๋ฐ์ดํฐ๋ฅผ ์์ฒญํ๊ฑฐ๋ ์๋ฒ ๊ฐ ํต์ ์ ํ ๋ CORS ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
โ ํด๊ฒฐ๋ฐฉ๋ฒ
์๋ฒ ์ธก ์ค์ / ํ๋ก์ ์๋ฒ ์ฌ์ฉ
๐ก ์ฟ ํค, ์ธ์ , ์น์คํ ๋ฆฌ์ง์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์, ์ธ์ ์ ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค. ๊ทธ๋ฌ๋ค๋ณด๋ ์ธ์ ์ด ์ฟ ํค๋ณด๋ค ๋ณด์์ฑ์ ๋์ง๋ง ์๋๋ ๋ฎ๋ค.
์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ๋ง๋ฃ๊ธฐ๊ฐ์ด ๋จ์์์ผ๋ฉด ์กด์ฌํ์ง๋ง, ์ธ์ ์ ๋ธ๋ผ์ฐ์ ์ข ๋ฃ์ ์ข ๋ฃ ๋๋ค.
์น ์คํ ๋ฆฌ์ง๋ ํด๋ผ์ด์ธํธ ์ธก์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๊ณ , ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ์ธ์ ์คํ ๋ฆฌ์ง ๋ ๊ฐ์ง ์ฃผ์ ์ ํ์ด ์์ผ๋ฉฐ, ์ด๋ค์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์ฌ ์๊ตฌ์ ๋๋ ์์๋ก ์ ์งํ ์ ์์ต๋๋ค. ์น ์คํ ๋ฆฌ์ง๋ ์ฟ ํค๋ณด๋ค ๋ ๋ง์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ ์ธก์์ ์๋ํ๋ฏ๋ก ๋ ๋น ๋ฅผ ์ ์์ต๋๋ค.
๐ก ๋ก๊ทธ์ธ ์ฒ๋ฆฌ๋ฅผ ํ ๋ ์ฟ ํค์ ์ธ์ ์ ์ด๋ป๊ฒ ์ฌ์ฉํ์๋์?
: ์์ด๋ ์๋์์ฑ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋๋ ์ฟ ํค / ์๋ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ก์ปฌ์คํ ๋ฆฌ์ง / ์์๋ก ์ ์ง๋๋ ์ ๋ ฅํผ ๋๋ ์ผํ์ฑ ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ธ์ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ค.
๐ก ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ง(cross browsing)์ด๋? ์น ํ์ด์ง ์ ์ ์์ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ๊นจ์ง์ง ์๊ณ ์๋ํ ๋๋ก ์ฌ๋ฐ๋ฅด๊ฒ(ํธํ์ฑ) ๋์ค๊ฒ ํ๋ ์์ ์ ๋งํฉ๋๋ค. (HTML5, CSS3, Javascript ์์ฑ ์ ์น ๊ท๊ฒฉ์ ๋ง๋ ์ฝ๋ฉ์ ํจ์ผ๋ก์จ ์ด๋ ๋ธ๋ผ์ฐ์ , ๊ธฐ๊ธฐ์์ ์ฌ์ดํธ๊ฐ ์๋๋ ๋๋ก ๋ณด์ฌ์ง๊ณ ์๋๋๋ ๊ธฐ๋ฒ์ ๋๋ค.)
๐ก REST API์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: REST API๋ HTTP ์์ฒญ์ ํตํด ํต์ ํจ์ผ๋ก์จ ๋ฆฌ์์ค ๋ด์์ ๋ ์ฝ๋(CRUD ๋ผ๊ณ ๋ ํจ)์ ์์ฑ, ์ฝ๊ธฐ, ์ ๋ฐ์ดํธ ๋ฐ ์ญ์ ๋ฑ์ ํ์ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค.
๐ก ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ด๋ ๋ฌด์์ธ๊ฐ์?
: ํ๋ก๊ทธ๋๋ฐ์์ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ถ์ํ ์์ผ ์ํ์ ํ์๋ฅผ ๊ฐ์ง ๊ฐ์ฒด๋ก ๋ง๋ค๊ณ , ๊ฐ์ฒด๋ค๊ฐ์ ์ํธ์์ฉ์ ํตํด ๋ก์ง์ ๊ตฌ์ฑํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ด๋ค.
๐ก ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํน์ง์ ๋ํด ๋ง์ํด์ฃผ์ธ์.
: ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํฌ๊ฒ ์ถ์ํ , ์บก์ํ , ์์ , ๋คํ์ฑ ์ ๋ค๊ฐ์ง ํน์ง์ ๊ฐ์ง๋ค.
- ์ถ์ํ๋ ๋ถํ์ํ ์ ๋ณด๋ ์จ๊ธฐ๊ณ ์ค์ํ ์ ๋ณด๋ง์ ํํํจ์ผ๋ก์จ ํ๋ก๊ทธ๋จ์ ๊ฐ๋จํ๊ฒ ๋ง๋๋ ๊ฒ
- ์บก์ํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ๋ฐฉ๋ฒ๋ค์ ๊ฒฐํฉ ์์ผ ๋ฌถ๋ ๊ฒ (๋ณ์์ ํจ์๋ฅผ ํ๋๋ก ๋ฌถ๋ ๊ฒ์ ๋ปํจ) / ์์ฑ๊ณผ ๊ธฐ๋ฅ์ ์ ์ํ๋ ๋ณ์์ ๋ฉ์๋๋ฅผ ํด๋์ค๋ผ๋ ์บก์์ ๋ฃ์ด์ ๋ถ๋ฅํ๋ ๊ฒ์ผ๋ก ์ฌํ์ฉ์ด ์ํํ๋ค.
- ์์์ ํด๋์ค์ ์์ฑ๊ณผ ํ์๋ฅผ ํ์ ํด๋์ค์ ๋ฌผ๋ ค์ฃผ๊ฑฐ๋ ํ์ ํด๋์ค๊ฐ ์์ ํด๋์ค์ ์์ฑ๊ณผ ํ์๋ฅผ ๋ฌผ๋ ค๋ฐ๋ ๊ฒ์ ๋งํ๋ค.
- ๋คํ์ฑ์ ํ๋์ ํด๋์ค ๋ด๋ถ์ ๊ฐ์ ์ด๋ฆ์ ํ์๋ฅผ ์ฌ๋ฌ๊ฐ ์ ์ํ๊ฑฐ๋ ์์ ํด๋์ค์ ํ์๋ฅผ ํ์ ํด๋์ค์์ ์ฌ์ ์ํ์ฌ ์ฌ์ฉํ ์ ์๋ค.
๐ก ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ๋จ์ ์ ๋ํด ๋ง์ํด์ฃผ์ธ์.
:
์ฅ์
- ํด๋์ค ๋จ์๋ก ๋ชจ๋ํ์์ผ์ ๊ฐ๋ฐํ๊ธฐ ๋๋ฌธ์ ์ ๋ฌด ๋ถ๋ด์ด ํธ๋ฆฌํ๊ณ ๋๊ท๋ชจ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ ํฉํ๋ค.
- ํด๋์ค ๋จ์๋ก ์์ ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์ ์ง ๋ณด์๊ฐ ํธ๋ฆฌํ๋ค.
- ํด๋์ค๋ฅผ ์ฌ์ฌ์ฉํ๊ฑฐ๋ ์์์ ํตํด ํ์ฅํจ์ผ๋ก์จ ์ฝ๋ ์ฌ์ฌ์ฉ์ด ์ฉ์ดํ๋ค.
๋จ์
- ์ฒ๋ฆฌ์๋๊ฐ ์๋์ ์ผ๋ก ๋๋ฆฌ๋ค.
- ๊ฐ์ฒด์ ์๊ฐ ๋ง์์ง์ ๋ฐ๋ผ ์ฉ๋์ด ์ปค์ง ์ ์๋ค.
- ์ค๊ณ์ ๋ง์ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ํ์ํ๊ฒ ๋ ์ ์๋ค.
๐ก SEO์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: ๊ฒ์ ์์ง ์ต์ ํ - ๊ฒ์์ ํ๋ฉด ๊ฒ์์์ง์ ์ธ๋ฑ์ฑํด๋ ์๋ง์ ์น ํ์ด์ง ์ค ๊ฐ์ฅ ์ ํฉํ ์์๋๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ ธ์ถํ๋๋ฐ ๊ทธ์ค
์์ ์ ์น ํ์ด์ง๊ฐ ๋ ๋ง์ด ๋ ธ์ถ๋๋๋ก ์ต์ ํ๋ ์์ ์ ๋งํ๋ค.
๐ก SEO๋ ์ด๋ค ์์ผ๋ก ์ ๊ฒฝ์ฐ์ จ๋์?
: ์ ํํญ ๋ฉํ ํ๊ทธ ์์ฑ , ํ์ด์ง ๋ก๋ฉ ์๋ ์ค์ด๊ธฐ ๋ฑ
๐ก dependencies ์ devDependencies ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
: dependencies์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋์๊ณผ ์ง์ ์ ์ผ๋ก ์ฐ๊ด๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ , devDependencies์๋ ๊ฐ๋ฐํ ๋ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๋ค. devDependencies์ ํฌํจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ค์ ๋ฐฐํฌํ ๋ ํฌํจ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋น๋ ์๊ฐ์ ์ค์ผ ์ ์๋ค.
โค๏ธ ๋์์ฃผ์ ๋ถ: