개발일기

모던 자바스크립트 Deep Dive 스터디 2회독 회고

건강한_개발자 2023. 12. 8. 02:54

 

0. 서론 [들어가며...]

2023년 4월 1일 제로베이스 부트캠프 14기로 시작하였지만, 기본기가 너무 부족함을 느껴 기수유예를 통해
19기로 다시한번 시작하게 되었다. 
19기의 공식 일정은 9.1일 - 2월29일까지? 6개월 과정이다.

또한 다시한번 이웅모 저자님과 함께하는 deep dive 스터디에 참여하게 되었다. 
항상 무엇인가 결론을 말할때 숫자를 통해 얘기하는 것이 좋다고 생각하여, 결론부터 말하자면,

2회독을 통해 전체적으로 약 70%정도 이해했다고 생각한다.

이번 글은 생각의 흐름대로 빠르게 작성할 예정이다.

 

1. 본론, 그리고 생각정리

1회독을 마무리하고 글을 쓴것을 확인하니 8.7일이다.

1️⃣ 마음가짐
이번 2회독같은 경우, 첫 마음가짐은 하루 세시간만 투자해서 읽고 참여하자 라는 마음가짐 이었다.
하지만, 참여를 하다보니 욕심이 생겨, 중요 개념이라고 생각하는 프로토타입, 실행컨텍스트, 클로저, 클래스, DOM, 이벤트, 비동기부분, Promise객체같은 것들을 하루내내 공부를 했던 기억이 스쳐 지나간다. 

2️⃣ 이해도
이번 기록을 살펴보니 전체적인 이해도는 약 70%정도로 파악이된다.
기록은 항상 중요하다고 생각하는데, 딥다이브책 같은경우, 처음에 이렇게 정리하기가 힘들었지만, 하고나니 2회독때는 보다 수월하게 진행되었다.

사실, 이해도 같은경우 0~80%까지는 수월하게 올릴 수 있다고 생각한다.
하지만 0~80%까지 올리는 것보다 80 ~90 %까지 올리는게 더어렵고,
0~90%까지올리는것보다 90~99%까지 올리는게 더 어렵다고 생각하기 때문에 아직까지는 멀었다고 생각한다.

2️⃣-1️⃣ 이해도에 대한 기준
음, 글을 쓰다보니 주관적인 이해도에대한 기준을 세워보고 싶어졌다
0-50%는 전체적으로 부족하다. [반복 학습 필요]
50-80%는 책의 어떤부분을 봐도 이게 왜 그런지 알 수 있다. 하지만 질문이 들어왔을때, 대답에 시간이 걸리거나                 못 하는 상태
80%-90%는 어떤 것을 물어봐도 대답할수 있는정도지만, 정리해서 설명하기는 부족한 상태
90~99%는 어떤 것을 물어봐도 정리되어 깔끔하게 말할 수 있는 상태

2️⃣-2️⃣ 이해도에 대한 목표 설정
일단 내년3월에는 취업하는 것이 목표이기 때문에,
취업 면접때까지 90% 이상 까지 달성하는게 내 목표다.
🟥 이 기본기가 IT관해서 별다른 공부를 해본적 없는 나에게 남들과 차별화될 무기가 될 것이라고 생각한다.

3️⃣ 2회독 후 느낀점 
 첫번째는, 
부끄럽지만, 나는 자기객관화가 잘 되어있는 사람이라고 생각하는데, 전체적으로 무엇을 모르는지 잘 파악이 안된다.
클래스를 제외하고는, 다 아는것 같다는 느낌이 든다고 할까?
한편으로는 자신감이 생겼다고 할 수 있는데, 그럼에도 다 안다고  확신할 수 없는것 보면, 부족한거겠지?

클래스가 부족함이 느껴지는 이유를 생각해보면,
사실 리액트에서도 그렇고 클래스를 쓸 일이 딱히 없었기 때문이라고 생각이 든다.
이 부분에 대해서는
✅의도적인 연습을 통해 실제 코딩을 하면서 혹시 헷갈리는 부분이 있으면 다시 돌아가서 읽으면 좋지 않을까?
라는 생각

✅또한 시간을 내어 하나하나 설명해보며[러버덕하며], 모르는 것을 파악해 나가야 겠다고 생각도 들었다.

 두번째로,
이번 2회독을 진행하며 제로베이스 자바스크립트 미션을 리팩토링을 진행하고 있다. 

✅ 미션을 짧게 설명하면, 제로베이스는 자바스크립트 공부기간이 [북스터디의 경우, 5-14주차]로 공부기간이 있고,15-16주차까지 미션5개를 끝내야 한다. 예를들어, 재활용 가능한 아날로그시계만들기, 별점구현하기, 달력만들기와 같은 것들이 있다.

다시 이야기로 돌아가서, 2회독을 하고 다시 미션들을 리팩토링을 진행하고 있는데, 현재12월8일기준 미션3까지 리팩토링을 완료했다. 
하고싶은 말은, 1회독때도 비슷한 이야기를 적은 것 같은데, 확실히 코드 보는 눈이 달라졌고, 또한 이번의 경우 책의 내용들을 실제로 나의 논리에 맞춰 적용이 되는것을 보니 기분이 짜릿함을 느꼈다.
 예를들어, 가장 최근에 진행한 미션3 별점구현하기의 경우, 이전에 그냥 for문을 통해 이벤트 위임도 사용하지 않고, 코드를 되는대로 생각보다 손이 먼저 나가 코드를 구현했었는데, 그래서 돌아가도 이게 돌아가네? 하고 말았지만, 
이번 리팩토링때는 이벤트위임을 통해  깔끔하게 구현했고, 특히 생각나는것은 클릭 이벤트가 발생했을때, customEvent를 생성해   dispatchEvent하는 부분에 전에는 그냥 구현에 집중했다면, 왜 이렇게 돌아가는지에 대한 확실한 이해를 하게 되었다.

 

       [내가 구현한 재사용 가능하게 만든 별점 기능 사진]

 

생각정리 + 앞으로의 계획정리

우선 먼저 말하고 싶은건, 공부에 정답은 없다.
그리고 나는 기본적으로 내가 옳다고 생각하고 말을 하고, 행동을 하지만, 항상 틀릴 수 있음은 생각하고 받아들일 자세도 되어있다.

✅ 클론 코딩에 대한 나의 생각
 나의 경우 노마드 코더의 클론 코딩으로 처음 코딩공부를 시작했었다.
클론코딩도 잘 생각하며 진행하면 좋을 수도 있다? 라는 생각은 든다.
하지만, 공부 초반에, 기본문법도 모른 상태로 클론코딩은 추천하고 싶지 않다.
왜냐하면 정말 아무것도 모르는데, 그냥 따라치기만 한것은, 결과물만 따라친대로 나오지, 내것으로 남는것은 없다는것을 확실히 느꼈기 때문이다.

클론코딩은, 기본기가 좀 있는 상태에서,
예를들어 인스타그램같은 웹어플리케이션을 만들떄, 전체적인 폴더구조와 코딩고수는 어떤식으로 만들구나 정도로 배울것을 잘 생각하고 들으면 도움이 될 것 같다.
🚩 하지만, 기본기가 없는 상태로 저사람이 쓴 코드가 무엇인지도 모르는 상태로 진행한다면 , 시간낭비가 될 것이라고 생각한다. 내가 실제로 그것을 경험했기 때문에, 혹시라도 코딩공부를 시작한다면 나와같은 실수를 하지 않기를 바란다.

🍀 앞으로의 계획
제로베이스19기는 6개월 과정으로 2월에 팀프로젝트를 하고 마무리하는 것으로 계획이 되어있다.
따라서 나는 3월에는 취업할 예정이다.
지금보니 3월1일까지 d-85일 남았다. 😱
시간 너무없는데? 지금 글을 쓰길 잘한것 같다. 

최소한 해야할 것들은 다음과 같다.
✅ 하는중
코딩테스트준비 
면접준비
js,html,css 기본기 다지기

✅ 해야할 것
react기본기다지기, redux복습
typescript 배우기
git & github다루기

✅ 취업까지 만들 기본적인 결과물
개인포트폴리오 웹사이트 [진행중]
리액트 팀프로젝트
개인 리액트 프로젝트 

✅ 하면 좋을것들
next.js
CS지식

 

 

마무리

많은 뛰어난 개발자들이 말하기를 "개발자는 글을 잘써야한다" 라고 말한다.
왜 그럴까? 라고 생각해보면
사실 코딩하는것이 글쓰기와 비슷하기 때문이다. 
논리적인 글쓰기 능력이 있는 사람은 대부분 코딩을 잘한다고 한다. 

나는 부족한게 너무 많은것 같다.
하지만, 부족함을 안다는것은 성장의 출발점이다.

안되면 될때까지 할것이고, 나는 내가 목표한 것은 반드시 이루는 사람이기 때문에,
지금처럼만 꾸준히 하되, 
올바른 방향으로 나아간다면,
끝까지 가면 내가 원하는 사람이 될 수 있다.