TIL 220823

남주영·2022년 8월 23일
3

TIL

목록 보기
4/16

오늘 한 일

1️⃣ 프로그래머스 2022 데브매칭 상반기 과제 테스트 풀기 (진행 중)

상반기 데브 매칭 당시에 실제로 응시를 했었다.
바닐라JS 개발 경험이 거의 없던터라(지금도) 기능 구현부터 안 해본 것들이 많고, 바닐라JS로 컴포넌트화, SPA 만들기 이런 건 들어만 봤지 아예 할 줄 몰랐다.
그래서 시험은 망했고, 그 뒤에 다시 2번 정도 완성해보려 시도를 했는데 끝까지 해내지 못했다.
그리고 오늘은 3번째 시도를 하는 날이다.

여태 완성에 실패했던 이유는 아마, 바닐라JS로 SPA를 만드는 것이 처음인데도 불구하고 너무 완벽한 구조를 잡으려고 애를 썼기 때문인 것 같다.
나는 이 과제를 통해 ‘나만의’ ‘완벽한’ 즉, 다른 사람의 코드를 최대한 베끼지 않으면서 내가 생각하기에 최대한 좋은 구조로 바닐라JS 보일러플레이트를 만드려고 했었다.
그런 마인드였기에 오늘도 풀어보려고 하니 사실 막막함이 먼저 앞섰다.

그런데 문득 <함께 자라기>라는 책의 ‘당신이 제자리 걸음인 이유' 챕터가 생각이 나서 다시 읽어보았다.
일단 챕터 제목부터 내 뼈를 때리는데, 그 내용 또한 나의 이런 태도를 부정적으로 언급한다.
내용을 정말 간단히 요약하자면, 실력 향상을 위해서는 적절한 난이도가 중요하다는 것이다.

작업 난이도와 현재 내 실력이 적절한 균형을 이루지 못하는 상태를 두 가지로 분류할 수 있다고 한다.
그 중 하나가 난이도가 높아 불안함을 느끼고 있는 경우이며, 그것이 지금 내 현재 상태다.
그럴 때 취할 수 있는 전략 중 난이도를 낮추는 것이 있는데, 나는 그 전략을 취하기로 했다.

사실 결국엔 그저 나에게 어려워서 난이도를 낮추겠다는 것인데 책 내용까지 가져와서 고민을 하는 이유는, 나는 문제 해결을 함에 있어 타당성 없이 도망치는 태도를 취하는 것이 싫기 때문이다.
따라서 실력 향상을 위해서라면 가지고 있던 목표를 낮출 필요가 있다는 것을 충분히 논리적인 근거를 들어 내 자신을 설득했다.
또한 오늘의 고민을 통해 앞으로는 학습 목표를 설정할 때에 이상만 좇지 않고 내 실력을 꼭 고려할 것을 다짐했다.

따라서 일단은 스스로 좋은 구조를 만들고 싶어서 오기를 가지고 일부러 보지 않았던 해설을 따라가면서 만들어 보고, ‘완성'을 목표로 해볼 것이다.
그리고나서 원하는 곳을 개선 해보거나, 다른 테스트를 스스로 풀어볼 것이다.

2️⃣ JavaScript this 공부

1️⃣ 번을 하면서 잘 모르는 것들을 공부하고 있다.
비록 코드를 따라칠지언정 이해되지 않고 잘 모르는 내용을 기계처럼 따라치지는 않을 것이다.

this는 볼 때마다 공부해도 그때만 알고 다음엔 기억이 잘 안나더라 . .
그래서 이번 기회에 기초부터 제대로 알려주는 아래 문서를 찬찬히 읽어보고 넘어가려 한다.

this | PoiemaWeb

이번엔 정말 확실히 알았다! 자신 있다!

3️⃣ JavaScript 모듈 공부

2️⃣번과 같은 맥락으로 공부를 한다.
부끄럽지만 사실 react를 하면서 수천번 써왔던 모듈 문법을 제대로 공부한 적이 없었다.
이상하게 JavaScript 모듈의 역사 이런 것만 2번 정도 정리한 적이 있고 ES6 모듈 문법은 공부를 안했다.
그래서 이번 기회에 확실히 알고 넘어가려고 한다.

아래 자료를 찬찬히 읽었다.

Module | PoiemaWeb

이 사이트는 근본적인 내용부터 활용까지 너무 잘 알려주는 곳이라고 생각해서 이럴 때 열심히 보려고 하고 있다.
쓰여진지 오래된 글이라 업데이트 되지 않은 내용도 아주 조금 있는 것 같지만 그래도 도움이 많이 됐다.

알게 된 것

  • 모듈의 정의를 다시 한 번 이해함.
  • 모듈이 곧 파일 분리는 아니고, 모듈 패턴이라는 것이 있는데 이것이 보통 파일 단위로 분리되어 표현된다.
  • CommonJS와 AMD는 라이브러리 명 같은 것이 아니다. JavaScript 표준 API 라이브러리 제작 그룹인데, JavaScript의 모듈의 필요성이 대두되던 시기에 각각의 그룹에서 서로 다른 모듈 명세를 주장했다. 이 두 명세 중 하나를 따라 모듈 로더 및 프레임워크가 만들어지는 것이다. 현재는 CommonJS의 명세가 실질적인 표준이 되었다. - 참고: https://d2.naver.com/helloworld/12864
  • 모듈 문법 전반
profile
Sharing is Caring. 🪐

4개의 댓글

comment-user-thumbnail
2022년 8월 23일

주영이 TIL을 보면 느끼는 게 많아
멋있다 남주영!!
오늘은 덕분에 좋은 문서 알아가요~

1개의 답글
comment-user-thumbnail
2022년 8월 25일

언니 기초부터 탄탄하게 하려는거 너무 멋져.. 나도 매일 생각하는데 잘 안되더라🥺 죵 언니 화이팅!!!!!!

1개의 답글