주간회고 #5 - 0.3km

March 27, 2022

0.3km

우테코 생활 D+47일, 일상에는 나름의 루틴이 생겼다. 먼저 아침을 데일리 미팅으로 시작하며 개더에서 서로의 생사를 확인한다. 그 후 강의를 듣거나 미션을 진행한다. 점심을 먹고 카페인을 충전하며 다시 미션을 하고, 저녁 먹기 전 가벼운 3km 달리기, 저녁 먹고 다시 미션, 자기 전 독서. 사실 그렇다. 루틴이라는 게 밥먹는 시간 빼고 미션 하던 것에서 달리기가 추가되었을 뿐이다.

삶은 성공이 아니라 성장이다! - 우테코 3기 포모

달리기는 우테코 삶은성성이라는 챌린지에 참가하며 시작되었다. 우테코 사람들이 매일 성장을 위한 활동을 인증하고 공유하는 챌린지이다. 그렇지 않아도 운동을 결심만 하던 차에 좋은 계기가 생겼다.

달리기를 하기로 결심한 첫날, 기분 좋게 뛰기 시작한 지 10분쯤, 반환점을 돌면서 입에 피 맛이 나기 시작했다. 결국 30분을 걷고 달리며 2.5km에서 포기했다. 달리기를 안 한 지 5년 만이었다. 두 번째 날은 2.6km를 뛰었다. 세, 네 번째 날은 2.8km. 그렇게 5일째되는 날 3km를 완주했다. 오랜만에 다시 달리는 몸은 적응이 필요했다.

새로운 환경에 던져진 나도 마찬가지다. 우테코가 3km 달리기라면 이제 0.3km쯤 지나고 있지 않을까. 무리하지 않고 차근차근 나아가야지.

weekly 5 run
느.려.

레벨별 글쓰기

우테코에서는 한 레벨이 끝날 때마다 글쓰기를 한다. 이번 주제는 우테코 한달 생활기. 평소 떠오르는 생각을 메모하고 주간회고로 정리한 덕에 수월하게 작성할 수 있을 것 같다! 시지프 감사합니다…

타입스크립트와의 만남

타입스크립트를 이번 미션에서 경험할 수 있었다. 많이 어려웠다. 자바가 생각나기도 하고… 재미있는 부분도 있었다. 하지만 역시 타입을 구현하는 과정에서 오버헤드가 크다는 느낌.

TypeScript Exercises에서 연습할 수 있다.

이번 미션 인사이트

  • Virtual DOM의 필요성: innerHTML으로 컴포넌트를 렌더링하는 방식에서 한계를 느꼈다. diff를 비교해야 구현할 수 있는 UI 요소들이 있었다. 예를 들어 다른 상품의 수정 중 상태를 건드리지 않고 상품 추가, 수정하기 등.

    rerender

  • 지난 미션의 컴포넌트 중복 구독 문제를 해결하기 위해 HTMLElement 생명 주기 콜백을 활용했다. DOM에서 Node가 제거되면 컴포넌트의 구독을 해지한다.
  • requestAnimationFrame으로 렌더링을 최적화했다.

    checkUpdated(): void {
    if (this.updated) {
      this.notify();
    
      this.updated = false;
    }
    
    window.requestAnimationFrame(() => {
      this.checkUpdated();
    });
    }

우정민

웹 개발, 프론트엔드