웹 애플리케이션에서 메모리 누수가 발생하는 원인이 뭔가요? 라고 물어본다면 여러 이유 중 하나로 언급되는 과도한 전역변수 사용.
근데 이상하다. 요~즘 웹 개발하다보면 상태 관리 라이브러리들을 사용해서 전역 상태를 관리하는게 기본 중 기본 아니냐구요. 그럼 우리는 모두 메모리가 줄줄 새고 있는 애플리케이션을 만들고 있는건가??
그래서 전역 변수 최소화 원칙과 현대의 상태 관리 도구를 사용하는 것 사이의 관계를 짧게 알아보자!
전역 변수의 문제점
상태 관리 라이브러리의 접근 방식
Recoil
, Redux
와 같은 라이브러리는 애플리케이션의 전역 상태를 관리하는 통합된 방식을 제공한다. 이들은 전역 상태를 구조화하고, 변화를 예측 가능하게 만든다.전역 변수 최소화와 상태 관리 라이브러리
상태 관리 라이브러리를 사용하는 것이 전역 변수를 사용하는 것과 기술적으로 다르다고 볼 수 있는데, 이는 다음과 같은 이유 때문이다.
Redux
, Recoil
과 같은 도구들은 개발자 도구를 통한 상태 추적, 시간 여행 디버깅 등 고급 기능을 제공하여 상태 변화를 명확히 이해하고 문제를 쉽게 파악할 수 있게 해준다.Redux
는 메모리상에서 효율적인 변경 감지 로직을 사용하여 애플리케이션의 성능을 유지한다.메모리 누수를 막기 위해서라도 전역 변수를 최소화하는 원칙은 여전히 유효하지만, 현대의 상태 관리 라이브러리를 사용하는 경우, 이 원칙은 더 체계적이고 안전한 방식으로 전역 상태를 관리하는 형태로 진화했다고 볼 수 있다. 이는 전역 변수를 무분별하게 사용하는 것과는 본질적으로 다르다는 뜻..!!
앞으론 안~심하고 써야지 ㅎㅎ!