어느덧 2020년의 3주차가 종료되는 일요일 오후 매일매일은 오늘 하루가 빨리 지나기를 하면서 지내지만 이렇게 주말이되면 왜 좀 더 충실히 살지 못했을까 하는 생각이듭니다.

주간 회고록에 채울 내용을 학습관련된 것만 할지 그냥 일상다반사 일기장처럼 이런저런 내용을 다 써야할지에 대해서는 고민입니다. 아직은 블로그 자체가 기술블로그로 운영되기에 사생활에 관한건 빼고 적으려 합니다.

1. 자바스크립트 ES6+ 기초편 완강

와! 완강이다!

와! 완강이다!

블랙커피 스터디(nextstep에서 진행하는 무료 FE 스터디) 를 진행하며 1주차에 충격을 먹고 내 부족한 js실력을 체감한뒤 충동적으로 구매해버린 김영보님의 자바스크립트 로드맵.. 그 중 ES6+ 기본을 이번주차로 완강을 했다. 무협소설속에서 나오는 기본기.... 목검 1000번 내려찍기 등..... 텍스트의 문장으로 볼 때는 그냥 하면되지 근성이없네! 했지만, 기초편을 다시 공부하며 이게 쉬운게 아니라는 것을 뼈저리게 느낀다.

강의는 어떻게보면 기본기라고도 할 수 있고 사용법만 본다면 MDN을 가서 사용법만 보면 3분도안되 알 수 있는 내용들에 대해서 하나하나 파고든다. 모르는 함수에 대해 설명을 해줄 때는 잠깐 흥미롭지만, 반복되거나 눈으로만 봐도 아는 간단한 예제들은 굳이 저것도 정리를 해야할까? 하면서 고민을 하게 만든다.

이전 강의인 ES3와 ES5의 specification을 뜯어볼때는 이젠 다 ES6쓸꺼고 바벨/웹팩쓰면 몰라도 되는거아니야? 하면서 정말 지겨웠지만 돈이아까워서 들어왔고, 여기까지 다 듣고난 다음에서야 느끼는점은 '필요하구나'

가령 예를들어 자바스크립트에는 '호이스팅' 이라는 개념이 있다. 코드를 실행하는 위치보다 더 아래에 선언되어있는 메소드를 호출할 수 있는 개념인데, 쉽게 알려면 그냥 코드보다 아래에있는 함수도 호출할 수 있구나! 정도로만 생각하면된다. 하지만, 호이스팅이 '' 되는지에 대해서 말해보라면 뭐라 해야할까? '그냥 된다니까 되는거아닐까요' 라고 할 것인가? 이를 알기위해선 자바스크립트가 동작할 때 엔진에서 어떤순서로 실행 컨텍스트(execution context)에 등록되고 호이스팅을 하려는 시점에서 내부 프로퍼티에 해당 프로퍼티는 이미 등록되있는 시점이기 때문에 식별자 해결(Identity Resolution)이 된다는 것을 알아야 한다.(이에 대해 정리한 글)

이처럼 이번 자바스크립트로드맵은 내가 사용할줄만 알던 개념들에 대해서 좀 더 생각하게 해주고 원리를 파악하게 해주는 시간이였다.

하지만, 4주차 부터는 nextstep의 TDD, clean code with Java를 시작할 예정이기 때문에 심화편과 텐서플로에 관한 강의는 2021년 상반기로 보류해야겠다.

3주차 강의 정리 포스팅

Symbol Property

Symbol 함수, 메소드

Map 오브젝트

WeakMap 오브젝트

Set 오브젝트

WeakSet 오브젝트

2. 백기선님의 더 자바, Java 8 시작