-
코어 타임 전 📚
오늘은 처음으로 팀원들과 함께 스터디를 진행 하였습니다 :D
전 날 강의에 대해서, 정리를 하고 어려웠던 점을 공유 하면서 시간을 썼는데요. 이전에 굳어있던 딱딱한 분위기도 많이 해소되고, 팀원들과 이야기를 나누며 각 개인의 성향도 알 수 있었습니다.
앞으로의 과정 속에서는 스터디의 시간이 길어짐이 분명하지만, 첫 날 이였기에 1시간 안에 끝났습니다. ( 내일은 과연..? )
코어 타임 ing 🏃🏻
오늘의 수업 중에서 가장 인상이 깊었던 내용은 [ 정규식과 태스크 큐 ] 에 대한 이야기를 해보겠습니다 :D
1. 정규식 ( Regular Expression )
정규식의 경우, 이해가 어려워서 항상 기피를 해왔습니다. 그리하여, 실제 개발 과정 속에서도, 알고리즘 문제를 풀 때도 " 아 이거 정규식쓰면 쉬울 것 같은데?" 라는 생각만을 가지고 그냥 지나쳐왔습니다.
하지만, 이번 강의를 들으며 "특정 규칙" 에 "어떤 정규식" 을 쓰는지 정도만을 이해 할 수 있다면 어느정도의 사용이 가능 할 것이라는 생각을 가질 수 있었습니다.
관련 내용의 길이가 꽤 긴 편이라서, 링크로 첨부 해두겠습니다 :D
2. 마이크로 태스크 큐 ( Micro Task Queue )
자바스크립트 외적으로, 브라우저가 지원하는 기술에는 [ Web Api, Event Loop, Task Queue ] 다음과 같이 3가지가 있다고만 생각을 했습니다.
실제로, Web ApI 에서의 작업이 끝나면 1개의 Task Queue로 전달을 한다고 생각을 했었는데요. 이번 "선택 과제"를 통해 태스트큐가
[ Micro, Macro ] 로 나뉜다는 사실을 알게 되었습니다.
우리가 일반적으로 Task Queue 라고 불러왔던 이 친구가 Macro Task Queue에 해당이 되고, 이번에 새로 알게 된 친구인 Micro Task Queue의 경우 [ 비동기 ] 와 관련된 작업을 처리 해주는 역할을 수행합니다.
또한, Micro Task Queue 의 경우, Macro Task Queue 보다 높은 우선 순위를 가지고 있기 때문에, 두 개의 작업이 동시에 있는 경우 Micro Task Queue가 비어진 다음에, Macro Task Queue에 있는 작업이 Call Stack 으로 이동합니다 :D
console.log('script start'); setTimeout(function () { console.log('setTimeout'); }, 0); Promise.resolve() .then(function () { console.log('promise1'); }) .then(function () { console.log('promise2'); }); console.log('script end'); // script start -> end -> promise 1 -> 2 -> setTimeOut
'무념무상 생각노트' 카테고리의 다른 글
[TIL] 2021년 8월 9일 (0) 2021.08.09 [TIL] 2021년 8월 4일 (0) 2021.08.05 [TIL] 2021년 8월 2일 (0) 2021.08.02 2021년 7월 2째주 회고 (0) 2021.07.20 [TIL] 2021년 7월 1주차 (0) 2021.07.14 댓글