๐๏ธ ์ฃผ๊ฐ ๋ด์ค๋ ํฐ - ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ - 7์ 5์ฃผ์ฐจ
๋งค์ฃผ ์์์ผ, ํด์ธ ํ๋ก ํธ์๋ ๊ธฐ์ ํธ๋ ๋ ์ค ์ฃผ๋ชฉํ ๋งํ ๋ด์ฉ๋ค์ ์ ๋ณํด ๊ณต์ ๋๋ฆฝ๋๋ค. ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ ๊ณ ํธ๋ ๋๋ฅผ ํจ๊ป ์ดํด๋ณด์์. --- 1. React ์ ํ๋ฆฌ์ผ์ด์ ์์์ ์ํ ๊ด๋ฆฌ State Management in React Applications ๋งํฌ: https://reacthandbook.dev/state-management React ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ํ ๊ด๋ฆฌ์ ๋ํ ๋ด์ฉ์ ๋ค๋ฃจ๋ ๋ฌธ์์ ๋๋ค. React๋ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ์ปดํฌ๋ํธ์ ์ํ(state)๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ด ๋ฌธ์๋ ํ๋์ ์ธ ์ํ ๊ด๋ฆฌ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ๊ฒ ์ค๋ช ํ๊ณ ์์ต๋๋ค. React์ ๋ด์ฅ ์ํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ธ useState ๋ฟ๋ง ์๋๋ผ, Redux, MobX ๋ฑ๊ณผ ๊ฐ์ ๋ค๋ฅธ ์ํ ๊ด๋ฆฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด์๋ ๋ค๋ฃจ๊ณ ์์ต๋๋ค. ์ํ ๊ด๋ฆฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ํํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ ์ ์์ต๋๋ค. 2. When to useMemo and useCallback ๋งํฌ: https://kentcdodds.com/blog/usememo-and-usecallback React ํ ์ธ useMemo์ useCallback์ ์ ์ ํ ์ฌ์ฉ ์๊ธฐ์ ๋ํด ์ค๋ช ํ ๊ธ์ ๋๋ค. useMemo๋ ๊ณ์ฐ ๋น์ฉ์ด ๋์ ์ฐ์ฐ์ ์ต์ ํํ๊ณ , useCallback์ ๋ถํ์ํ ํจ์ ์์ฑ์ ๋ฐฉ์งํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ํ ๋ค์ ์ธ์ ์ฌ์ฉํด์ผ ํ๋์ง์ ๋ํ ๋ช ํํ ๊ท์น์ ์์ง๋ง, ์ด ๊ธ์ ํ ๋ค์ ๋์ ์๋ฆฌ์ ์ ์ฉ ์๊ธฐ๋ฅผ ์ดํดํ๋ ๋ฐ ๋์์ ์ค๋๋ค. ์ฑ๋ฅ ์ต์ ํ์ ๊ด๋ จ๋ ์ฃผ์ ์ ๊ด์ฌ ์๋ ๊ฐ๋ฐ์๋ผ๋ฉด ๊ผญ ์ฝ์ด๋ณด์ธ์. 3. ํ ์คํ ์ ์ ์ฉํ Chrome ๋ธ๋ผ์ฐ์ ์ ์๋ก์ด ๋ฒ์ Chrome for Testing ๋งํฌ: https://developer.chrome.com/blog/chrome-for-testing/ ํ ์คํ ์ ์ ์ฉํ Chrome ๋ธ๋ผ์ฐ์ ์ ์๋ก์ด ๋ฒ์ ์ ๋ํด ์๊ฐํ๋ ๊ธ์ ๋๋ค. Chrome ํ์ด ๊ฐ๋ฐ์๋ค์ ์๋ ํฌ ์๋(End-to-End) ํ ์คํธ ํ๊ฒฝ์์ ์ฌ์ฉํ๊ธฐ ์ํด ์๋ก์ด ๋ฒ์ ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ถ์ํ์ต๋๋ค. ์ด ์๋ก์ด ๋ฒ์ ์ ํ ์คํธ ์คํ ์ค ์๋ ์ ๋ฐ์ดํธ๊ฐ ์์ผ๋ฏ๋ก ํ ์คํธ์ ์ํฅ์ ์ฃผ๋ ์ํฉ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ๋ํ, ์ํ๋ ํน์ ๋ฒ์ ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ ํํ์ฌ ์์ ์ ์ธ ํ๊ฒฝ์์ ํ ์คํธ๋ฅผ ์คํํ๊ณ ์ด์๋ฅผ ์ฌํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. 4. ์๋ฐ์คํฌ๋ฆฝํธ Imports ์๋ ์๋ฆฌ JavaScript Imports Under The Hood ๋งํฌ: https://blog.jim-nielsen.com/2023/imports-under-the-hood/ ์๋ฐ์คํฌ๋ฆฝํธ์ Imports ์๋ ์๋ฆฌ์ ๋ํด ์ค๋ช ํ๋ ๊ธ์ ๋๋ค. ๊ฐ๋ฐ์๋ค์ ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ชจ๋ํํ๊ธฐ ์ํด ์ฃผ๋ก import ๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. ์ด ๊ธ์ import ๋ฌธ์ด ์ค์ ๋ก ์ด๋ป๊ฒ ์๋ํ๋์ง๋ฅผ ๊น์ด ํํค์น๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ๋ณต์กํ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๊ณ ๊ฐํธํ๊ฒ ๋ง๋ค์ด์ฃผ๋ ๋๊ตฌ์ ์ผ๋ง๋ ์์กดํ๋์ง๋ฅผ ์๊ธฐ์์ผ ์ค๋๋ค. 5. JavaScript๋ก ๊ตฌํ๋ ๊ธฐ๋ณธ ์ปดํ์ผ๋ฌ ๊ธฐ๋ฅ ํํ ๋ฆฌ์ผ The Super Tiny Compiler ๋งํฌ: https://github.com/jamiebuilds/the-super-tiny-compiler ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ตฌํ๋ ๊ธฐ๋ณธ ์ปดํ์ผ๋ฌ ๊ธฐ๋ฅ์ ๋ํ ํํ ๋ฆฌ์ผ์ ๋๋ค. ์ปดํ์ผ๋ฌ๋ ์์ค ์ฝ๋๋ฅผ ๋ค๋ฅธ ํํ์ ์ฝ๋๋ก ๋ณํํ๋ ์ญํ ์ ํฉ๋๋ค. ์ด ํํ ๋ฆฌ์ผ์ ์ปดํ์ผ๋ฌ์ ๊ธฐ๋ณธ์ ์ธ ๋์ ์๋ฆฌ๋ฅผ ๊ฐ๋จํ ์๊ฐํ๋ฉด์, ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ด๋ป๊ฒ ์ปดํ์ผ๋ฌ๋ฅผ ๊ตฌํํ ์ ์๋์ง๋ฅผ ์๋ ค์ค๋๋ค. ์ปดํ์ผ๋ฌ์ ๋ํ ์ดํด๋ฅผ ๋์ด๊ณ ์ ํ๋ ๊ฐ๋ฐ์๋ค์๊ฒ ์ ์ฉํ ์๋ฃ์ ๋๋ค