--- id: P-REINFORCE-AUTO-BAC69B category: "10_Wiki/πŸ’‘ Topics/Design & Experience" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - μ‹€μ‹œκ°„ 데이터 λŒ€μ‹œλ³΄λ“œ λ ˆμ΄μ•„μ›ƒ 쑰절 μ‹œμŠ€ν…œ" --- # [[μ‹€μ‹œκ°„ 데이터 λŒ€μ‹œλ³΄λ“œ λ ˆμ΄μ•„μ›ƒ 쑰절 μ‹œμŠ€ν…œ]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > μ‹€μ‹œκ°„μœΌλ‘œ μŸμ•„μ§€λŠ” λŒ€κ·œλͺ¨ 데이터λ₯Ό μ‹œκ°ν™”ν•˜λŠ” λŒ€μ‹œλ³΄λ“œ ν™˜κ²½μ—μ„œ, μ‚¬μš©μžμ˜ λ ˆμ΄μ•„μ›ƒ λ³€κ²½(μœ„μ ― 크기 쑰절, λ“œλž˜κ·Έ λ“±)κ³Ό μž¦μ€ 데이터 μ—…λ°μ΄νŠΈκ°€ μΆ©λŒν•˜μ—¬ UIκ°€ λ©ˆμΆ”κ±°λ‚˜ λ²„λ²…κ±°λ¦¬λŠ” ν˜„μƒμ„ λ°©μ§€ν•˜λŠ” κ³ μ„±λŠ₯ λ Œλ”λ§ 및 μƒνƒœ μ œμ–΄ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) **1. λ¦¬μ‚¬μ΄μ¦ˆ 및 λ ˆμ΄μ•„μ›ƒ 이벀트 μ œμ–΄ (Debouncing & Throttling)** λŒ€μ‹œλ³΄λ“œμ˜ μœ„μ ― 크기 μ‘°μ ˆμ΄λ‚˜ μœˆλ„μš° μ°½ λ³€κ²½ μ‹œμ—λŠ” μ•„μ£Ό 짧은 μ‹œκ°„μ— μˆ˜λ§Žμ€ λ ˆμ΄μ•„μ›ƒ μ—°μ‚° μ΄λ²€νŠΈκ°€ λ°œμƒν•©λ‹ˆλ‹€. λΈŒλΌμš°μ € κ³ΌλΆ€ν•˜μ™€ UI 병λͺ© ν˜„μƒμ„ 막기 μœ„ν•΄, `lodash`의 **λ””λ°”μš΄μŠ€(Debounce)λ‚˜ μŠ€λ‘œν‹€(Throttle) 기법을 μ μš©ν•˜μ—¬ 무거운 μ—°μ‚°μ΄λ‚˜ λ¦¬λ Œλ”λ§μ΄ μ—°μ†μ μœΌλ‘œ μ‹€ν–‰λ˜λŠ” 것을 μ œμ–΄**ν•΄μ•Ό ν•©λ‹ˆλ‹€. **2. κ³ λΉˆλ„ μ—…λ°μ΄νŠΈλ₯Ό μœ„ν•œ μƒνƒœ 관리 μ΅œμ ν™”** μ‹€μ‹œκ°„ λŒ€μ‹œλ³΄λ“œλŠ” μ°¨νŠΈλ‚˜ 데이터 κ·Έλ¦¬λ“œκ°€ μ΄ˆλ‹Ή μˆ˜μ‹­ λ²ˆμ”© μ—…λ°μ΄νŠΈλ  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λ•Œ React의 κΈ°λ³Έ Context APIλ₯Ό μ „μ—­ μƒνƒœμ²˜λŸΌ μ‚¬μš©ν•˜λ©΄, λ‚΄λΆ€ κ°’ ν•˜λ‚˜λ§Œ λ³€κ²½λ˜μ–΄λ„ 이λ₯Ό κ΅¬λ…ν•˜λŠ” λͺ¨λ“  μœ„μ ―κ³Ό μ»΄ν¬λ„ŒνŠΈκ°€ λ¦¬λ Œλ”λ§λ˜λŠ” μ‹¬κ°ν•œ 폭포수(Cascading) ν˜„μƒμ΄ λ°œμƒν•©λ‹ˆλ‹€. 이λ₯Ό λ°©μ§€ν•˜λ €λ©΄ **μ»¨ν…μŠ€νŠΈλ₯Ό λ„λ©”μΈλ³„λ‘œ 잘게 λΆ„λ¦¬ν•˜κ±°λ‚˜ `useContextSelector`λ₯Ό λ„μž…**ν•˜κ³ , μ„Έλ°€ν•œ λ‹¨μœ„μ˜(Granular) μ—…λ°μ΄νŠΈμ— μ΅œμ ν™”λœ **Zustand, Jotai, Valtio 같은 μ „μš© μƒνƒœ 관리 라이브러리λ₯Ό μ‚¬μš©**ν•΄μ•Ό ν•©λ‹ˆλ‹€. **3. 무거운 μœ„μ ―μ˜ μ§€μ—° λ‘œλ”©(Lazy Loading)κ³Ό 가상화(Virtualization)** - **μ§€μ—° λ‘œλ”©:** 초기 λ‘œλ”© 속도λ₯Ό 높이기 μœ„ν•΄, λ‹Ήμž₯ 화면에 보이지 μ•Šκ±°λ‚˜ 무거운 λŒ€μ‹œλ³΄λ“œ μœ„μ ―(예: 차트 μœ„μ ―)은 `React.lazy`와 ``λ₯Ό ν™œμš©ν•΄ μ˜¨λ””λ§¨λ“œ λ°©μ‹μœΌλ‘œ 동적 λ‘œλ“œν•΄μ•Ό ν•©λ‹ˆλ‹€. - **리슀트 가상화:** λŒ€κ·œλͺ¨ λ‘œκ·Έλ‚˜ 데이터 ν…Œμ΄λΈ”μ„ λ Œλ”λ§ν•  λ•ŒλŠ” 수천 개의 DOM λ…Έλ“œκ°€ μƒμ„±λ˜μ–΄ λ©”λͺ¨λ¦¬λ₯Ό λ‚­λΉ„ν•˜μ§€ μ•Šλ„λ‘, `react-window`λ‚˜ `react-virtualized`λ₯Ό μ‚¬μš©ν•˜μ—¬ **ν˜„μž¬ ν™”λ©΄(Viewport)에 λ…ΈμΆœλ˜λŠ” ν•­λͺ©λ§Œ λ Œλ”λ§**ν•˜λŠ” 가상화 기법을 μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. **4. λ™μ‹œμ„±(Concurrent) κΈ°λŠ₯을 ν†΅ν•œ UI λ°˜μ‘μ„± 확보** 무거운 차트λ₯Ό λ Œλ”λ§ν•˜κ±°λ‚˜ λŒ€κ·œλͺ¨ 데이터λ₯Ό 필터링할 λ•Œ μ‚¬μš©μžμ˜ ν΄λ¦­μ΄λ‚˜ 타이핑이 버벅거리지 μ•Šλ„λ‘, React 18의 λ™μ‹œμ„± 훅을 적극 ν™œμš©ν•©λ‹ˆλ‹€. **`useTransition`을 μ‚¬μš©ν•˜μ—¬ 무거운 ν•„ν„°λ§μ΄λ‚˜ λ·° μ—…λ°μ΄νŠΈλ₯Ό λΉ„κΈ΄κΈ‰ μž‘μ—…μœΌλ‘œ 미루고**, **`useDeferredValue`λ₯Ό μ‚¬μš©ν•΄ νŒŒμƒ λ°μ΄ν„°μ˜ 계산을 μ§€μ—°μ‹œμΌœ 메인 μŠ€λ ˆλ“œμ˜ κ³ΌλΆ€ν•˜ μ‹œμ—λ„ UI μž…λ ₯ λ°˜μ‘μ„±μ„ λΆ€λ“œλŸ½κ²Œ μœ μ§€**ν•©λ‹ˆλ‹€. **5. μ›Ή μ›Œμ»€(Web Worker)λ₯Ό μ΄μš©ν•œ μ—°μ‚° μ˜€ν”„λ‘œλ”©** λŒ€μš©λŸ‰ JSON νŒŒμ‹±, λ³΅μž‘ν•œ 데이터 μ •λ ¬μ΄λ‚˜ 물리 μ—°μ‚°κ³Ό 같이 CPU 집약적인 μž‘μ—…μ€ μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ 메인 μŠ€λ ˆλ“œλ₯Ό μ°¨λ‹¨ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μž‘μ—…μ€ **Web Workerλ‚˜ `useWorker` 훅을 ν™œμš©ν•˜μ—¬ λ°±κ·ΈλΌμš΄λ“œ μŠ€λ ˆλ“œλ‘œ λ„˜κΉ€(Offloading)으둜써, 무거운 데이터 처리 쀑에도 λŒ€μ‹œλ³΄λ“œκ°€ 60FPS의 λ§€λ„λŸ¬μš΄ λ°˜μ‘μ„±μ„ μœ μ§€**ν•  수 μžˆλ„λ‘ 섀계해야 ν•©λ‹ˆλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Design & Experience λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** Throttling & Debouncing, [[React λ™μ‹œμ„± ν›… (useTransition, useDeferredValue)]], μƒνƒœ 관리 μ΅œμ ν™” (Zustand, Jotai, Valtio), Virtualization (리슀트 가상화), [[Web Worker (μ›Ή μ›Œμ»€)]] - **Projects/Contexts:** λŒ€μš©λŸ‰ 데이터 뢄석 ν”Œλž«νΌ 및 λͺ¨λ‹ˆν„°λ§ μ‹œμŠ€ν…œ, κ³ μ„±λŠ₯ 금육/주식 μ‹€μ‹œκ°„ 거래 λŒ€μ‹œλ³΄λ“œ - **Contradictions/Notes:** React에 λ‚΄μž₯된 Context APIλŠ” ν…Œλ§ˆλ‚˜ 둜그인 μ •λ³΄μ²˜λŸΌ 가끔 λ³€ν•˜λŠ” λ°μ΄ν„°μ—λŠ” ν›Œλ₯­ν•˜μ§€λ§Œ, κ³ λΉˆλ„λ‘œ μƒνƒœκ°€ μ—…λ°μ΄νŠΈλ˜λŠ” μ‹€μ‹œκ°„ λŒ€μ‹œλ³΄λ“œμ—μ„œλŠ” μ„±λŠ₯을 쑰용히 κ°‰μ•„λ¨ΉλŠ” 주범이 λ˜λ―€λ‘œ λŒ€μ•ˆ μƒνƒœ 관리 도ꡬ가 ν•„μˆ˜μ μž…λ‹ˆλ‹€. --- _Last updated: 2026-04-15_ ---