์ด ๊ธ์ ์นํฉ ํธ๋๋ถ์ ๋ณด๋ฉฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค ๐ ์ฌ์ค ํ๋ก ํธ์๋ ๊ณต๋ถ๋ฅผ ์์ํ๋ฉฐ ๋๋ฌธ ๋๋ฌธ ์นํฉ์ด๋ ๋จ์ด๋ฅผ ๋ณด์์ง๋ง, ๋น์ฅ ํ์ํ ๊ธฐ์ ์ด ์๋๋ผ ํ๋จ๋์ด ๊ณต๋ถํ์ง ์์์ต๋๋ค. ํ์ง๋ง ํธ๋๋ถ์ ๋ณด๋ฉฐ ๊ฐ๋ ์ ์ดํดํ๊ณ ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ๋ ์กฐ๊ธ ๋ ์น์ํด์ง ๊ฒ ๊ฐ์ ๊ธฐ๋ถ์ด ์ข์ต๋๋ค!
์นํฉ
์นํฉ๋ชจ๋ ๋ฒ๋ค๋ฌ. ๋ชจ๋ ๋ฒ๋ค๋ฌ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ์์ ((HTML, CSS, Javscript, Images ๋ฑ)์ ๋ชจ๋ ๊ฐ๊ฐ์ ๋ชจ๋๋ก ๋ณด๊ณ ์ด๋ฅผ ์กฐํฉํด์ ๋ณํฉ๋ ํ๋์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋๋ ๋๊ตฌ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ชจ๋
์ฑ๊ฒฉ์ด ๋น์ทํ ๊ธฐ๋ฅ๋ค์ ํ๋์ ์๋ฏธ ์๋ ํ์ผ๋ก ๊ด๋ฆฌํ๋ฉด ๋ชจ๋์ด ๋ฉ๋๋ค.
๋ชจ๋ ๋ฒ๋ค๋ง
์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ช์ญ, ๋ช๋ฐฑ ๊ฐ์ ์์๋ค์ ํ๋์ ํ์ผ๋ก ๋ณํฉ ๋ฐ ์์ถํด์ฃผ๋ ๋์์ ๋ชจ๋ ๋ฒ๋ค๋ง์ด๋ผ๊ณ ํฉ๋๋ค.
๋น๋, ๋ฒ๋ค๋ง, ๋ณํ ์ด ์ธ ๋จ์ด ๋ชจ๋ ๊ฐ์ ์๋ฏธ์ ๋๋ค
์นํฉ์ ๋ฑ์ฅ ๋ฐฐ๊ฒฝ
1. ํ์ผ ๋จ์์ ์๋ฐ์คํฌ๋ฆฝํธ ๋ชจ๋ ๊ด๋ฆฌ์ ํ์์ฑ
๋ค๋ฅธ ํ์ผ์ ๋์ผํ ๋ณ์๋ช ์ ์ฌ์ฉํ์ ๊ฒฝ์ฐ ๋ค์ ์ฌ์ฉํ ๋ณ์์ ๊ฐ์ด ์์์ ์ด๊ธฐํ ํ ๋ณ์๋ฅผ ๋ฎ์ด์๋๋ค. => ํ์ผ๋ณ๋ก ๊ด๋ฆฌ๊ฐ ์๋จ.
2. ์น ๊ฐ๋ฐ ์์ ์๋ํ ๋๊ตฌ
- HTML, CSS, JS ์์ถ
- ์ด๋ฏธ์ง ์์ถ
- CSS ์ ์ฒ๋ฆฌ๊ธฐ ๋ณํ
3. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅธ ๋ก๋ฉ ์๋์ ๋์ ์ฑ๋ฅ
์น ์ฌ์ดํธ์ ๋ก๋ฉ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ์น ํ์คํฌ ๋งค๋์ ๋ฅผ ์ด์ฉํด ํ์ผ๋ค์ ์์ถํ๊ณ ๋ณํฉํ๋ ์์ ๋ค์ ์งํํฉ๋๋ค.
์นํฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ํ ์์์ ๋ฏธ๋ฆฌ ๋ก๋ฉํ๋๊ฒ ์๋๋ผ ๊ทธ๋ ๊ทธ๋ ์์ฒญํ์๋ ์ฒ ํ์ ๊ฐ๊ณ ์์ต๋๋ค.
์นํฉ์ด ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๋ค
1. ์๋ฐ์คํฌ๋ฆฝํธ ๋ณ์ ์ ํจ ๋ฒ์ > ES6 ๋ชจ๋ ๋ฌธ๋ฒ๊ณผ ์นํฉ์ ๋ชจ๋ ๋ฒ๋ค๋ง์ผ๋ก ํด๊ฒฐํฉ๋๋ค.
ํจ์๋ฅผ ๋ง๋ค๊ณ ๋ค๋ฅธ ํ์ผ์์ ์ฌ์ฉํ๊ธฐ ์ํด Export, Import ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ฌ๊ธฐ์ ์ ๋ฐ ํฐ ๋ป์ด ์๋ ์ค ๋ชฐ๋๋ค.
์ ๊ทธ๋ ๊ฒ ์ฐ๋์ง ๋ชฐ๋๋๋ฐ, ๋ณ์ ์ ํจ ๋ฒ์๋ฅผ ์ ํํ๊ธฐ ์ํจ์ด์๋ค!!
2. ๋ธ๋ผ์ฐ์ ๋ณ HTTP ์์ฒญ ์ซ์์ ์ ์ฝ
TCP ์คํ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์์ ํ ๋ฒ์ ์๋ฒ๋ก ๋ณด๋ผ ์ ์๋ HTTP ์์ฒญ ์ซ์๋ ์ ์ฝ๋์ด ์์ต๋๋ค. ์๋์ ํ๋ ์ต์ ๋ธ๋ผ์ฐ์ ๋ณ ์ต๋ HTTP ์์ฒญ ํ์์ ๋๋ค. ๋ฐ๋ผ์, HTTP ์์ฒญ ์ซ์๋ฅผ ์ค์ด๋ ๊ฒ์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ๋ฅผ ์กฐ์ํ๋ ์๊ฐ์ ์๋น๊ฒจ ์ค ์ ์์ฃ . ์นํฉ์ ์ด์ฉํด ์ฌ๋ฌ ๊ฐ์ ํ์ผ์ ํ๋๋ก ํฉ์น๋ฉด ์์ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ณ HTTP ์์ฒญ ์ซ์ ์ ์ฝ์ ํผํ ์ ์์ต๋๋ค.
์ ๊น! TCP ๋? ๋ฉด์ ์ค๋นํ๋ฉฐ ์ ๋ฆฌํ๋ ๊ฒ์ ์๋์ ์ ์์ต๋๋ค!
Transfer Control Protocol ์ ์ฝ์๋ก ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ํ๋กํ ์ฝ์ ๋งํฉ๋๋ค. connection ์ฐ๊ฒฐํ์ฌ 3 way-handshake ๋ฐฉ์์ผ๋ก ์๋ฐฉํฅ ํต์ ์ ํ๋ ํน์ง์ด ์์ต๋๋ค. TCP๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฐ์ดํฐ์ ์์ฐจ ์ ์ก์ ๋ณด์ฅํ๊ณ ํ๋ฆ์ ์ ์ดํ ์ ์์ผ๋ฉฐ ํผ์ก ์ ์ด์ ์ค๋ฅ ๊ฐ์ง๋ ํ ์ ์์ต๋๋ค.
๐ ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ํต์ ์ด ๋ฌด์จ ๋ป์ธ๊ฐ์?
๋ฐ์ดํฐ๋ฅผ ์์ฐจ์ ์ผ๋ก ํฌํธ ๋ฒํธ์ ํด๋นํ๋ ํ๋ก์ธ์ค์ ์ ๋ฌํ๋ ๊ฒ์ ๋งํฉ๋๋ค.
๐ TCP์ ๋ฌธ์ ์ ์ ์๋์?
์ ๋ขฐ์ฑ์ ๋ณด์ฅ๋์ง๋ง ๋งค๋ฒ connection์ ์ฐ๊ฒฐํด์ ์๊ฐ ์์ค์ด ๋ฐ์ํฉ๋๋ค. ๊ฒ๋ค๊ฐ ํจํท์ ์กฐ๊ธ๋ง ์์คํด๋ ์ฌ์ ์ก๋๊ธฐ ๋๋ฌธ์ ์ํฉ์ ๋ฐ๋ผ ๋นํจ์จ์ ์ผ ์ ์์ต๋๋ค. ์ ๋ขฐ์ฑ์ด ์ข ๋จ์ด์ ธ๋ ์๋๋ฅผ ๋์ด๊ณ ์ถ์ ๊ฒฝ์ฐ UDP๋ฅผ ์ฐ๋ ๊ฒ์ด ๋ ์๋ง๋ค๊ณ ์๊ฐํฉ๋๋ค.
๐ ์์ฐจ ์ ์ก, ํ๋ฆ ์ ์ด, ํผ์ก ์ ์ด, ์ค๋ฅ ๊ฐ์ง๋ ๊ฒ์ ์ด๋ป๊ฒ ํ๋๊ฑด๊ฐ์?
3 way-handshake ๋ฅผ ํตํด ์๋ฐฉํฅ ํต์ ์ ํฉ๋๋ค. ํด๋ผ์ด์ธํธ์ ์๋ฒ๊ฐ syn, ack,fin ๊ฐ์ ์ ์ด ๋นํธ๋ฅผ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์๋ก์ ์ํ๋ฅผ ๊ณ์ ์ฒดํฌํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ์ด ๋ฐฉ์์ ํตํด ์ ๋ขฐ์ฑ ์๋ ๋ฐ์ดํฐ ํต์ ์ด ๊ฐ๋ฅํฉ๋๋ค.
๐ ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ฐ์ํ๋ ๋ฌธ์ ๋ค์ ๋ญ๊ฐ์?
์์ฐจ ์ ์ก ๋ฌธ์ , ํ๋ฆ ๋ฌธ์ , ํผ์ก ๋ฌธ์ , ์ค๋ฅ ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์์ฐจ ์ ์ก ๋ฌธ์ ๋ ์ก์ ์๊ฐ ์๋ํ ์์๋๋ก ์์ ์์๊ฒ ๋ฐ์ดํฐ๊ฐ ์ ๋ฌ๋์ง ์๋ ๊ฒ์ ๋งํฉ๋๋ค. ํ๋ฆ ๋ฌธ์ ๋ ์ก์์ ์ ๊ฐ์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋ ์ฐจ์ด ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋งํฉ๋๋ค. ํผ์ก ๋ฌธ์ ๋ ๋คํธ์ํฌ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๋(๋ผ์ฐํฐ) ๋๋ฌธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋๋ค. ์ค๋ฅ ๊ฐ์ง ๋ฌธ์ ๋ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด checksum์ด๋ผ๋ ๋นํธ๋ฅผ ์ด์ฉํด ํด๊ฒฐํ ์ ์์ต๋๋ค.
Dynamic Loading & Lazy Loading
์นํฉ์ Code Splitting์ ์ด์ฉํ์ฌ ํด๊ฒฐํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ๋ค์ํ ๋ฒ๋ค๋ก ๋ถํ ํ๊ณ , ์์ฒญ์ ๋ฐ๋ผ ๋ก๋ํ๊ฑฐ๋ ๋ณ๋ ฌ๋ก ๋ก๋ํ ์ ์์ต๋๋ค. ๋ ์์ ๋ฒ๋ค์ ๋ง๋ค๊ณ ๋ฆฌ์์ค ์ฐ์ ์์๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ดํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ฉฐ, ์ ํ์ฉํ๋ฉด ๋ก๋ ์๊ฐ์ ํฐ ์ํฅ์ ๋ผ์น ์ ์์ต๋๋ค.
- Entry Points: entry ์ค์ ์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์๋์ผ๋ก ๋ถํ ํฉ๋๋ค.
- Prevent Duplication: Entry dependencies ๋๋ SplitChunksPlugin์ ์ฌ์ฉํ์ฌ ์ค๋ณต ์ฒญํฌ๋ฅผ ์ ๊ฑฐํ๊ณ ์ฒญํฌ๋ฅผ ๋ถํ ํฉ๋๋ค.
- Dynamic Imports: ๋ชจ๋ ๋ด์์ ์ธ๋ผ์ธ ํจ์ ํธ์ถ์ ํตํด ์ฝ๋๋ฅผ ๋ถํ ํฉ๋๋ค.
์ข์ ๊ฑด ์๊ฒ ๋๋ฐ, ์ธ์ ์ฐ์ง? -> ์ฌ์ค ๋ ์ด๋ฏธ ์ฐ๊ณ ์์๋ค..
ํน์๋ ํด์ ์ฐพ์๋ดค๋๋ ์ญ์๋ CRA์ ์ด๋ฏธ ๋ค์ด ์์๊ณ ์ ๋ ์ ๋ ๋ชจ๋ฅด๊ฒ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค.... ํ์ ์์๋ ์ง์ ์ธํ ํ ์ง ๋ชฐ๋ผ๋ CRA๋ก ๋ชจ๋ ํ์ ์ ํ๊ณ ์๋ ์ ๋ ๋ฐ๋ก ์ค์นํ ํ์ ์์ด ์๋์ผ๋ก ์ธํ ๋ ๊ฐ์ ๋ฐ๋ผ ์ฌ์ฉํ๊ณ ์์์ต๋๋ค. ์ด๋์ ์นํฉ ์นํฉ ํ๋ ๋ด ๋๋ค. CRA ๊ฐ ์ ๋ง ํธํ์ง๋ง, ๊ทธ๋งํผ ์์ธํ ๋ถ๋ถ๋ค์ ์ ๊ฒฝ ์ฐ์ง ์๊ฒ ๋์ด ๊น๋ง๋์ด ๋๊ธฐ ์ฝ๋ค๊ณ ๋ ํ ๋ฒ ๋๊ผ์ต๋๋ค. ๐ญ
์ฐธ๊ณ ๋งํฌ๋ค!์ ๋๋ค.
CRA์ ์นํฉ ์ค์ ์ด ๊ถ๊ธํ๋ค๋ฉด ์ฌ๊ธฐ ๐ eject ํด์ ์นํฉ config ๋ณด์ฌ์ค ๋ธ๋ก๊ทธ
react + webpack + babel ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ
'etc.' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
AWS S3 ์ ์ฑ (0) | 2022.11.07 |
---|---|
์ํฐ๋ ํ๋ฆฌ์จ๋ณด๋ฉ ํ๋ก ํธ์๋ ์ฝ์ค ํฉ๊ฒฉ ๐ (0) | 2022.10.20 |
AWS Cloud Front ๋? (1) | 2022.10.06 |
๐ค MPA SSR SPA CSR ์ฉ์ด ์ ๋ฆฌ (0) | 2022.08.24 |