• [TIL] 2021년 8월 3일

    2021. 8. 3.

    by. KimBangg

    코어 타임 전 📚

    오늘은 처음으로 팀원들과 함께 스터디를 진행 하였습니다 :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

    댓글