
슬슬 U1이 끝이 보이기 시작했다..
남아있는 챕터를 살펴보다 Koans라는 이름부터 뭔가 압박이 되었던 것 같아 걱정을 많이 했었는데, 생각보다 난이도가 많이 높지는 않았던 것 같다. 페어분이 실력이 좋으셔서 일찌감치 끝내긴 했지만, 혼자서도 한번 복습을 해보면서 블로깅을 해보고자 한다.
우선 과제 제출하는 방법을 Unit7 에서 다뤘지만 생소한 개념이었고 짧게 배워서 기억이 나지 않을것 같았지만 세팅을 잘(?) 해두었던 덕인지 명령어 몇번으로 무사히 과제 제출이 완료 되었다..!!
복습하는 개념으로 과제 제출방법을 다시 정리 해보았다.
우리는 과제 제출을 하기 위해서 터미널을 이용하여 설치해둔 NPM(Node Package Meanager)를 사용하는데, 우선 package.json에 들어가서 프로그램을 실행시키기 위한 모듈들을 설치해줘야 한다.
강사선생님의 GitHub주소에서 받은 압축파일 안에서 package.json을 찾아서 "devDependencies" 목록을 확인해본다. 하위 파일들을 설치해 주면 되는데, 명령어 npm install을 사용하면 모든 모듈이 설치가 되면서 node_modules파일이 새로 생성된다.$##

그다음엔 아주 간단하다.
터미널에 npm run test명령어를 입력하고 오류가 없다면 아래의 결과가 나온다.

결과가 이상이 없으면 명령어 npm run submit 입력하고 과제를 제출하면 된다.ㅍ5

위의 메세지를 본다면 과제 제출 성공 ✅
Koans 과제는 설명이 상세하고 답안 작성방법이 구체적이어서 개념을 알고 있다면 문제 푸는것이 어렵지 않았던 것 같다.
04_scope

function defaultParameter의 파라미터를 (num = 5)로 주었는데, 의미는 num 에 인자가 들어오지 않으면 기본값은 5로 하되 num에 인자값이 들어오면 그 값으로 한다 는 의미였다. ➡️ default parameter

const increaseBy3 = increaseBy(3);
const increaseBy5 = increaseBy(5);
위의 상수값에 인자로 (10)을 넣어주게되면 내부의 함수에 (3)이 들어가게되면서 서로 합한 값인 13을 출력하게 된다.
increaseBy(8)(6) + increaseBy(5)(9)과 같이 외부함수 ➡️ 내부함수 순서로 각각 인자값을 넣을 수도 있다.
답은 28.

스코프와 클로져의 명확하게 이해해야 풀 수 있는 문제였다.
lexical scope의 개념을 이해하는데 도움이 되었다. (도움이 되었던 글 링크 첨부)
https://ljtaek2.tistory.com/145
Koans문제들을 풀면서 출제자의 의도대로(?) 내가 얼마나 알고 있는가에 대해 어느정도 명확해졌고,
아는 개념과 모르는 개념들이 확실해 지면서, 어떤 내용을 공부해야하는지 알게 되었던 것 같다.
이틀이나 시간을 줄만큼 중요한 섹션이었던것 같지만 강의 시간이 총 2시간이었던 점이 조금 아쉬웠다.
조금 더 디테일하게 설명을 들을 수 있으면 이해하는데 도움이 될 것 같다.