--- id: P-REINFORCE-AUTO-DC2EFA category: "10_Wiki/๐Ÿ’ก Topics/Design & Experience" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ๋ฐ˜์‘ํ˜• ์œˆ๋„์šฐ ๋ฆฌ์‚ฌ์ด์ฆˆ(Resize) ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ" --- # [[แ„‡แ…กแ†ซแ„‹แ…ณแ†ผแ„’แ…งแ†ผ แ„‹แ…ฑแ†ซแ„ƒแ…ฉแ„‹แ…ฎ แ„…แ…ตแ„‰แ…กแ„‹แ…ตแ„Œแ…ณ(Resize) แ„‹แ…ตแ„‡แ…ฆแ†ซแ„แ…ณ แ„Žแ…ฅแ„…แ…ต|๋ฐ˜์‘ํ˜• ์œˆ๋„์šฐ ๋ฆฌ์‚ฌ์ด์ฆˆ(Resize) ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์œˆ๋„์šฐ ์ฐฝ ํฌ๊ธฐ ์กฐ์ ˆ ์‹œ ์ดˆ๋‹น ์ˆ˜์‹ญ ๋ฒˆ์”ฉ ๋ฐœ์ƒํ•˜๋Š” `resize` ์ด๋ฒคํŠธ๋กœ ์ธํ•œ UI ๋ Œ๋”๋ง ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๋””๋ฐ”์šด์‹ฑ(Debouncing) ์ ์šฉ ๋ฐ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ํ•ด์ œ(Cleanup)๋ฅผ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ € ๊ณผ๋ถ€ํ•˜์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ๋ง‰๋Š” ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•์ž…๋‹ˆ๋‹ค. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) **1. ๋ฆฌ์‚ฌ์ด์ฆˆ ์ด๋ฒคํŠธ์˜ ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ** ๋ธŒ๋ผ์šฐ์ € ์ฐฝ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•  ๋•Œ, ๋ธŒ๋ผ์šฐ์ €๋Š” ์•„์ฃผ ์งง์€ ์‹œ๊ฐ„์— ์ˆ˜์‹ญ์—์„œ ์ˆ˜๋ฐฑ ๋ฒˆ์˜ `resize` ์ด๋ฒคํŠธ๋ฅผ ์—ฐ์†์ ์œผ๋กœ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ด ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ ๋‚ด๋ถ€์—์„œ React์˜ ์ƒํƒœ(State)๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด, ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๊ฐ€ ๋งค ํ‹ฑ๋งˆ๋‹ค ๋ฆฌ๋ Œ๋”๋ง์„ ์‹œ๋„ํ•˜์—ฌ ์‹ฌ๊ฐํ•œ ํ”„๋ ˆ์ž„ ๋“œ๋ž๊ณผ ๋ธŒ๋ผ์šฐ์ € ๋ฉˆ์ถค ํ˜„์ƒ(Bottleneck)์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. **2. ์Šค๋กœํ‹€๋ง(Throttling)๊ณผ ๋””๋ฐ”์šด์‹ฑ(Debouncing) ์ ์šฉ** ๊ณผ๋„ํ•œ ์ด๋ฒคํŠธ ์‹คํ–‰์„ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜์— ๋””๋ฐ”์šด์‹ฑ์ด๋‚˜ ์Šค๋กœํ‹€๋ง์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. - **๋””๋ฐ”์šด์Šค(Debounce):** ์‚ฌ์šฉ์ž๊ฐ€ ์ฐฝ ํฌ๊ธฐ ์กฐ์ ˆ์„ ๋ฉˆ์ถ˜ ํ›„ ์ผ์ • ์‹œ๊ฐ„(์˜ˆ: 200ms)์ด ์ง€๋‚ฌ์„ ๋•Œ ๋งˆ์ง€๋ง‰์— ๋‹จ ํ•œ ๋ฒˆ๋งŒ ๋ฆฌ์‚ฌ์ด์ฆˆ ๋กœ์ง(์ƒํƒœ ์—…๋ฐ์ดํŠธ ๋“ฑ)์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด์•„์›ƒ ์žฌ๊ณ„์‚ฐ ๋น„์šฉ์ด ํฐ ๊ฒฝ์šฐ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ํ•ด๊ฒฐ์ฑ…์ž…๋‹ˆ๋‹ค. - **์Šค๋กœํ‹€(Throttle):** ์ฐฝ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ์ค‘์—๋„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ€๋“œ๋Ÿฌ์šด UI ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•  ๋•Œ, ์ด๋ฒคํŠธ๋ฅผ ์ผ์ •ํ•œ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ(์˜ˆ: 16ms, ์•ฝ 60FPS)์œผ๋กœ๋งŒ ์‹คํ–‰๋˜๋„๋ก ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค. **3. ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ ํ•ด์ œ์™€ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜(Memory Leak) ๋ฐฉ์ง€** React ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€(์ฃผ๋กœ `useEffect` ํ›…)์—์„œ `window.addEventListener('resize', handleResize)`๋ฅผ ๋“ฑ๋กํ–ˆ๋‹ค๋ฉด, **๋ฐ˜๋“œ์‹œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํ™”๋ฉด์—์„œ ์‚ฌ๋ผ์งˆ ๋•Œ(Unmount) `window.removeEventListener`๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ํด๋ฆฐ์—…(Cleanup) ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜**ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ •๋ฆฌ ์ž‘์—…์„ ๋ˆ„๋ฝํ•˜๋ฉด ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํŒŒ๊ดด๋œ ํ›„์—๋„ ์ˆจ๊ฒจ์ง„ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ด๋ฒคํŠธ๊ฐ€ ๊ณ„์† ์ˆ˜์‹ ๋˜์–ด, ์‹œ๊ฐ„์ด ์ง€๋‚ ์ˆ˜๋ก ์•ฑ์ด ๋А๋ ค์ง€๊ณ  ๊ฒฐ๊ตญ ํฌ๋ž˜์‹œ๋ฅผ ์œ ๋ฐœํ•˜๋Š” ์‹ฌ๊ฐํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. **4. ์™ธ๋ถ€ ์ง€์‹: ResizeObserver API ํ™œ์šฉ (โ€ป ์™ธ๋ถ€ ์ง€์‹ ์ฐธ๊ณ )** _์ด ๋‚ด์šฉ์€ ์ œ๊ณต๋œ ์†Œ์Šค ์™ธ๋ถ€์˜ ์ง€์‹์ž…๋‹ˆ๋‹ค._ ์ตœ์‹  ์›น ๊ฐœ๋ฐœ์—์„œ๋Š” ์ „์—ญ `window` ๊ฐ์ฒด์— `resize` ์ด๋ฒคํŠธ๋ฅผ ๊ฑฐ๋Š” ๋Œ€์‹ , DOM ์š”์†Œ ์ž์ฒด์˜ ํฌ๊ธฐ ๋ณ€ํ™”๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ์ง€ํ•˜๋Š” ๋ธŒ๋ผ์šฐ์ € ๋‚ด์žฅ API์ธ `ResizeObserver`๋ฅผ ํ™œ์šฉํ•˜๋Š” ์ถ”์„ธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ์œˆ๋„์šฐ๊ฐ€ ์•„๋‹Œ ํŠน์ • ์ปดํฌ๋„ŒํŠธ(์˜ˆ: ๋ฐ˜์‘ํ˜• 3D ์บ”๋ฒ„์Šค๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ๊ทธ๋ฆฌ๋“œ ์˜์—ญ)์˜ ํฌ๊ธฐ๊ฐ€ ๋ณ€ํ•  ๋•Œ๋งŒ ํƒ€๊ฒŸํŒ…ํ•˜์—ฌ ๋ฐ˜์‘ํ•  ์ˆ˜ ์žˆ์–ด ์„ฑ๋Šฅ๊ณผ ๋ชจ๋“ˆ์„ฑ ๋ฉด์—์„œ ํ›จ์”ฌ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Design & Experience ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[Throttling & Debouncing|Throttling & Debouncing]], [[React Performance Optimization|React Performance Optimization]], [[Memory Leak Prevention แ„†แ…ฆแ„†แ…ฉแ„…แ…ต แ„‚แ…ฎแ„‰แ…ฎ แ„‡แ…กแ†ผแ„Œแ…ต|Memory Leak Prevention (๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€)]], [[useEffect แ„แ…ณแ†ฏแ„…แ…ตแ†ซแ„‹แ…ฅแ†ธ(Cleanup)|useEffect ํด๋ฆฐ์—…(Cleanup)]] - **Projects/Contexts:** ๋ฐ˜์‘ํ˜• 3D ์บ”๋ฒ„์Šค(Three.js/R3F) ํฌ๊ธฐ ์ตœ์ ํ™”, [[แ„‰แ…ตแ†ฏแ„‰แ…ตแ„€แ…กแ†ซ แ„ƒแ…ฆแ„‹แ…ตแ„แ…ฅ แ„ƒแ…ขแ„‰แ…ตแ„‡แ…ฉแ„ƒแ…ณ แ„…แ…ฆแ„‹แ…ตแ„‹แ…กแ„‹แ…ฎแ†บ แ„Œแ…ฉแ„Œแ…ฅแ†ฏ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท|์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ๋Œ€์‹œ๋ณด๋“œ ๋ ˆ์ด์•„์›ƒ ์กฐ์ ˆ ์‹œ์Šคํ…œ]] - **Contradictions/Notes:** ๋‹จ์ˆœํžˆ ์œˆ๋„์šฐ ํฌ๊ธฐ์— ๋งž์ถฐ CSS ์š”์†Œ์˜ ํฌ๊ธฐ๋‚˜ ๋ฐฐ์น˜๋ฅผ ์กฐ์ •ํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋ผ๋ฉด, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ `resize` ์ด๋ฒคํŠธ๋ฅผ ์•„์˜ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  CSS์˜ ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ(Media Queries)๋‚˜ ์ƒ๋Œ€ ๋‹จ์œ„(`vw`, `vh`, `100%`)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ๊ฐ€์žฅ ๋น„์šฉ์ด ๋‚ฎ๊ณ  ์™„๋ฒฝํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ด๋ฒคํŠธ๋Š” ์บ”๋ฒ„์Šค ๋ Œ๋”๋Ÿฌ ๋ฆฌ์‚ฌ์ด์ฆˆ๋‚˜ ๋ณต์žกํ•œ ๊ฐ€์ƒํ™” ๋ฆฌ์ŠคํŠธ(Virtualization) ์žฌ๊ณ„์‚ฐ ๋“ฑ CSS๋งŒ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ œํ•œ์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. --- _Last updated: 2026-04-14_ - Raw Source: 00_Raw/2026-04-20/๋ฐ˜์‘ํ˜• ์œˆ๋„์šฐ ๋ฆฌ์‚ฌ์ด์ฆˆ(Resize) ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ.md ---