DODONOT Dev
article thumbnail

2달간 북스터디에 집중하며 드디어 모던 자바스크립트 딥다이브를 완독하였다.

 

 

축하~~~!! 🎉🎉🎉

 

중간에 다소 힘들고 안타까운 일들도 많았지만 북스터디 만큼은 우리 팀원들과 잘 끝내고 싶었는데 무사히 마치게 되었다.

북스터디 중간 중간 한 사람씩 사라지다가 마지막 날에는 4명 정도 이탈한 것 같았다.

 

북스터디 첫날(왼쪽) 마지막날(오른쪽)

 

 

모던 자바스크립트 딥다이브를 완독하면서

한 챕터 몇 페이지 읽는데 몇 시간이나 걸렸다.

자바스크립트를 당당하게 전혀 모른다고 할 수 있을 수준이었던 나는 책의 한 챕터만 읽어도 몇시간씩 쓰면서 읽을 수 밖에 없었다.

 

첫번째로, 챕터 하나를 읽으려고해도 A와 관련된 개념인 A-1, A-2, A-3 ..등등의 개념들이 대거 쏟아져 나왔다.

넘어가려고 하니 다음 문장이나 단락이 이해가 안갔기에 A-1, A-2, A-3 ..등등의 개념들을 검색해가며 가볍에 습득하고 넘어가는 수 밖에 없었다. 강사님은 이것을 '앨리스 굴' 이라고 표현하셨고 빠지면 안된다고 하셨지만, 나는 정말 책 내용이 이해가 안가 알면서도 앨리스 굴에 빠지는 수 밖에 없었다. (얕게 빠지려고 노력했다..)

 

두번째로, 문장 하나 하나가 쉽지 않았다. 개념들이 압축되어 있거나 다른 파트들과 굉장히 밀접하게 연관되어 있었다. 

더 천천히 더 머릿속으로 곱씹으면서 읽어야 그제서야 이해가 되고 문맥이 보이는 문장들이 많았다. 또 이전에 배웠던 개념이라도 나오면 이전 개념들을 다시 상기하거나 복습하거나 찾아보면서 읽어야 했다. 즉 기본기가 없던 나는 단락을 읽더라도 내가 해야하는 액션들이 많았다. 

 

세번째로, 예제 코드를 확인하거나 직접 쳐보면서 학습하였다.

점점 코드가 익숙해지면서 읽히는 코드들이 많았지만 손으로 치는 코드는 다르기 때문에 코드를 쳐가면서 이해하려고 노력했다. 코드가 너무 긴 경우나 스터디 때문에 책을 정독할 시간이 부족할때 웹에 누군가 예제 코드를 게시해 놓은 코드를 복사하여 이용하였다.

아래는 함께한 스터디원이 공유해주었던 사이트이다. 4조 스터디원 분들 만만세~~^3^!

 

치지않고 복사한 경우에 이용하였던 사이트 : https://github.com/wikibook/mjs

 

GitHub - wikibook/mjs: 《모던 자바스크립트 Deep Dive》 예제 코드

《모던 자바스크립트 Deep Dive》 예제 코드. Contribute to wikibook/mjs development by creating an account on GitHub.

github.com

 

또한 챗GPT나 MDN을 통해서 다른 예제 코드를 확인하면서 이해하려고 노력했다. 정말 이해가 안가거나 개념이 뒤섞이면서 혼란스러운 경우에 챗GPT 보다 좋은 방안이 없었다. 내가 궁금한 부분을 확인하고 옳은지 검증하는 과정이 정말 큰 도움이 되었다.

 

네번째로, 추가적인 학습이 있었다.

읽었으나 붕뜨는 것 같은 개념의 경우에는 유튜브 영상을 적극활용하였고, ECMA가 업데이트 된 최신 문법의 경우 찾아보고 함께 읽어보면서 학습하였다. 시간을 쏟았음에도 한번에 이해할 수 없는 개념들이 많았기 때문에 읽고 까먹고 반복하거나 방금 본 부분이 기억이 나질 않거나 흐릿한 경우도 많았다. 그럴때는 추가적인 학습을 활용하려고 노력했다. 그러나 시간이 없는 경우에는 궁금증 표시를 해놓고 패스한 후에 스터디때 질문하거나 하는 방식으로 해결하였다. 

 

모호하게나마 자바스크립트의 흐름이 보이기 시작했다. 

나는 자바스크립트를 프로그래밍 언어로 처음 접했으나, 이 친구도 베이비 시절이 있었고 만들어졌을 당시의 목적이나 웹 시장으로 인해 현재 많은 애로사항들을 겪고 있다는 것을 알게되었다.

 

또한 단지 React와 같은 프레임워크나 Vue.js같은 라이브러리가 가상 DOM을 사용해 퍼포먼스를 증대 시키기 위해서만 사용하는 것이 아니란 것을 알았다. 아직 설명하려면 부정확한 표현들이 튀어나오고 모호하게 말하게 되지만 컴포넌트나 상태 관리등을 통해, 자바스크립트의 고질적인 문제를 해결 하면서 좀더 직관적으로 사용할 수 있도록 이런 부분들을 해결해준다는 것을 개념적으로 깨달았다.

 

개념적으로라고 말하는 이유는 나는 아직 자바스크립트로 제대로된 실습도 리액트를 활용한 실습도 해보지 못했기 때문이다. 비유를 하자면.. 영어 회화는 못하지만 영문법은 숙지한 정도와 비슷한 느낌일 것 같다. 

 

내가 프로그래밍을 진짜 좋아한다는 것을 깨달았다.

익숙해지면 괜찮지만 몇 시간이고 같은 작업을 반복할 수 있다는 것은 정말 엄청난 일인것 같다. 책을 읽고 나면 강의가 듣고 싶고 또는 코딩테스트로라도 코딩이 하고 싶어졌다. 그렇게 하다보니 정말 못할때는 5시간 정말 집중하고 시간을 쏟을때는 12시간 정도 한 것 같다.

 

코딩테스트는 레벨 0부터 해보고 있는데 덕분에 코딩테스트에 재미가 들렸고 혼자 신이나서 공부하다가 머리에 열이 오르는 듯한 기분이 들면 코테를 풀고는 했다. 백준허브를 설치해서 프로그래머스에서 코딩테스트를 보고 바로 커밋하고 있다. 1일 1커밋도 좋겠지만 사실 꾸준히 풀고 제대로 하는게 중요하다고 생각하기도 하고, 내가 하루에 어느정도 하고 있는지 정확하게 알고 싶었기 때문에 푸는 대로 커밋을 보냈다. 커밋이 빠진 날이 있더라도 괜찮다고 생각하고 있다. 난 내가 열심히 공부하고 성장하는 모습들을 커밋뿐만 아니라 다양한 방식으로 증명해보이겠다고 다짐하고 있다! ❤️‍🔥🔥❤️‍🔥🔥

 

새로운 개념을 알아갈때마다 빨리 나도 제대로 된 프로젝트 하나를 하고 싶다는 욕심이 생긴다. 데이터 송신을 하며 상호작용이 가능한 그런 서비스를 너무나도 만들고 싶다. 정말 너무 만들고 싶다. 진짜 ㅠㅠ..두근두근..

한걸음 한걸음 매일 성장해야지.. 거북이도 꾸준히만 가면 골인이다. 내 목표에 골인!

 

긍정적인 경쟁의식을 배우고 동료를 만났다.

프로그래밍을 하면서 항상 한계에 부딪히다 보니 (이해하는데 시간이 많이 걸리거나, 남들과 수준차이가 난다거나, 내가 바라는 만큼이 되질 못한다거나 하는 등의) 나는 자책하는 시간도 자주 갖게 되었다. 그러나 지금은 이런 나를 받아 들이고 내 템포를 생각하면서 나에게 집중해서 꾸준히 하려고 노력하고 있다. 

 

이 과정에서 함께 공부했던 4조의 도움이 매우 컸다. 나는 4조의 리더를 맡고 있었고 4조 팀원 모두 적극적인 분위기 속에서 열정적으로 자신의 일을 꾸준하게 해 나갔기에 동료끼리 서로 도와주며 성장하는게 컸다고 생각한다. 그 덕분에 동료의 소중함 또한 알게 되었다.

잘하는 사람이 있으면 그 분께 배워가며 나를 성장 시킬 수 있었고, 나도 얼른 그 분과 같이 다른 사람들을 도와주고 잘하고 싶었기에 주변에 알게 되는것이나 궁금한 것들을 찾아보며 습득하려고 더 노력하게 되었다.

 

부트캠프와는 별개로 만들어 방치되는 느낌을 줄이고자 했던 ZAP

내 부지런함은 이런 4조의 긍정적임 속에서 조금씩 성장하고 있다고 생각한다. 그래서 우리 팀원들에게 정말 감사하다.

4조는 조원 한 분의 추천 속에서, 따로 젭을 만들어 함께 공부하면서 마치 부트캠프에서 방치당하거나 허허벌판에 혼자 있는 듯한 느낌이 들지 않게 하려고 모두 함께 최선을 다했다.

 

정말 한명 한명 사랑스러운 조원분들이었다. 다른 조에서 나가는 분들이 발생할때 4조는 거의 마지막까지 함께 했는데 안타깝게도 한 분이 개인사정으로 개발쪽을 그만두게 되었다..ㅠㅠ..많이 아쉬웠다. 

 

또한 4조 팀원들과 그리고 다른 조의 2분까지 함께해 따로 만나서 북스터디 마무리 회고를 하는 시간을 가졌다.

파티룸을 잡고 함께 즐거운 시간을 보냈는데 이 사람들 정말 개발에 대한 열정이 넘쳐 술을 마시더라도 개발 얘기를 엄청 하고 개발 유머를 던지고 너무 웃겼다.ㅋㅋㅋㅋ

 

항상 온라인으로만 보다가 이렇게 오프라인으로 만나게 되니 반갑지 않을 수가 없었다.

나는 4조가 아니었다면 동료끼리 서로 성장시키는 퍼펙트한 조의 모습을 모를뻔 하였고, 그저 방치 속에서 혼자 공부하는 듯한 느낌을 지울 수 없었을 것이다. 4조가 있었기에 이렇게 끝까지 북스터디를 행복하게 마무리 할 수 있었다고 생각한다.

4조 만나서 너무 감사했어요! 예쁘고 고마운 4조 + 명예 4조분들 ㅎㅎ

이후의 나는

북스터디를 통해 배웠던 개념들을 적용하는 수업을 찾아 들어보겠다.

북스터디에서는 자바스크립트의 유래부터 메서드의 기능 그리고 문제점과 솔루션등 다양한 개념들이 복합적으로 등장했었다. 

아직 자바스크립트를 따로 실습한 강의를 들어본 적이 없어 그 부분에 관해서 커리큘럼이 있는 강의로 보충을 하고 싶다. 

프로그래머스 코딩테스트에서는 0레벨 문제들을 풀고있는 상태지만 디테일하게 적어가며 부족한 개념들에 대해서 보충하고 나의 이해도를 체크하고 있다. 



모던 자바스크립트 딥다이브를 다시 회독하기로 했다.

완독했지만 모든 챕터를 제대로 다 이해한 것은 아니다. 오히려 수치적으로 환산하면 나의 이해도는 30% 정도 밖에 되지 않을지도 모르겠다. (그것보다 더 적을수도 있고..) 

그렇기 때문에 처음과는 또 다르게 좀 더 향상된 이해도를 가지고 읽을 수 있을테니 모던 자바스크립트 딥다이브를 다시 회독하고자 한다. 

 

다른 도서에도 관심이 생겨 더 읽어보기로 했다.

딥다이브 책을 읽으면서 XMLHttpRequest() 파트를 읽게 되었었는데 서버랑 통신하는 내용이 너무 재밌었기에 그 부분과 관련된 http와 네트워크 책을 함께 읽어보기로 했다.

둘 중에 정말 읽을 책은 <그림으로 배우는 Http & Network Basic> 이다.

가장 최신에 나온건 분홍색의 <그림으로 쉽게 이해하는 웹/HTTP/네트워크>이지만 해당 내용은 웹 전반을 아우르고 핵심적인 부분만 떼어내어 정리한 듯한 느낌이었다. 내용을 읽어보니 정말 쉽게 정리하긴 했더라..🥹

 

하지만 읽고 싶은건 좀 더 전문적인 내용이었기에 우선적으로 Http & Network Basic 책을 읽기로 하였다! 😁

다른 책은 다음에 기회가 되면 읽을 생각이다.

 

<그림으로 배우는 Http & Network Basic> 목차 중 1~2장

eBook이 없어 종이책으로 사왔다ㅎㅎ

벌써부터 두근두근하다.........ㅎㅎㅎㅎㅎ 이번책도 다 읽고 회고를 올려야지. 파이팅 🔥

profile

DODONOT Dev

@두두나 Dev

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!