2023๋
ํ๊ณ ๋ก์ ์ฐ๋ ค๊ณ ์ฌ์ง์ฒฉ์ ๋ค์ก๋๋ฐ, ๋ฑํ ์ฐ์ ์ฌ์ง์ด ์๋ค. ๊ทธ๋ ๊ทธ๋ด๊ฒ์ด, ์ด๋ ๋ค๋ ์๊ฐ์ด ์์๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง, ๊ทธ ์ด๋ค ํด๋ณด๋ค๋ ๋์๊ฒ๋ ๋ง์กฑ์ค๋ฌ์ด ํ ํด์๋ค. โ โ ๋ด๊ฐ ์ข์ํ๋ ๊ฒ์ ์ฐพ๊ณ , ๊ทธ๊ฒ์ ๋ชฐ๋ํ๋คโ โ โ 2์ ~ 7์ ์ฝ๋์คํ
์ด์ธ ๋ถํธ์บ ํ (ํ๋ก ํธ์๋) ์ฒ์ ์ฝ๋ฉ์ ๋ฐฐ์ ๋ค. โ ์ฝ๋์คํ
์ด์ธ ๋ผ๊ณ ๊ด๊ณ ๋ฅผ ๋ง์ด ํ๋ ๊ตญ๋น๊ต์ก๊ธฐ๊ด์ด ์๋ค. ์ฌ์ง์ ๋ณด์ฌ์ค ๊ฒ์ฒ๋ผ ์ ํด์ง ํ์ ์ฃผ๊ณ , ๊ทธ ์์์ ์ฝ๋๋ฅผ ์ง๋ผ๋ ํ์์ด๋ค. ์์
์ ๋ชจ๋ ๋น๋๋ฉด์ด๊ณ , ์ฌ๋ฏธ์๋ ๋ฌธ์๋ฅผ ์ฃผ๋ฉด์ ๊ฑฐ์ ๊ทธ ์์ ๋ฅผ ๊ฐ์ฌ๊ฐ ์ฝ์ด์ค๋ค. ์ ๊ทธ๋ ๋ค ์ฃผ์
์์ด๋ค. ๊ทธ๋์ ์๊ฐ๋๋น ์ค๋ ฅ์ด ๋ณ๋ก ์๋๋ค... ใ
๊ทธ๋ฆฌ๊ณ ์ฌ๋ฏธ๋ ์๋ค ใ
ใ
์ฃผ์
์ ๊ต์ก๋ฐฉ์ ๋๋ฌธ์ ์ฝ๋ฉํ๋ ๋ง(?) ์ด ์๋๋ค.. โํ์ง๋ง, ์ด์ฌ์์๊ฒ ์๊ฐ์ด ํ์..
์ฝ๋์คํ ์ด์ธ
Custom Hooks ๊ฐ๋ฐ์๊ฐ ์ค์ค๋ก ์ปค์คํ
ํ ํ
์ ์๋ฏธํฉ๋๋ค Custom Hooks์ ์ฝ๋ ์์ ๋ฐ๋ณต๋๋ ๋ก์ง์ ๋ฝ์๋ด์ด ์ฌ์ฌ์ฉ ํ๋ ๊ฒ์ ๋งํฉ๋๋ค ์ฌ๋ฌ url์ fetch ํ ๋, ์ฌ๋ฌ input์ ์ํ ์ํ๋ณ๊ฒฝ ๋ฑ ๋ฐ๋ณต๋๋ ๋ก์ง์ ๋์ผํ ํจ์์์ ์๋ํ๊ณ ์ถ์๋ ์ปค์คํ
ํ
์ ์ฌ์ฉํฉ๋๋ค (์ปค์คํ
ํ
๋ ์ผ์ข
์ ํจ์, ๋ค๋ง ์ผ๋ฐ ํจ์์ ๋ค๋ฅธ ์ ์ ์ปค์คํ
ํ
๋ด๋ถ์์ ๋ด์ฅ hook์ ๋ถ๋ฌ ์ฌ์ฉํ ์ ์๋ค๋ ๊ฒ) ์๋์ ๋ ์ปดํฌ๋ํธ๋ ๋์ผํ ๋ก์ง์ ํฌํจํ๊ณ ์์ต๋๋ค //FriendStatus : ์น๊ตฌ๊ฐ online์ธ์ง offline์ธ์ง returnํ๋ ์ปดํฌ๋ํธ function FriendStatus(props) { // ๋์ผ๋ก์ง const [isOnline, setIsOnline] = useState(nul..
React.lazy() ์ Suspense๋ ์ฝ๋๋ถํ ๊ณผ ์ง์ฐ๋ ์ปดํฌ๋ํธ ๋ก๋ฉ์ ๊ฐํธํ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค. ์ฝ๋๋ถํ ๊ณผ ์ง์ฐ๋ ์ปดํฌ๋ํธ ๋ก๋ฉ์ ์ด๊ธฐ์๊ฐ์ด ๊ฐ์, ์ฑ๋ฅํฅ์ ๋ฑ์ ์ฅ์ ์ด ์์ต๋๋ค. ์ฝ๋๋ถํ ์ ๋ฌด์์ผ๊น? React์์ ์ฝ๋ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์ dynamic import(๋์ ๋ถ๋ฌ์ค๊ธฐ)๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค. React ์์์ ์ฝ๋๋ถํ form.addEventListener("submit", e => { e.preventDefault(); /* ๋์ ๋ถ๋ฌ์ค๊ธฐ๋ ์ด๋ฐ ์์ผ๋ก ์ฝ๋์ ์ค๊ฐ์ ๋ถ๋ฌ์ฌ ์ ์๊ฒ ๋ฉ๋๋ค. */ import('library.moduleA') .then(module => module.default) .then(someFunction()) .catch(handleError()); }..
Component & Hook Function Component์ Class Component Hook์ class๊ฐ ์๋ functionํ ์ปดํฌ๋ํธ์์๋ง ๋์ํ๋ค. Hook ์ฌ์ฉ๊ท์น 1. ๋ฆฌ์กํธ ํจ์์ ์ต์์์์๋ง ํธ์ถํด์ผ ํ๋ค. ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ์ค์ฒฉ๋ ํจ์ ๋ด์์ Hook์ ์คํํ๋ฉด ์์๋๋ก ๋์ํ์ง ์์ ์ฐ๋ ค๊ฐ ์๋ค. ์ปดํฌ๋ํธ ์์๋ useState๋ useEffect์ ๊ฐ์ hook์ด ์ฌ๋ฌ๋ฒ ์ฌ์ฉ๋ ์ ์๋๋ฐ. react๋ ์ด hook์ ํธ์ถ๋๋ ์์๋๋ก ์ ์ฅ์ ํด๋๋๋ค. ๊ทธ๋ฐ๋ฐ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ด์์ hook์ ํธ์ถํ๊ฒ ๋๋ฉด, ํธ์ถ๋๋ ์์๋๋ก ์ ์ฅ์ ํ๊ธฐ ์ด๋ ค์์ง๊ณ ๊ฒฐ๊ตญ ์๊ธฐ์น ๋ชปํ ๋ฒ๊ทธ๋ฅผ ์ด๋ํ ์ ์๋ค. 2. ์ค์ง ๋ฆฌ์กํธ ํจ์ ๋ด์์ ์ฌ์ฉ๋์ด์ผ ํฉ๋๋ค. ์ด๋ ๋ฆฌ์กํธ ํจ์ํ ์ปดํฌ๋ํธ๋ ์ปค์ค..
Virtual DOM React ๋ UI ์ํ๋ฅผ ์ถ์ ํ๊ณ ๋ณํ๊ฐ ์ผ์ด๋ ์์๋ค์ ๋น ๋ฅด๊ฒ ์
๋ฐ์ดํธ ํ ์ ์๋๋ก Virtual DOM ์ด๋ผ๋ ๊ฐ์์ DOM ๊ฐ์ฒด๋ฅผ ํ์ฉํฉ๋๋ค. ์ด๋ ์ค์ DOM ์ฌ๋ณธ ๊ฐ์ ๊ฐ๋
์ผ๋ก, React ๋ ์ค์ DOM๊ฐ์ฒด์ ์ ๊ทผํ์ฌ ์กฐ์ํ๋ ๋์ ์ด ๊ฐ์์ DOM ๊ฐ์ฒด์ ์ ๊ทผํ์ฌ ๋ณํ ์ ๊ณผ ๋ณํ ํ๋ฅผ ๋น๊ตํ๊ณ ๋ฐ๋ ๋ถ๋ถ์ ์ ์ฉํฉ๋๋ค DOM์ ๊ณ์ธต์ ํํ์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด ์์ต๋๋ค. ์๋ฃ๊ตฌ์กฐ ์ค์์๋ ํนํ ํธ๋ฆฌ๋ “๋ฐ์ดํฐ ์ ์ฅ”์ ์๋ฏธ๋ณด๋ค๋ “์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ํ์” ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ฏ๋ก, ๋น ๋ฅธ ์๋ฃ ํ์ ์ฑ๋ฅ์ด ์ฅ์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ DOM ์ด ๋ณ๊ฒฝ๋๊ณ ์
๋ฐ์ดํธ ๋๋ค๋ ๊ฒ์ ๊ฒฐ๊ตญ ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ์์ง ๋ํ ๋ฆฌํ๋ก์ฐ(reflow) ํ๋ค๋ ๊ฒ์ ..
Q. UI, UX์ ๊ฐ๋
๊ณผ ๋ ๊ฐ๋
์ ๊ด๊ณ์ ๋ํด์ ์ค๋ช
ํด ์ฃผ์ธ์. UI๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์๋ฏธํฉ๋๋ค. ์ฆ, ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
๋๋ ์น์ฌ์ดํธ์ ์ํธ์์ฉํ๋ ๋ฐฉ์์ ๋์์ธํ๋ ๊ฒ์
๋๋ค. UI ๋์์ธ์ ์ฌ์ฉ์๊ฐ ๋ ์ฝ๊ฒ ์ ํ๋ฆฌ์ผ์ด์
์ ์ดํดํ๊ณ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ๋ชฉ์ ์
๋๋ค. ๋ฐ๋ผ์ UI ๋์์ธ์ ์ฃผ๋ก ๋์์ธ, ๋ ์ด์์, ์์, ํฐํธ ๋ฑ๊ณผ ๊ฐ์ ์๊ฐ์ ์ธ ์ธก๋ฉด์ ์ค์ฌ์ผ๋ก ํฉ๋๋ค. ๋ฐ๋ฉด, UX๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์๋ฏธํฉ๋๋ค. UX ๋์์ธ์ ์ฌ์ฉ์๊ฐ ์ ํ ๋๋ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ๋์ ๋๋ผ๋ ๊ฐ์ , ๊ฒฝํ, ๋ง์กฑ๋ ๋ฑ์ ๊ณ ๋ คํ์ฌ ์ ํ์ด๋ ์๋น์ค๋ฅผ ๋์์ธํ๋ ๊ฒ์
๋๋ค. ์ฆ, UX ๋์์ธ์ ์ฌ์ฉ์๊ฐ ์ํ๋ ๊ธฐ๋ฅ์ ์ฝ๊ณ ๊ฐํธํ๊ฒ ์ด์ฉํ ์ ์๋๋ก ์ค๊ณํ๋ ๊ฒ์
๋๋ค. ๋ฐ๋ผ์ UX ๋์์ธ์ UI ๋์์ธ๋ฟ๋ง ์๋๋ผ ..
๋คํธ์ํฌ ๊ณ์ธต๋ชจ๋ธ OSI 7๊ณ์ธต ๋ชจ๋ธ 1๊ณ์ธต: ๋ฌผ๋ฆฌ๊ณ์ธต - ์ฃผ๋ก ์ ๊ธฐ์ ํธ๋ฅผ ์ ๋ฌํ๋๋ฐ ์ด์ , ๋ค์ด์จ ์ ๊ธฐ์ ํธ๋ฅผ ๊ทธ๋๋ก ์ ์ ๋ฌํ๋ ๊ฒ์ด ๋ชฉ์ 2๊ณ์ธต: ๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต - ๋คํธ์ํฌ ๊ธฐ๊ธฐ๊ฐ ๋ฐ์ดํฐ ์ ์ก ๋ฐ ๋ฌผ๋ฆฌ์ฃผ์๋ฅผ ๊ฒฐ์ ํ๋ ๊ณ์ธต 3๊ณ์ธต: ๋คํธ์ํฌ ๊ณ์ธต - ๋ผ์ฐํ
๋ด๋น, ๋น ๋ฅด๊ฒ ๋ณด๋ผ ์ต์ ์ ๊ฒฝ๋ก ์ ํ (IP ํจํท ์ ์ก) 4๊ณ์ธต: ์ ์ก ๊ณ์ธต - ํด๋น ๋ฐ์ดํฐ๋ค์ด ์ ์์ ์ผ๋ก ๋ณด๋ด์ง๋ ์ง ํ์ธํ๋ ์ญํ (TCP/UDP ์ฐ๊ฒฐ) 5๊ณ์ธต: ์ธ์
๊ณ์ธต - ์ธ์
์ ์ฐ๊ฒฐ์ ์ค์ ๊ณผ ํด์ ๋ฅผ ์ํ 6๊ณ์ธต: ํํ๊ณ์ธต - ์์ฉ๊ณ์ธต์ผ๋ก ์ ๋ฌํ๊ฑฐ๋ ์ ๋ฌ๋ฐ๋ ๋ฐ์ดํฐ๋ฅผ ์ธ์ฝ๋ฉ ๋๋ ๋์ฝ๋ฉํ๋ ๊ณ์ธต, ์ผ์ข
์ ๋ฒ์ญ๊ธฐ ์ญํ ์ํ 7๊ณ์ธต: ์์ฉ๊ณ์ธต - ์ต์ข
์ ์ผ๋ก ์ฌ์ฉ์์์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๊ณ์ธต, ์ฌ์ฉ์๊ฐ ์คํํ๋ ์์ฉํ๋ก๊ทธ๋จ๋ค์ด ํด๋น(chro..
์ ๋ง๋ค! styled-component๋ ์นํ์ค์ ํฅ์์ํจ๋ค. ์ ๊ทธ๋ด๊น? styled-components๊ฐ ์นํ์ค์ ํด์น์ง ์๋ ์ด์ ๋, ๊ฒฐ๊ตญ styled-components๊ฐ ์์ฑํ๋ ์คํ์ผ ์ฝ๋๋ ์ผ๋ฐ์ ์ธ CSS์ ๋์ผํ๊ธฐ ๋๋ฌธ์ด๋ค. ์์ฑ๋ CSS๋ HTML ๋ฌธ์ ๋ด์ ํ๊ทธ์ ํฌํจ๋๋ฉฐ, ์น ๋ธ๋ผ์ฐ์ ๊ฐ ์ด๋ฅผ ํด์ํ์ฌ ๋ ๋๋งํ๋ค. ์์ฃผ ๋๋ํ ๋
์์ด๋ค ๋ ์์ง styled-component ์ฌ์ฉ์ด ์ด์ํ๋ ์ค๋ ๊ณผ์ ํ ๋ด์ฉ์ ํฌ์คํ
ํด๋ณด๊ฒ ๋ค. styled-component๊ฐ ๋ญ๋ฐ? styled-component๋ ๋ฆฌ์กํธ์์ css์คํ์ผ์ ์์ฑํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ด๋ค ๊ธฐ์กด์ css๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ๋ฌ๋ฆฌ, 'styled-components' ๋ javascript ์ฝ๋๋ด์์ css ์คํ์ผ์ ..