이번주는 좋은 것과 나쁜 것이 무엇이 있었나요?
이번주는 1주차에 이어서 자바스크립트의 핵심이 되는 내용을 공부했습니다.
내가 무엇을 모르는지 확인하는 방식의 공부가 제일 좋다고 생각하는데 멘토링 시간을 통해 메타인지를 높일 수 있었고 부족한 부분을 알고 공부할 수 있었던 것이 좋았습니다.
퇴사 이후 몸살이 심하게 와서 몰입해서 학습을 진행하지 못했던 점이 아쉽습니다.
이번주 진행했던 학습/개발 내용은 무엇이었나요?
이번주에는 <코어 자바스크립트>의 1~5장을 학습했습니다.
추가로 아래의 과제를 진행했습니다.
- cloneDeep (깊은 복사) 구현
- memoize 자바스크립트로 구현
- 오브젝트(객체)를 생성하는 3가지 방법
가장 고민을 했던 부분은 무엇이었나요?
1. memoize를 어떻게 구현하는게 해당 함수를 호출하는 쪽에서 좋은 인터페이스일까에 대한 고민이었습니다. 처음 했던 생각은 특정 key값으로 object에 저장을 하는 방식으로 구현하고 object에 key값이 존재하면 이미 캐싱해서 들고있는 값을 return, 그렇지 않다면 값을 계산하고 객체에 저장하고 return이었습니다. 그런데 단순히 이렇게만 사용할 수 있는 memoize 함수라면 활용도가 매우 낮을 것 같았는데요. 그래서 React의 useMemo와 같은 느낌으로 값을 return하는 콜백함수를 memoize에 전달해서 한번 래핑을 해주고, 콜백 함수에 들어오는 인자를 key값 처럼 사용하면 좋을 것 같다는 생각을 했습니다.
2. 자바스크립트라는 프로그래밍 언어가 내부적으로 어떻게 동작하는지에 대해 책을 보지 않고도 유창하게 말할 수 있을 정도로 학습하려면 어떻게 접근하는 게 가장 효율적일까에 대한 생각을 하면서 고민을 하면서 이론 학습을 했습니다. 결론은 이해가 수반된 암기, 반복적인 학습, 잘 모르는 부분에 대해서는 특히 반복적인 학습이 맞다는 생각을 했습니다.
아쉬운 부분을 개선하기 위해서 필요한 것은 무엇인가요?
학습에 있어서 체력이 정말 중요하다고 생각하는데요. 건강항 생활 패턴을 만드는 것을 가장 우선시하려고 합니다.
또 학습을 할 때 Why? 라는 질문을 항상 달고 사는게 필요하다고 생각합니다. 왜 코드를 그렇게 작성했는지, 더 나은 방법은 없는지, 왜 이 언어는 내부적으로 이렇게 구현이 되어 있을 지와 같이 생각하는 힘이 중요하다고 생각합니다.
다음주는 어떻게 보낼 예정인가요?
다음주는 새로운 회사에 출근하기 전에 주어진 1주일 가량의 자유로운 시간인데요.
학습을 몰입해서 진행하고 적당한 휴식을 취해주려고 합니다.
'왓에버' 카테고리의 다른 글
[왓에버 멘토링] 7주차 회고 (0) | 2023.07.04 |
---|---|
[왓에버 멘토링] 6주차 회고 (0) | 2023.06.27 |
[왓에버 멘토링] 5주차 회고 (0) | 2023.06.20 |
[왓에버 멘토링] 4주차 회고 (0) | 2023.06.12 |
[왓에버 멘토링] 3주차 회고 (0) | 2023.06.05 |