--- 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|Throttling & Debouncing]], [[React แ„ƒแ…ฉแ†ผแ„‰แ…ตแ„‰แ…ฅแ†ผ แ„’แ…ฎแ†จ (useTransition, useDeferredValue)|React ๋™์‹œ์„ฑ ํ›… (useTransition, useDeferredValue)]], [[แ„‰แ…กแ†ผแ„แ…ข แ„€แ…ชแ†ซแ„…แ…ต แ„Žแ…ฌแ„Œแ…ฅแ†จแ„’แ…ช (Zustand, Jotai, Valtio)|์ƒํƒœ ๊ด€๋ฆฌ ์ตœ์ ํ™” (Zustand, Jotai, Valtio)]], Virtualization (๋ฆฌ์ŠคํŠธ ๊ฐ€์ƒํ™”), [[Web Worker (แ„‹แ…ฐแ†ธ แ„‹แ…ฏแ„แ…ฅ)|Web Worker (์›น ์›Œ์ปค)]] - **Projects/Contexts:** ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ๋ถ„์„ ํ”Œ๋žซํผ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ, ๊ณ ์„ฑ๋Šฅ ๊ธˆ์œต/์ฃผ์‹ ์‹ค์‹œ๊ฐ„ ๊ฑฐ๋ž˜ ๋Œ€์‹œ๋ณด๋“œ - **Contradictions/Notes:** React์— ๋‚ด์žฅ๋œ Context API๋Š” ํ…Œ๋งˆ๋‚˜ ๋กœ๊ทธ์ธ ์ •๋ณด์ฒ˜๋Ÿผ ๊ฐ€๋” ๋ณ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ์—๋Š” ํ›Œ๋ฅญํ•˜์ง€๋งŒ, ๊ณ ๋นˆ๋„๋กœ ์ƒํƒœ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์‹ค์‹œ๊ฐ„ ๋Œ€์‹œ๋ณด๋“œ์—์„œ๋Š” ์„ฑ๋Šฅ์„ ์กฐ์šฉํžˆ ๊ฐ‰์•„๋จน๋Š” ์ฃผ๋ฒ”์ด ๋˜๋ฏ€๋กœ ๋Œ€์•ˆ ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. --- _Last updated: 2026-04-15_ - Raw Source: 00_Raw/2026-04-20/์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ์กฐ์ ˆ ์‹œ์Šคํ…œ.md ---