--- id: P-REINFORCE-AUTO-A346D0 category: "10_Wiki/πŸ’‘ Topics/Programming & Language" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - SPA 라우트 μ „ν™˜ μ„±λŠ₯ μ΅œμ ν™”" --- # [[SPA 라우트 μ „ν™˜ μ„±λŠ₯ μ΅œμ ν™”]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > SPA(Single Page Application) 라우트 μ „ν™˜μ€ ν˜„λŒ€ ν”„λ‘ νŠΈμ—”λ“œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ©”λͺ¨λ¦¬ λˆ„μˆ˜κ°€ λ°œμƒν•˜λŠ” κ°€μž₯ μ£Όμš”ν•œ 원인 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€ [1]. 이전 라우트의 μ»΄ν¬λ„ŒνŠΈκ°€ 적절히 μ •λ¦¬λ˜μ§€ μ•ŠμœΌλ©΄ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ μ„Έμ…˜ 수λͺ… λ™μ•ˆ λ©”λͺ¨λ¦¬μ— μ§€μ†μ μœΌλ‘œ λˆ„μ λ˜μ–΄ μ„±λŠ₯ μ €ν•˜λ₯Ό μœ λ°œν•©λ‹ˆλ‹€ [1]. λ”°λΌμ„œ 성곡적인 라우트 μ „ν™˜ μ„±λŠ₯ μ΅œμ ν™”λ₯Ό μœ„ν•΄μ„œλŠ” μ‚¬μš©λ˜μ§€ μ•ŠλŠ” λ¦¬μ†ŒμŠ€μ™€ μ°Έμ‘°λ₯Ό μ² μ €νžˆ μ‹λ³„ν•˜κ³  ν•΄μ œν•˜λŠ” λ©”λͺ¨λ¦¬ 관리가 ν•„μˆ˜μ μž…λ‹ˆλ‹€ [1, 2]. ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) - **라우트 μ „ν™˜κ³Ό λ©”λͺ¨λ¦¬ λˆ„μˆ˜:** SPA 라우트 μ „ν™˜(SPA route transitions)은 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λ‚΄ λ©”λͺ¨λ¦¬ λˆ„μˆ˜μ˜ 1μœ„ 좜처둜 μ§€λͺ©λ©λ‹ˆλ‹€ [1]. 이전 λΌμš°νŠΈμ—μ„œ μ‚¬μš©λ˜μ—ˆλ˜ μ»΄ν¬λ„ŒνŠΈλ“€μ΄ 이벀트 λ¦¬μŠ€λ„ˆ(listeners), 타이머(timers), ν˜Ήμ€ μ „μ—­ μƒνƒœ μ°Έμ‘°(global state references) 등을 μ œλŒ€λ‘œ 정리(clean up)ν•˜μ§€ λͺ»ν•  경우, 이 μ»΄ν¬λ„ŒνŠΈλ“€μ€ κ°€λΉ„μ§€ 컬렉터에 μ˜ν•΄ νšŒμˆ˜λ˜μ§€ λͺ»ν•˜κ³  μ„Έμ…˜ 수λͺ… λ‚΄λ‚΄ λ©”λͺ¨λ¦¬μ— μΆ•μ λ©λ‹ˆλ‹€ [1]. - **λˆ„μˆ˜ 탐지λ₯Ό μœ„ν•œ 3-μŠ€λƒ…μƒ· 기법(Three-snapshot technique):** 라우트 μ „ν™˜ μ‹œ λ°œμƒν•˜λŠ” λ©”λͺ¨λ¦¬ λˆ„μˆ˜λ₯Ό κ°μ§€ν•˜κ³  μ΅œμ ν™”ν•˜κΈ° μœ„ν•΄ κ°€μž₯ μ‹ λ’°ν•  수 μžˆλŠ” 방법은 3-μŠ€λƒ…μƒ· κΈ°λ²•μž…λ‹ˆλ‹€ [2]. 1. 기쀀이 λ˜λŠ” 첫 번째 νž™ μŠ€λƒ…μƒ·(Heap snapshot 1)을 μΊ‘μ²˜ν•©λ‹ˆλ‹€ [2]. 2. 라우트 κ°„ 이동(navigate between routes)κ³Ό 같이 λˆ„μˆ˜κ°€ μ˜μ‹¬λ˜λŠ” μž‘μ—…μ„ μˆ˜ν–‰ν•œ ν›„ 두 번째 μŠ€λƒ…μƒ·μ„ μ°μŠ΅λ‹ˆλ‹€ [2]. 3. λ™μΌν•œ 라우트 μ „ν™˜ μž‘μ—…μ„ λ‹€μ‹œ λ°˜λ³΅ν•˜κ³  μ„Έ 번째 μŠ€λƒ…μƒ·μ„ μΊ‘μ²˜ν•©λ‹ˆλ‹€ [2]. 4. 두 λ²ˆμ§Έμ™€ μ„Έ 번째 μŠ€λƒ…μƒ·μ„ λΉ„κ΅ν•˜μ—¬, 첫 λ²ˆμ§Έμ™€ 두 번째 사이에 ν• λ‹Ήλ˜μ—ˆμœΌλ‚˜ μ„Έ 번째 μŠ€λƒ…μƒ·κΉŒμ§€ μ—¬μ „νžˆ λ©”λͺ¨λ¦¬μ— μ‚΄μ•„μžˆλŠ” 객체듀을 μ°Ύμ•„λƒ…λ‹ˆλ‹€ [2]. 이 접근법은 λ‹¨μˆœ 1νšŒμ„± ν• λ‹ΉμœΌλ‘œ μΈν•œ μ˜€νƒ(false positives)을 κ±ΈλŸ¬λ‚΄κ³  μ‹€μ œ λˆ„μˆ˜ 후보λ₯Ό μ‹λ³„ν•˜λŠ” 데 νš¨κ³Όμ μž…λ‹ˆλ‹€ [2]. - **정보 ν•œκ³„:** 제곡된 μ†ŒμŠ€μ—μ„œλŠ” SPA 라우트 μ „ν™˜ μ‹œμ˜ μ„±λŠ₯ μ΅œμ ν™”λ₯Ό λ©”λͺ¨λ¦¬ λˆ„μˆ˜ λ°œμƒ 원인과 κ·Έ 탐지(DevTools ν™œμš© λ“±) κ΄€μ μ—μ„œλ§Œ 닀루고 μžˆμŠ΅λ‹ˆλ‹€ [1, 2]. λΌμš°νŒ… μ‹œμ˜ λ Œλ”λ§ μ΅œμ ν™”, μ½”λ“œ μŠ€ν”Œλ¦¬νŒ…, λ„€νŠΈμ›Œν¬ μ§€μ—° 단좕 λ“± λ‹€λ₯Έ 츑면의 μ΅œμ ν™”μ— λŒ€ν•΄μ„œλŠ” μ†ŒμŠ€μ— κ΄€λ ¨ 정보가 λΆ€μ‘±ν•©λ‹ˆλ‹€. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌:** μžλ™ν™” 엔진에 μ˜ν•΄ λ§€ν•‘λœ μ§€μ‹μœΌλ‘œ, μΆ”ν›„ μ •λ°€ 검증 ν•„μš”. - **μ •μ±… λ³€ν™”:** Programming & Language λΆ„μ•Όμ˜ μžλ™ μžμ‚°ν™” μˆ˜ν–‰. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related Topics:** λ©”λͺ¨λ¦¬ λˆ„μˆ˜(Memory Leak), 3-μŠ€λƒ…μƒ· 기법(Three-snapshot technique), κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(Garbage Collection) - **Projects/Contexts:** Browser Memory Leak Detection - **Contradictions/Notes:** μ†ŒμŠ€μ—μ„œλŠ” SPA 라우트 μ „ν™˜ μ„±λŠ₯ μ΅œμ ν™”μ— λŒ€ν•œ μ „λ°˜μ μΈ ν”„λ‘ νŠΈμ—”λ“œ λ Œλ”λ§ μ΅œμ ν™” κΈ°μˆ μ€ μ–ΈκΈ‰ν•˜μ§€ μ•ŠμœΌλ©°, 였직 μ»΄ν¬λ„ŒνŠΈ μ–Έλ§ˆμš΄νŠΈ μ‹œμ˜ 정리 μ‹€νŒ¨λ‘œ μΈν•œ λ©”λͺ¨λ¦¬ λˆ„μˆ˜ λ¬Έμ œμ™€ κ·Έ μ§„λ‹¨λ²•μ—λ§Œ μ§‘μ€‘ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. --- *Last updated: 2026-04-19* ---