2025年 03月 26日
지금까지 한 것
마음 편하게 오라고 하셨지만,,, 네이버 코딩테스트 준비한다고 CS를 좀 훑어보고 갔었다.
그리고 네트워크 관련해서 좀 부족함을 느껴서 그 부분을 공부했다.
…
그리고… 부끄럽게도 질문에 대답을 거의 못해서,,, 공부할 주제를 정해주시고 다시 뵙기로 했다.
지금까지 한 것 2
- URL 입력부터 브라우저 랜더링까지
- TCP
- this
- 이벤트 루프
- semantic versioning
- 자바스크립트의 신기한 비교 결과들 (
-0 === 0같은 것) - 깊은 복사와 얕은 복사
- call by value와 call by reference
멘토링
Q. 유연님은 패키지의 버전을 명시할 때 caret을 많이 쓰세요? 아니면 tilde를 많이 쓰세요?
A. 제가 그것을 직접 명시해 본 적이 없어서,,,, caret을 가장 많이 봤던 것 같습니다.

Q. 왜 caret을 많이 쓸까요???
A. 하위호환이 가능한 범위니까 자동 업데이트해도 괜찮은 거 아닐까요…. 잘 모르겠습니다…

진짜 사람은 생각을 하고 살아야 한다는 것을 느꼈다.
생각
멘토링때도 말씀드렸던 것이긴 한데 아는 것들이 연결되는 것을 발견할 때 되게 재밌는 것 같다.
예를 들면 이벤트 루프에서 브라우저 랜더링으로 이어지는 흐름을 공부하다가 url → 브라우저 랜더링 단계 공부할 때 나왔던 렌더링 프로세스가 나오는 것도 재밌었고
url → 브라우저 랜더링 단계 공부하면서 왤케 브라우저에 스레드가 많아;;; 했었는데 그 중 하나가 자바스크립트의 비동기적인 작업을 돕는 녀석이었던 것도 재밌었다.
그냥 이렇게 공부만 하고 싶다… (절대 농담입니다.)
이것도 역시 멘토링 때 말씀드렸던 말이긴 한데 이번에 공부해오라고 하셨던 내용들이 다 아는 내용이긴 했다. 프론트엔드 개발자라면… 다들 한번 쯤 봤던 내용 아닐까???
근데 말로 설명하기 위해서 공부를 하려니까 이것 저것 엮어서 공부해야 할 것들이 산더미이더라.
url → 브라우저 랜더링 단계 공부할때에도 그냥 “url을 쳤을 때 그냥 바로 dns에 가서 ip 주소를 얻어와요.” 이런 단순한 흐름으로 공부할수도 있겠지만 사실 내부에서는 dns 캐시를 먼저 뒤지고, 그다음에 dns에서 주소를 찾아오는 것이라는 것 까지도 공부해야 좀 안심하고 설명할 수 있는 것 같다.
여기서 더 나아가서 url을 입력했을 때 ui 스레드와 네트워크 스레드가 어떻게 소통하고, 네트워크로 받아온 html이 어떻게 렌더링 프로세스에게 전달되는지도 궁금해서 좀 보긴 했다. (질문을 안 주시긴 했지만…)
이렇게 상세한 것들을 질문을 안 주셨던 것에서 또 느꼈던 것은… “진짜 내가 어떤 것이 지금 상황에서 중요하게 공부해야 하는 것인지를 모르는구나.” 하는 것이었다…
이러니까 공부하는데 한참 걸리고, 그마저도 나중에 까먹지…
그래도 멘토님이 공부하는데 너무 어렵지 않았냐고 물어봐주셨을 때 진짜 진심으로 재밌었다고 답을 드렸다. 진짜 재밌긴 했어요…ㅎㅎ
그리고 진짜로 아는 것과 말할 줄 아는 것은 다른 것이었다… 다 아는 내용인데 말하려고 하니까 어… 어… 무새 됨..;; 그래도 열심히 공부한 이벤트 루프 부분 설명드릴때 되게 자연스럽게 잘 설명한다고 해 주셔서 기분이 좋았다 으하하
질문드린 것
지엽적인거 자꾸 공부한다고 바로 위에서 후회했는데 공부하면서 너무 너무 궁금했던 것이 있어서 질문드렸다… (의문의 시작이 GPT라 좀 머쓱했음)
보통 이벤트 루프를 그릴 때 마이크로태스크 큐랑 태스크 큐랑 같이 JS 엔진 외부에 그려져 있던데, GPT한테 뭐 물어보다가 마이크로태스크 큐가 엔진 안쪽에 있다는 얘기가 나왔다.
도식화를 아름답게 하기 위해서 마이크로태스크 큐를 빼둔건가? 하는 생각이 들었는데 마이크로태스크 큐를 엔진이 관리한다는 것이라는 문서를 찾기가 너무 힘들었다……….
그래서 여쭤봤는데 멘토링 시간에 찾아보기는 좀 어려워서 다음 시간까지 같이 찾아보기로 했다..ㅎㅎ
이 글 쓰면서 GPT한테 다시 물어봤는데 본인이 유추한것이라고 자백했다… 🤦♀️ 근데 정말 궁금했던 내용이긴 해서 좀 더 찾아보려고 한다.
제대로 읽어봐야 하긴 하는데 ECMAScript 스펙의 이 부분에서 microtask queue의 작업들(여기선 Job이라고 지칭하는 듯?)에 대해서 얘기하고 있어서,, 뭔가 좀 연결이 있는건가? 싶은 생각이 듬… 😵💫
다음 멘토링까지 할 것
- 이력서에 적을 내용들 갈무리해서 오기
- 리팩토링 할 프로젝트 인증 부분 파악하기