Showing posts with the label frontend

Vue.js 메모리 누수 완벽 방어: beforeUnmount와 생명주기 관리

SPA에서 라우터를 10번만 전환해도 브라우저 탭이 크래시되는 현상. 디버깅에 며칠을 쏟게 만든다. 원인은 윈도우 객체에 바인딩된 전역 이벤트 리스너 단 한 줄이었다. 우리가 이 OOM(Out of Memory) 문제를 어떻게 추적하고 해결했는지 그 엔지니어링 과정을 공유한다. Vue.js 메모리 누수(Memory Leak) 는 컴포넌트가 DOM에서 …
Vue.js 메모리 누수 완벽 방어: beforeUnmount와 생명주기 관리

Vue.jsのメモリリークを撲滅する:ライフサイクルとイベントリスナーの鉄則

長時間稼働させたSPA(Single Page Application)が、徐々に重くなる現象に遭遇したことはないだろうか。画面遷移を繰り返すたびにメモリ使用量が増え続け、最終的にはブラウザがクラッシュする。その原因の多くは、コンポーネントが破棄された後もメモリ上に居座り続ける「幽霊(リーク)」にある。ここでは、Vue.jsにおける正しい後始末の方法を解説する。 メモリリークとは 、不要に…
Vue.jsのメモリリークを撲滅する:ライフサイクルとイベントリスナーの鉄則

Evita que tu App Vue.js Colapse: Guía de Fugas de Memoria y Limpieza

Imagina que tu aplicación funciona a la perfección durante los primeros 10 minutos, pero después de navegar un poco, el navegador empieza a sentirse pesado, las animaciones se entrecortan y, finalme…
Evita que tu App Vue.js Colapse: Guía de Fugas de Memoria y Limpieza

백엔드 API 응답 구조가 매번 바뀔 때: TypeScript Conditional Types와 infer 실전 활용법

백엔드 API와 연동 작업을 하다 보면 가장 골치 아픈 순간은 응답 구조가 미묘하게 다를 때입니다. 성공 시에는 { data: T } 형태로 오다가, 실패 시에는 { error: string } 으로 오거나, 특정 레거시 엔드포인트만 { result: T } 형태로 내려오는 경우가 허다합니다. 이때마다 any 를 사용하거나 옵셔널 체이닝( ?. )…
백엔드 API 응답 구조가 매번 바뀔 때: TypeScript Conditional Types와 infer 실전 활용법
OlderHomeNewest