[TIL]200818 Underbar

Chaegyeom·2020년 8월 31일
0

TIL

목록 보기
17/77
post-thumbnail

예전에 배열 메소드가 브라우저에서 자체적으로 지원되지 않던 시절에 사람들은 보다 나은 방법으로 배열이나 객체를 다루기 위해 라이브러리, 즉 배열이나 객체를 다루기 위한 도구 모음집을 만들어서 사용했었는데 대표적으로 underscore가 있고 이 라이브러리는 여전히 JavaScript 생태계에서 많이 쓰이는 인기있는 라이브러리라고 한다.

이번 스프린트는 페어와 함께 배열메소드들의 라이브러리를 직접 만들어 보면서 작동원리를 더 심도있게 이해할 수 있는 과정이라고 한다.
사용하기도 어려운 메소드들을 직접만든다니 굉장히 걱정됐지만 저번주에 페어분께서 친절하게 작동원리를 설명해주시고 직접 코드를짜서 보여주신 과정이 주말동안 내가 메소드들의 사용방법을 익히기 위해 했던 노력들과 합쳐져서 '이건 좀 빠른데?'싶을 정도로 진행이 빨랐다.

물론 고비가 없었던 것은 아니다
iterator라는 함수를 사용하여 문제를 해결해야 했는데, 문제는 이 iterator가 대체 뭔지 이해를 못하겠어서 한참 막혀있었다.
설명에서는 쉽게말하면 반복해서 실행하는 함수라고 하는데 문제를 다 푼 지금도 정확히 이해하기는 어려운 녀석이다...

이번 underbar스프린트에서 구현한 배열 메소드는

  • last
  • firs
  • each
  • indexOf
  • filter
  • reject
  • uniq
  • map
  • pluck
  • reduce
  • contains
  • every
  • some
  • extend
  • defaults
  • once
  • delay
  • flatten
  • shuffle
    이다.

Advanced과제로 다른것들이 더 남아있지만, 필수적으로 풀어야하는 문제들만도 저렇게 많으니 문제를 다풀면 맛보기위해 남겨뒀다.

풀고나서 돌아보니 쉬운문제가 없었지만 그 중에서도 가장 어려웠던 문제는
delay와 flatten, shuffle이었다.

delay같은 경우 어쩌다가 됐는데 말로만 들어봤던

되는데... 왜 되는거지? 라는 느낌을 느껴봤다

flatten은 다차원 배열을 가져와서, 1차원 배열로 변환하는 문제였는데 대체 몇번째 차원까지 배열이 쌓여있는지 알수가 없어서 MDN공식문서를 참고하면서 겨우 풀었다.

shuffle은 정말 무슨소린지 알수도없는 글들을 참고하면서 풀었는데 fisher의 yates 알고리즘을 통해서 겨우 풀수 있었다. 사실 아직도 fisher's Yates shuffle은 정확하게 이해하지 못했다.

다행히 오늘 필수적인 문제를 다 풀어내서 내일은 예전에 못풀었던 알고리즘 문제를 풀고나서 Advanced문제로 넘어가보려고 한다.

profile
주니어 개발자가 되고싶은

0개의 댓글