티스토리챌린지3 직접 구현하며 느낀 Debounce 와 Throttle 차이 📌 Debounce ? Throttle ? 공부하게 된 이유 resize 이벤트 핸들러를 통해 화면의 사이즈 변경을 감지하고그에 따라 화면의 애니메이션을 변경해야하는 기능이 있었다.그런데 정말로 화면 크기가 바뀔 때마다 매번 이벤트가 호출되는 걸 보고리페인트 비용 낭비가 예상되었다.마우스로 요리조리 변경할 때마다 이벤트를 호출하는 게 아니라변경이 끝난 후 화면 사이즈가 고정되었을 때 한번만 호출하도록 수정하고 싶었다.최적화 방법 중 일부인, Debounce 와 Throttle 을 공부해보자. Debounce 와 Throttle 모두 함수의 연속적인 실행을 제한하는 목적을 가지고 설계되었다. 📍 Debounce요청이 들어온 뒤, 일정 시간을 기다린 후 요청을 수행한다.일정 시간 내에 같은 요청이.. 2024. 11. 18. [OS] 교착 상태 📍 교착 상태란 ? 다중 프로세스 환경에서 발생할 수 있는 상호 배제 문제.2개 이상의 프로세스가 서로의 자원을 기다리며 무한정 대기 상태에 빠지는 현상. 프로세스 A는 임계 구역 진입 전 lock1 을 잠그고 (lock1 = true)프로세스 B는 임계 구역 진입 전 lock2 를 잠궜다. (lock2 = true)만약 프로세스 A가 lock2 가 false 가 되길 기다리고,프로세스 B가 lock1 이 false 가 되길 기다린다면 교착 상태가 발생하게 된다. 📍 교착 상태 발생 조건 교착 상태는 4가지 조건이 모두 충족되면 발생할 가능성이 높아진다. 1️⃣ 상호 배제 Mutual Exclusion한 프로세스가 사용하는 자원을, 다른 프로세스가 사용할 수 없는 경우하나의 프로세스가 하나의.. 2024. 11. 8. React Virtual Dom 과 Vue Virtual Dom 비교 📍 React Virtual Dom 이랑 Vue Virtual Dom 차이가 뭐에요 ? 같이 공부하는 친구의 질문에 말문이 막혔다.가상돔이 운영되는 방식이 거기서 거기 아닐까..?라는 애매모호한 답변을 하기 싫어서 공부하게 되었다. 📍 Vue / Compiler-Informed Virtual Dom 나는 막연하게,초기 렌더링 과정이 Vue 가 React 보다 더 빠르다고는 알고 있었다. 왜 ? 에 대한 답변으로,Vue 는 문법을 사용하고React 는 .jsx 문법을 사용하니까변환되는 과정이 Vue 가 상식적으로 더 빠르지 않을까 ? 라고 생각했다. Vue 의 렌더링 메커니즘 공식 문서를 보면 잘 나와있지만 내가 이해한 대로 설명해보겠다.Vue 컴포넌트가 mount 될 때, 다음과 같은 과정이.. 2024. 11. 7. 이전 1 다음