Retrospect

[우아한 테크코스] 행운의 로또 미션 회고

w00se 2022. 3. 14. 00:58

https://pixabay.com/ko/photos/글쓰기-작가-메모-펜-공책-923882

webpack 기본기를 공부하기 시작!

  • 웹팩을 공부하고 사용한 경험이 이번 미션의 가장 큰 수확이라고 생각합니다.
  • webpack의 CleanWebpackPlugin를 사용하면서 output path를 잘못 설정해서 .git 디렉터리가 삭제되는 경험을 했습니다.
    • 실패는 성공의 어머니라고 하듯이, 해당 경험이 webpack을 공부하는데 계기가 됐습니다.
    • 디렉터리가 삭제됐다면 mac 기준으로 cmd + z를 시도해 볼 필요가 있습니다.(저는 침착하지 못했고, 결국 다시 처음부터 작업을 시작했습니다.)
  • 웹팩에 대해서는 블로그의 게시글로 간략히 정리를 했습니다.

랜덤 테스트에 대해서

  • 랜덤은 테스트하기 힘들다라는 말을 자주 들었는데, 막상 랜덤과 관련 있는 테스트 코드를 작성할 때 어떤 식으로 테스트 코드를 작성할지 감이 잘 오지 않았습니다.
    • 예를 들면 이번 미션에서 하나의 로또는 1 ~ 45 사이의 6개의 숫자를 랜덤으로 이루어져있다.라는 기능을 구현한 후 테스트를 어떤 방식으로 진행할지 명확하지 않았습니다.
  • 코드 리뷰를 통해 알게 된 점은 아래와 같습니다.

랜덤 값 자체는 테스트할 수 없다. 즉, 랜덤으로 생성하는 값의 범위를 테스트하는 건 적절하지 않다.
그러나 반환되는 데이터 형식(데이터의 길이 또는 중복 여부)는 테스트할 수 있다.


vscode extension을 활용해서 오타 예방하기

  • 이번 미션에서 유독 오타가 많았습니다.
  • 해당 extension을 활용하면 어느 정도 오타를 방지할 수 있습니다.

트리 쉐이킹 키워드에 대해서

  • 이번 미션에서 lodash를 처음 사용해봤는데, 피드백 받기 전에는 아래의 예시 코드처럼 lodash의 모든 메서드를 가져오는 방식으로 코드를 작성했습니다.
import * as _ form 'lodash';
  • 하지만 위 예시처럼 코드를 작성하면 사용하지 않는 메서드들도 모두 import하여 번들링 시 파일의 크기가 커진다는 사실을 배웠습니다.
  • 따라서 번들 파일의 크기를 최적화하기 위해서 필요한 메서드만 불러오는 습관이 필요하며 이는 트리 쉐이킹과 관련이 있다는 것을 알게 됐습니다.
  • 트리 쉐이킹에 대해서 이 글을 보면서 공부했습니다.

조건문은 부정문보다는 긍정문으로

  • 부정문보다는 긍정문이 읽는 사람에게 더 잘 읽힌다고 합니다.

커스텀 이벤트

  • 이번 미션에서 커스텀 이벤트에 대해서 처음 접했습니다.
  • 커스텀 이벤트는 MVC 패턴에서 Controller와 View의 의존성을 끊기 위해 사용된다고 합니다.