본문 바로가기

기술면접

31_쓰로틀링(Throttling) & 디바운싱(Debouncing)

✅ 쓰로틀링(Throttling):
쓰로틀링은 이벤트의 실행 주기를 조절하여 연속적인 이벤트의 발생을 제어하는 기술입니다. 특정 이벤트(예: 스크롤, 리사이징)가 발생할 때마다 지정된 시간 동안 해당 이벤트를 처리하지 않고 대기하다가 일정 시간이 지나면 처리하는 방식으로 구현됩니다.

 

🙄사용 이유:
연속적으로 발생하는 이벤트를 제어하여 성능을 최적화할 수 있습니다.
과도한 이벤트 발생으로 인한 불필요한 리소스 소비를 방지합니다.


✅ 디바운싱(Debouncing):
디바운싱은 연속적으로 발생하는 이벤트 중에서 마지막 이벤트에 대해서만 처리하도록 지연하는 기술입니다. 예를 들어, 사용자가 텍스트를 입력하는 동안 연속적으로 이벤트가 발생할 수 있지만, 마지막 입력 이후 일정 시간이 경과한 후에야 해당 이벤트를 처리합니다.

 

🙄 사용 이유:
연속적으로 발생하는 이벤트 중에서 마지막 이벤트에만 반응하도록 제어하여 응답성을 향상시킵니다.
과도한 이벤트 처리를 방지하여 성능을 최적화합니다.
쓰로틀링과 디바운싱은 모두 웹 애플리케이션에서 사용자 경험을 향상시키고 성능을 최적화하기 위한 중요한 기술입니다. 각각의 상황에 따라 적절한 기술을 선택하여 사용해야 합니다.