
오늘 맺은 페어 분은 수학과 과련된 전공을 하셨고, 파이썬 공부를 이미 하신 분이었다. 오늘은 고차함수를 배우는 날이라서 조금은 힘겨웠을 주제였는데 페어 분의 도움으로 빠르게 끝낼 수 있었다. 고차함수 중에서 배열 메소드인 filter, map, reduce를 굉장히 많이 사용했다. 저번 패캠 인강할 때 이미 공부하고 복습했던 부분이었기에 굉장히 자신 있었지만, 확실히 아는 것과 쓰는 것은 많이 차이난다. 내가 정말로 안다고 하려면 내가 스스로 작성할 수 있어야 한다고 생각한다.
개념을 익힌다면 그것을 좀 많이 활용해보는 시간을 가져야할 것 같다.
[ 오늘의 TODO ]
코드 스테이츠) 고차함수 개념코드 스테이츠) Pair-Programming// 고차함수 코플릿- 패스트 캠퍼스) 인강 3개 이상 듣기 // optional
생활) 물 1L 이상 마시기개선) 페어 프로그래밍할 때도 혼자 있을 때처럼 침착하게 오류 대처하기// 침착하게 잘 해냈다.

[ 오늘의 해결 ]
1. reduce를 해줄 때는 return 을 써야 한다.
내가 했던 실수 중에 어이없던 실수가 이거였다.
arr = [1, 2, 3, 4, 5];
let reducedArr = arr.reduce((acc, cur) => {
// acc + cur
return acc + cur
},0); // 지금은 딱히 초기값 설정 안 해줘도 될 것 같다.
console.log(reducedArr) // 15
여기서 return을 하는 이유는 acc에 다시 acc + cur를 해주기 위함이다. 만약 return을 해주지 않는다면 값에 지장이 없다. 여기에 return을 해주지 않았던 이유는 for문과 헷갈렸기 때문이다. map, reduce는 for와 마찬가지로 배열 내부 요소들을 순회한다. 그 점에서 내가 for문은 바깥에 변수를 선언해주고(즉, 바깥 스코프) 안쪽의 결과물을 바깥 스코프에 전달해주는 것이기에 return을 하는 것이 아닌데 지금 지역 스코프로 잡혀 있는 acc에 return을 안 해주니 이상한 결과가 나왔었다.
2. key를 조회할 때 문자열로 한다면 dot notation으로 하면 안 된다.
정말 바보같은 실수를 또 저질렀다.
function whoGetA (obj, prop) {
// 여기서 조건은 prop이 문자열이었다.
let result = []
// if(obj.prop >= 90) => dot notation은 문자열로 받지 않는다
if(obj[prop] >= 90) {
result.push(obj.name)
}
return result
}
문자열로 key를 조회하는 건 bracket notation이다.
[ 오늘의 교훈 ]
1. 역시 직접 써봐야 한다.
직접 써봐야 한다는 건 누구나 다 아는 사실이고 나도 이미 느끼고 있었던 사실인데 오늘 이것을 다시 새롭게 교훈으로 지정한 이유는,
써봐야 내가 무엇을 아직 모르는지 알기 때문이다.
진짜 한 번에 완벽하게 사용할 수 있는 사람, 특히나 이 고차함수와 같이 사용하기가 조금 까다로운 것들은 한 번에 완벽하게 사용할 수 없을 것이다. 물론, 개념을 완벽하게 알고 있다 하더라도 마찬가지다. 물론, 결과만 따지고 보면 실수한다는 것은 개념을 완벽하게 안다고 할 수는 없다. 개념을 어느정도 알고 있다고 표현하는 게 맞다. 만약에 썼을 때 문법적인 오류가 계속 나지 않을 때, 그제서야 완벽하게 안다는 것의 근처까지는 간 것일 것이다. 써봐야 내가 무슨 실수를 저지르고 있고, 그게 내가 무엇을 아직 제대로 학습하지 못했는지를 알게 해주는 지표가 될 것이다. reduce에서 return을 쓰지 않았을 때 1차적으로 나는 reduce에 대해서 많이 써보지 않은 만큼 return을 자연스럽게 쓰는 것에 대한 훈련이 덜 되어 있기도 했고, 저번에 배운 스코프에 대한 개념도 완벽하게 이해하지 못했던 것을 알 수 있었다.
직접 쓰면서 공부하는 것이 내가 노력한 만큼 더 머리에 잘 들어오는 것도 있지만, 더 나아가면 내가 무엇을 모르는지 알게 해주기 때문에 더더욱 중요한 것 같다.
'코드스테이츠 > 코드스테이츠 @ 개발 일지' 카테고리의 다른 글
[코드 스테이츠] 25일차, 진짜 React 잘하고 싶다 (0) | 2021.08.12 |
---|---|
[코드 스테이츠] 24일차, "그 분(React)이 오셨다" (0) | 2021.08.11 |
[코드 스테이츠] 22일차, 시간이 지날수록 시간이 늘어난다 (0) | 2021.08.09 |
[코드 스테이츠] 19일차, DOMMMMM (0) | 2021.08.06 |
[코드 스테이츠] 18일차, 복습 아니면 답 없다. (2) | 2021.08.05 |