심화 주차가 시작됐다.
벌써 시간이 이렇게나 흘렀다니.. 2달간 난 무엇을 배웠을까 다시 한번 생각해보며 마음을 다잡는 하루였다.
오늘은 강의를 들으며 가장 헷갈렸던 개념이자 가장 메모리과 직결된다고 생각되는 부분을 정리해야겠다.
throttling은 "조절"이라는 뜻을 가지고 있는 영단어이다.
SW 개발에서는 기기의 과열을 막거나 메모리 효율성을 위해 필수적으로 요구되고 있다.
이번 강의를 통해 알게된 쓰로틀링의 역할은 "쿨타임" 기능을 가지고 있다.
예를 들어, 사용자가 데이터를 받아오는 로직이 있는 버튼을 계속 눌렀을 때 서버에서 요청에 맞게 계속 데이터를 보내게 되면 서버와 클라이언트 모두에게 부담이 된다.
이를 막기 위해, 버튼 이벤트 로직 간격마다 시간을 두어 같은 이벤트가 발생하지 않게 만드는 방법이다.
그래서 이벤트마다 쿨타임이 있다고 생각하면 쉽다.
주로 검색 기능 같은 곳에 사용된다.
debouncing은 throttling과 비슷하지만 반대되는 개념이다.
마지막 이벤트가 일어났을 때, 일정 시간을 두고 로직을 실행시키는 방법이다.
주로 id 중복검사 같은 곳에 사용된다.