자바스크립트 메모리 관리 및 4가지 흔한 메모리 누수 대처법
Source
Google Keep/자바스크립트는 어떻게 작동하는가_ 메모리 관리 + 4가지 흔한 메모리 누수 대처법 – Hu.md
Summary
자바스크립트의 메모리 관리 원리와 개발자가 주의해야 할 4가지 일반적인 메모리 누수 유형 및 그 해결 방법을 다룬 기술 문서입니다.
Key Points
- 자바스크립트 엔진의 자동 메모리 관리(GC) 메커니즘 이해
- 의도치 않은 전역 변수 생성으로 인한 메모리 누수
- 삭제되지 않은 타이머(setInterval) 또는 이벤트 리스너
- DOM 요소 참조가 남아있는 경우의 누수
- 폐쇄된 스코프(Closure) 내 변수 참조 문제
-
자바스크립트 메모리 누수 4가지 형태 (외부 링크)
-
JSWhiz: JavaScript 메모리 누수 정적 분석 도구
-
안드로이드 메모리 누수 해결 (진저브리드 기준)
-
자바스크립트 동작 원리: 엔진, 런타임, 호출 스택
-
자바스크립트 배열 메소드 5가지 (indexOf, filter, forEach, map, reduce)
-
자바스크립트 아키텍처 v0.4
-
메모리 암호화 기술 조사 (Memory Encryption Survey)
-
자바스크립트 기반 콘텐츠 숨김의 접근성 처리
-
종성 분리 알고리즘
-
자바스크립트 객체 더하기 연산의 타입 변환 규칙
-
자바스크립트 프로토타입(Prototype) 개념 정리
-
텍스트 교체하기: 5가지 방법 (Swapping Out Text, Five Different Ways)
-
JavaScript this 키워드 동작 원리
-
Linux 메모리 오버커밋(OOM Killer) 및 DB 서버 설정 가이드
-
자바스크립트 학습 방법론 (2017)
-
jQuery 이벤트 핸들링: .on() 사용 권장
-
자바스크립트 디자인 패턴 - 프록시(Proxy)
-
Freemarker 템플릿 상속을 통한 레이아웃 관리
-
프로젝트 일정 관리 3가지 조언
-
자바스크립트에서의 Continuation-passing style (CPS) 소개
-
이펙티브 자바스크립트 소개
-
CSS :scope 가상 클래스의 용도 및 동작 방식
-
배경이 함께 슬라이드하는 웹 슬라이더 구현
-
프로그래밍 실력 향상을 위한 8 가지 추천 프로젝트
-
AJAX 기본 원리 및 XMLHttpRequest 구현
-
변수와 메소드 네이밍 15가지 모범 사례
-
NaiveChain: 200 줄 자바스크립트로 구현한 블록체인 기본 구조
-
프로그래머 성장의 4 가지 원칙
-
5)
-
Simple Ajax 예제
-
Objective-C 함수 포인터와 코드 블럭
-
코딩 인터뷰 필수 알고리즘 10 가지 (Top 10 Algorithms for Coding Interview)
-
Distributed Web Worker 개발 중 Promise 및 이벤트 처리 이슈
-
프로그래머가 알아야 할 8 가지 시간 복잡도
-
Git remote-tracking branch 개념 및 동작 원리
-
비동기적 JavaScript
-
일상 프로그래밍을 위한 기본 패턴 (LakTEK)
-
Web Workers API 개요 및 기본 사용법
-
프로그래머를 위한 유니코드 소개 (Nathan Reed)
-
전산학의 재미난 발상들 (개념 목록)
-
Design Patterns in JavaScript (tcorral)
-
자바스크립트 프로그래밍: 프론트엔드 개발자를 위한 (도서 소개)
-
Distributed Electronic Rights in JavaScript
-
JavaScript 기반 분산 컴퓨팅 고려사항
-
Programming With Nothing (Ruby Proc-only Computing)
-
Web Workers: JavaScript 멀티스레딩
-
JavaScript 성능 향상을 위한 Thread-level Speculation (TLS)
-
웹 개발자를 위한 디버깅 매뉴얼! 『자바스크립트 테스트와 디버깅』
-
ML 기반 번들링: JavaScript 툴링의 미래
-
C++ Coroutine 의 개념 및 구현 특성
-
List.js: HTML 리스트의 검색, 정렬, 필터링을 위한 경량 JavaScript 라이브러리
-
북마클릿(Bookmarklet) 정의
-
웹의 불안전한 JavaScript 사용 관행에 대한 측정 연구
-
웹의 병목 현상: JavaScript
-
requestAnimationFrame 사용법
-
JavaScript 의 현대적 활용 분야 (2019)
-
JavaScript Promises: 개념, 용어 및 표준화
-
객체지향 프로그래머를 위한 함수형 프로그래밍(F#) 입문
-
하루 안에 습득 가능한 유용한 프로그래밍 기술 목록
-
Flexbox 레이아웃 가이드: 개념 및 10가지 실무 사례
-
JavaScript 과잉 조직화 (Over-Organizing) 의 적절성
-
2017 년 JavaScript 테스트 개요 (Powtoon Engineering)
-
프로그래머를 위한 추천 도서 6 권
-
Python 애플리케이션 단순화를 위한 리팩토링 가이드
-
2014년 기준 학습 권장 프로그래밍 언어: 스칼라(Scala) 및 다트(Dart)
-
JavaScript 엔진의 동작 원리 (V8 기준)
-
Didact: 리액트 원리 학습을 위한 DIY 가이드 시리즈 소개
-
2017년 주목할 만한 Java 라이브러리 목록
-
2020 프론트엔드 마스터를 위한 10가지 프로젝트 아이디어 (CSS-Tricks)
-
Java Without If: Either 타입을 활용한 함수형 Java 개발
-
Prototype용 선택 상자 플러그인
-
실용적인 프로그래밍 공부 방법론
-
Functional-ish JavaScript: 실용적인 함수형 프로그래밍 접근법
-
JavaScript 패키지 매니저의 간략한 역사 (npm, Yarn, pnpm)
-
HTTP Archive: jQuery 호스팅 및 버전 분산 분석 (2013)
-
2014년 기준 주목할 만한 프로그래밍 언어 (Go, Groovy)
-
프로그래밍 학습을 위한 초보자용 리소스 (The Next Web)
-
더 나은 개발자가 되기 위한 8가지 방법
-
데이터 사이언티스트 면접 질문 66 가지
-
Go Bootcamp Exercises (Legacy)
-
ETA (프로그래밍 언어)
-
더글라스 크록포드의 작업 철학 및 JavaScript 관점
-
풀스택 JavaScript 프레임워크 학습 조언 (Quora)
-
생활코딩을 위한 프로그래밍 언어 선택 가이드
-
Primo: 유아용 블록 프로그래밍 학습 도구
-
TI 계산기 프로그래밍 소개 (Instructables)