20210330(화)

1. 학습 날짜

  • 2021-03-30

2. 학습 시간

  • 10:00 ~ 24:00

3. 학습 범위 및 주제

  • 자바스립트 학습하기

4. 학습 목표

  • 강의 듣기

5. 학습 정리

6. 상세 학습 내용

  • JS 는 멀티스레딩을 지원하지 않는다. 그런데 어떻게 setTimeout 과 같은 비동기를 실행할 수 있을까?

  • 이건 바로 WEB API 기 때문. Web API 는 브라우저가 JS엔진 대신에 실행시켜주는 것.

  • 즉 우리가 setTimeout 코드를 사용하면 이 코드가 JS 의 콜스택에서 실행되고 그 결과로 브라우저가 대신 실행해주는것.

  • 그리고 브라우저에서 정해진 시간이 끝나면 그 전달된 callback 이 task queue 로 들어오게 된다. -- 이벤트루프 는 JS의 콜스택, task queue, render, micro task queue 등을 차례로 순회하면서 작업이 있는지 살펴본다. setTimeout 의 결과로 task queue 로 작업이 들어왔으므로 EL 은 이 콜백을 JS으 ㅣ콜스택으로 옮긴다.

  • 콜스택으로 옮겨지면 콜백메서드는 실행된다.

  • 그리고 다시 이벤트 루프는 위에서 이야기한 녀석들을 순회하면서 감시한다.

7. 오늘 학습 내용에 대한 개인적인 총평

  • 이벤트 루프를 제외하고도 어떻게 하면 코드를 더 구조적으로 짤 수 있을지에 대한 고민을 많이했다. 뭐 ... 이 부분은 찾아본게 아니라 머리속으로만 생각한 부분이라 정리가 된게 아무것도 없다 흠...

  • C언어는 이론이 매우 어려운데 자바스크립트는 이론을 한번 딱 보면 이해가 잘 된다.. 심지어 양질의 자료도 C랑은 차원이 다르게 많아서 좋다. 훌륭한 개발자가 되자.

8. 다음 학습 계획

  • 강의 복습

Last updated