본문 바로가기
개발자 일기/일일회고 (TIL)

부트캠프 15일차 (Javascript Koans)

by MS_developer 2022. 9. 8.

Javascript Koans

Koans는 불교에서 유래된 단어로, 결론을 내리기 전에 이게 왜 맞는지 깊게 고민한다는 의미를 가지고 있다고 한다. 코드스테이츠에서 제공한 Javascript Koans는 그동안 배우고 실습해본 자바스크립트를 주어진 가이드에 따라 test case를 만들고 실험해보는 세션이다.


오늘의 생각

뿌듯한 하루였다.

페어와 함께 Javscript Koans를 진행했는데, 가볍게 풀었던 첫날에 비해 둘째 날은 좀 더 심화된 개념들을 다뤘다. 가이드가 제공되어 있었기 때문에 코드 자체를 완성하고 제출하는데 큰 어려움은 없었지만, 중간중간 드는 의문들을 페어와 서로 공유할 수 있어 좋았다.

let, const, var 등 알고 있었던 개념들임에도 불구하고 문제를 풀 때 변수 키워드에 집중해서 문제를 풀려고 했던 것 같다. 실제 문제들을 푸는데 있어 큰 영향이 있지는 않았지만 분명히 넘고 짚어갈 수 있어 문제 푸는데 좀 더 침착하게 대응할 수 있었는데, 원시 자료형과 참조 자료형이 생각보다 많이 헷갈렸다.(아마 아직 관련 블로그 포스팅을 완성하지 못해서 그런게 아닐까....) 스코프 부분을 의식해서 문제를 풀이해 갔는데, 여전히 많이 헷갈리는 개념이라 좀 더 공부를 해야겠다는 생각도 들었다. 구조분해할당 부분은 생각보다 무난하게 넘어가서 걱정에 비해 잘 이해하고 있다는 생각이 들었다.

문제를 풀던 모습

문제를 푼 후에도 단순히 넘어가지 않고, 해당 개념을 확실히 이해했는지, 또 코드스테이츠에서는 어떤 의도로 문제를 작성했고, 원했던 답은 무엇이었는지 비교/생각 해보면서 풀었는데, 페어 분이 이런 분위기를 형성해주셔서 너무 좋았다. 덕분에 좀 더 차분히 접근하고 자주적으로 문제를 풀 수 있는 시간 같았다.


오늘의 학습내용

  • 유닛 테스트unit test의 정의와 matcher 함수
  • '==' 연산자의 문제점 / '==='연산자를 써야하는 이유
  • const를 쓰는 이유와 변수/배열/객체에 따라 쓰면 좋을 키워드
  • 함수 호이스팅hoisting이란
  • 화살표 함수의 사용 예시들과 클로저 함수를 화살표 함수로 표현하는 방법
  • '원시 자료형 그 자체'와 '원시 자료형이 할당된 변수'의 차이
  • heap과 stack의 차이
  • call(pass) by value와 call(pass) by reference의 차이
  • 얕은 복사shallow copy와 깊은 복사deep copy가 다른 점, 이를 확인할 수 있는 예시
  • arguments (Array-like Object)의 구동 원리 및 rest 문법과의 차이점

어려웠던 keyword / 활용한 질문

  • 배열과 객체에 let이 아닌 const 변수를 선언했다면, 그 이유가 무엇일까요?
  • pass by value와 pass by reference: 배열을 함수의 전달인자로 전달할 경우, 무엇이 전달 되나요?
  • arguments와 rest parameter를 통해 배열로 된 전달인자를 받았을 때 어떤 차이점이 발생하나요?

추석 연휴를 앞두고..

ㅁ...멈춰...

고작 2주라는 짧은 시간이었지만 바쁘지 않은 하루가 없었던 것 같다. 나름 꾸준히 블로그 활동을 한다고 한 것 같은데 사실 전혀 쉽지 않았다. 써야 할 글이 산더미같이 남아있고 배웠던 내용들을 스스로 정리하면서 포스팅 해야하는데, 하루라는 시간이 너무 짧았다. 몸 건강을 챙기기 위해 운동도 하고, 산책도 했는데 개인 공부를 하나도 못한 것 같아서 좀 착잡하다. 연휴동안 적당히 쉬면서 포스트들을 정리해야겠다. 

그래도 꾸준히 글을 쓰고, 개념들을 정리하고 공부한 것들을 되짚어 볼 수 있어서 코드스테이츠 부트캠프가 좋은 기회라고 생각한다. 개발자로서 성실하고 항상 발전하기 위해 노력하는 태도를 이번 기회를 통해 완전히 장착할 수 있었으면 좋겠다.

 

댓글