## ๐Ÿ“Œ Brief Summary React ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์€ ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜ ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ†ตํ•ด ํ˜„๋Œ€์ ์ธ ์›น ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ณต์ •์ด๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ๊ธฐ๋Šฅ ์ค‘์‹ฌ์˜ ํด๋” ๊ตฌ์กฐ(FSD), ๊ณ„์ธตํ™”๋œ ์ƒํƒœ ๊ด€๋ฆฌ, ๊ทธ๋ฆฌ๊ณ  ์ž๋™ํ™”๋œ ์„ฑ๋Šฅ ์ตœ์ ํ™”์™€ ์—๋Ÿฌ ํ•ธ๋“ค๋ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜ ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ์„ฑ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ## ๐Ÿ“– Core Content 1. **์•„ํ‚คํ…์ฒ˜ ๋ฐ ์„ค๊ณ„ ์›์น™** - **FSD (Feature-Sliced Design)**: ๋„๋ฉ”์ธ ๊ณ„์ธตํ™”์™€ ๋‹จ๋ฐฉํ–ฅ ์˜์กด์„ฑ์„ ํ†ตํ•ด ์‹œ์Šคํ…œ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ˜๋‹ค. - **SOLID & Clean Code**: ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋น„๋Œ€ํ•ด์ง„ ๋กœ์ง์„ ์ปค์Šคํ…€ ํ›…์œผ๋กœ ์ถ”์ถœํ•˜์—ฌ ์บก์Аํ™”ํ•œ๋‹ค. 2. **์„ธ๋ถ„ํ™”๋œ ์ƒํƒœ ๊ด€๋ฆฌ** - ์ •์ /๊ธ€๋กœ๋ฒŒ ์ƒํƒœ(Context), ๋นˆ๋ฒˆํ•œ ์—…๋ฐ์ดํŠธ(Zustand), ์„œ๋ฒ„ ๋™๊ธฐํ™”(TanStack Query)๋กœ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฆฌ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ๊ทน๋Œ€ํ™”ํ•œ๋‹ค. 3. **์„ฑ๋Šฅ ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”** - **React Compiler**: ๋นŒ๋“œ ํƒ€์ž„ ์ž๋™ ๋ฉ”๋ชจ์ด์ œ์ด์…˜์„ ํ†ตํ•ด ์ˆ˜๋™ ์ตœ์ ํ™”์˜ ์ธ์  ์˜ค๋ฅ˜๋ฅผ ์ค„์ธ๋‹ค. - **Code Splitting**: `React.lazy`์™€ Vite ์„ค์ •์„ ํ†ตํ•ด ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ตœ์ ํ™”ํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ฒด๊ฐ ๋กœ๋”ฉ ์†๋„๋ฅผ ๊ฐœ์„ ํ•œ๋‹ค. 4. **์•ˆ์ •์„ฑ ๋ฐ ๊ด€์ธก์„ฑ (Observability)** - **Error Boundaries**: ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ๊ฒฉ๋ฆฌ๋กœ ์‹œ์Šคํ…œ ๋ณต์›๋ ฅ์„ ํ™•๋ณดํ•œ๋‹ค. - **๋ชจ๋‹ˆํ„ฐ๋ง**: Sentry, LogRocket ๋ฐ ๋ธŒ๋ผ์šฐ์ € ๋ฉ”๋ชจ๋ฆฌ ํ”„๋กœํŒŒ์ผ๋ง์„ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ์—๋Ÿฌ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ถ”์ ํ•œ๋‹ค. ## โš–๏ธ Trade-offs & Caveats - **๊ธฐ์ˆ  ์Šคํƒ ํŒŒํŽธํ™”**: ์ƒํƒœ ๊ด€๋ฆฌ๋‚˜ ๋ Œ๋”๋ง ๋ฐฉ์‹(SSR vs CSR)์— ๋”ฐ๋ผ ๋„ˆ๋ฌด ๋งŽ์€ ๋„๊ตฌ๋ฅผ ๋„์ž…ํ•  ๊ฒฝ์šฐ, ํ”„๋กœ์ ํŠธ์˜ ๋ณต์žก๋„๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ƒ์Šนํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค. - **์„ฑ๋Šฅ ์ตœ์ ํ™”์˜ ํ•จ์ •**: `useMemo`๋‚˜ `useCallback`์˜ ๋‚จ๋ฐœ์€ ์˜คํžˆ๋ ค ๋น„๊ต ์—ฐ์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์‹ค์ œ ๋ณ‘๋ชฉ ์ง€์ ์„ ํ”„๋กœํŒŒ์ผ๋งํ•œ ํ›„ ์ ์šฉํ•ด์•ผ ํ•œ๋‹ค. - **๊ทœ๊ฒฉํ™”์˜ ์ธ์ง€์  ๋น„์šฉ**: ์—„๊ฒฉํ•œ ๋„ค์ด๋ฐ ๊ทœ์น™๊ณผ ์•„ํ‚คํ…์ฒ˜๋Š” ์‹ ๊ทœ ๊ฐœ๋ฐœ์ž์˜ ์˜จ๋ณด๋”ฉ์„ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ž๋™ํ™”๋œ ๋ฆฐํŠธ ๊ทœ์น™๊ณผ ๋ฌธ์„œํ™”๊ฐ€ ํ•„์ˆ˜์ ์ด๋‹ค. ## ๐Ÿ”— Knowledge Connections ### Related Concepts (Auto-Linked) * [[Accessibility]] * [[Architecture]] * [[Boundaries]] * [[Code Splitting]] * [[Concurrent_Rendering]] * [[Core_Web_Vitals]] * [[Error Boundaries]] * [[Feature-Sliced_Design]] * [[Frontend]] * [[Frontend Observability & Logging]] * [[Hydration]] * [[Observability]] * [[Optimization]] * [[React]] * [[React_Compiler]] * [[Research]] * [[SaaS]] * [[Vite Build Optimization]] ### Related Concepts - **Feature-Sliced Design (FSD)**: ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ ์„ค๊ณ„ ๋ฐฉ๋ฒ•๋ก  (๊ด€๊ณ„: ๊ตฌ์กฐ์  ๊ฐ€์ด๋“œ๋ผ์ธ) - **Zustand & TanStack Query**: ์„ฑ๋Šฅ ์ค‘์‹ฌ์˜ ์ƒํƒœ ๊ด€๋ฆฌ ์ „๋žต (๊ด€๊ณ„: ๋ฐ์ดํ„ฐ ๋ ˆ์ด์–ด ๋„๊ตฌ) - **React Compiler**: ์ฐจ์„ธ๋Œ€ ์ž๋™ ์ตœ์ ํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜ (๊ด€๊ณ„: ์„ฑ๋Šฅ ์ตœ์‹ ํ™”) ### Deeper Research Questions 1. FSD ์•„ํ‚คํ…์ฒ˜์—์„œ ์ธ์ฆ(Auth)๊ณผ ๊ฐ™์€ ์ „์—ญ ๊ด€์‹ฌ์‚ฌ๋ฅผ ํŠน์ • ๋ ˆ์ด์–ด์— ๋ฐฐ์น˜ํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜์กด์„ฑ ๋”œ๋ ˆ๋งˆ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š”๊ฐ€? 2. React Compiler ๋„์ž… ์‹œ, ์ฐธ์กฐ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค๊ณผ์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ ํ•œ๊ณ„๋Š” ๋ฌด์—‡์ธ๊ฐ€? 3. Zustand์˜ ์™ธ๋ถ€ ์Šคํ† ์–ด ๋ชจ๋ธ์ด React์˜ Concurrent Rendering ๋ชจ๋“œ์™€ ์ถฉ๋Œํ•  ๊ฐ€๋Šฅ์„ฑ๊ณผ ๊ทธ ํ•ด๊ฒฐ์ฑ…์€? 4. ๋ชจ๋ฐ”์ผ ๋ฐ ์ €์‚ฌ์–‘ ๊ธฐ๊ธฐ์—์„œ Hydration ๋น„์šฉ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ 'Partial Hydration' ๋˜๋Š” 'Islands Architecture'์˜ React์  ๊ตฌํ˜„ ๋ฐฉ์•ˆ์€? 5. ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ 'Detached DOM nodes'๋กœ ์ธํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋™ํ™”๋œ ํšŒ๊ท€ ํ…Œ์ŠคํŠธ ๊ตฌ์ถ•์ด ๊ฐ€๋Šฅํ•œ๊ฐ€? ### Practical Application Contexts - **๋Œ€๊ทœ๋ชจ ์›น ์•ฑ ๊ตฌ์ถ•**: ์ˆ˜์ฒœ ๊ฐœ์˜ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ฐ€์ง„ ๋ณต์žกํ•œ ๋Œ€์‹œ๋ณด๋“œ๋‚˜ SaaS ํ”Œ๋žซํผ์˜ ์•ˆ์ •์  ๊ฐœ๋ฐœ. - **์„ฑ๋Šฅ ์ค‘์‹ฌ ๋ฆฌํŒฉํ† ๋ง**: ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ๋ฆฌ๋ Œ๋”๋ง์ด ๋นˆ๋ฒˆํ•œ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ๋ฅผ ์ตœ์‹  ์•„ํ‚คํ…์ฒ˜์™€ ๋„๊ตฌ๋กœ ํ˜„๋Œ€ํ™”. ### Adjacent Topics - **Vite Build Optimization** - **Frontend Observability & Logging** - **Web Accessibility (A11y) & Core Web Vitals**