1주차 회고: https://laurent.tistory.com/entry/부스트캠프-9기-챌린지-1주차-회고
3주차 회고: https://laurent.tistory.com/entry/부스트캠프-9기-챌린지-3주차-회고
4주차 회고: https://laurent.tistory.com/entry/부스트캠프-9기-챌린지-4주차-회고
챌린지 과정 회고: https://laurent.tistory.com/entry/네이버-부스트캠프-9기-챌린지-회고
2주차도 정말 순식간에 지나갔다.
이번주에도 구현과 학습의 균형을 맞추려고 노력했다. 학습도 많이 하고 구현을 최대한 해내려고 끝까지 포기하지 않으려 했던 것 같다.
전체적으로 저번주보다는 체크포인트도 많아지긴 했지만 1주차 밋업에서 들었던 ‘체크포인트를 채우고 말고는 중요하지 않다’고 했던 말씀이 계속 생각났다.
그래서 체크포인트를 반 정도 채우면 무조건 학습 정리에 들어갔다.
그렇게 한 것 덕분에 같은 동료들보다 정리를 많이 해낼 수 있었다.
피어 세션 중에 한 분은 나에게 정리한 것을 읽고 도움이 되셨다고 말해주셨다.
이런 이야기를 들을 때마다 정리를 제 때 하길 잘했다 느꼈고 정말 뿌듯했다.
이번 주 회고부터는 매일 어떤 일이 일어났었는지 간략하게 적어보겠다.
나중에 돌아봤을 때 날짜별로 무슨 공부를 했는지도 중요한 것 같아 이렇게 바꾸어보았다.
타임라인
6일차
클래스와 오브젝트는 전공 수업에서 공부했고 여러 번 접했던 내용들이어서 생소한 개념들은 아니었다.
소화하는데 어려움은 없었던 것 같다. 이 날은 오브젝트 책 읽으면서 다른 날에 비해 가볍게 학습 정리 하면서 지냈던 것 같다.
SOLID도 아직 정리하지는 못했지만 이전에도 여러 번 봤었던 개념들이라 주말에 공부하는데 큰 지장은 없을 것 같다.
저 단어를 처음 봤던게 부대 사무실에 꽂혀있던 클린 아키텍처
책 안에서였다. 나름 유명한 책이어서 기대를 하고 읽었었는데, 웬걸. 그 당시의 나에게는 수준이 너무 높았다.
https://product.kyobobook.co.kr/detail/S000001033082
공부할 목적으로 사무실 책을 생활관에 가져와도 됐었다. 오래 독점하지만 않는다면…
그래서 생활관에서 어떻게든 읽어보려고 빈 공책에다가도 써보고 아등바등했지만 결국 이해하지 못 하고 사무실에 다시 돌려놓았다.
여담이지만, 사무실에는 클린 아키텍처 책 말고 여러 가지의 개발 서적들이 많았다. 내가 가져다놓은 책들도 있었고, 누군가에 의해 기증된 책도 많았다. 군 부대에 여느 있던 진중문고도 늘 자리를 지키고 있었다.
지금 이 회고록을 쓰면서 책 목차를 다시 보니까 이번 챌린지에서 했던 내용들이 거의 다 들어가있다.
학교 도서관에 가서 빌려와 집에서 다시 읽어봐야겠다.
확실한 것은 그 때보다 흡수할 수 있는 내용이 더 많을 것 같고, 그래서 조금 기대가 된다.
7일차
File 구성 체계, 테스트, 예외 처리, 정규표현식 등을 주로 공부했었던 것 같다.
정규표현식은 적응하는데 시간이 좀 걸릴 것 같지만, 개념 자체가 어렵지 않아 이해하는 데 문제는 없었다.
테스트의 경우 Jest 라이브러리를 사용했다. 처음에는 어떻게 테스트를 짜야할지 막막했다.
근데 수요일, 목요일에 미션을 수행하면서 어느 순간부터 console로 찍는 것이 믿음직스럽지 않았다.
이왕 값을 검사하는데 타입까지 검사해보면 좋지 않을까? 싶었다.
왜 타입 검사를 고민했냐면, 자바스크립트는 타입스크립트와는 다르게 타입을 강제할 수 있는 수단이 확실하게 없어서 정확하게 판단하고자 찾아보았다. 테스트 코드가 이 상황에서 도움을 줄 수 있을 것 같았다.
그런 작은 도전에 의해 테스트 코드를 적극적으로 적어보려 했던 것 같다.
미션 체크리스트에 테스트 코드 작성 관련 요구사항이 없어도 의도적으로 테스트를 수행하면서 결과값을 받아보려고 노력했다.
그렇게 하니까 화요일에 비해 어느 정도 체계가 잡혔다.
메서드별로 묶어보고 다양한 매처들을 사용해보려고 노력했다. 전체적으로 소화하는데 큰 어려움 없었다.
8일차
함수형 프로그래밍, 클로저, 렉시컬 스코프 등 자바스크립트가 내부를 조금 더 깊게 파고들어볼 수 있었던 시간이었다.
원래 함수형 프로그래밍이 자바스크립트 개발자에게 중요하단 것은 알고 있었지만 항상 어렵게 느껴져 공부해야 한다는 마음만 가지고 있었다.
이번 기회에 순수함수에 대해 깊게 고찰해볼 수 있었고 커링 방식, 모나드 등 기존에 단어만 들어봤던 내용들도 다시 공부할 수 있었다.
9일차
기존에 pub/sub 패턴이란 이름은 알고 있었지만, 정확히 어떤 원리로 이루어지고 이 패턴이 왜 나오게 되었는지는 몰랐다.
반대로 동기/비동기에 대한 개념들과 자바스크립트 문법들은 어느 정도 알고 있었지만, 이를 node.js의 EventEmitter로 구현하는 것은 상상도 해보지 못했던 주제였다.
node에서도 이렇게 동기적으로 코드를 실행할 수 있다는 것을 배우게 되었다.
이벤트 루프, 태스크 큐에 대해서도 알고 있었다고 생각했지만 다시 보니 기존에 몰랐던 부분들도 알아가는 시간이었다.
적응은 됐지만.. 여전히 힘듬
이번주에는 미션이 하루에 2개씩 나온 날이 2번이나 있어서 더욱 힘들었던 것 같다.
난이도도 쉽지 않아서 구현하는데 골머리를 앓았다. 나름 미션에 적응했다고 생각했는데 아니었다.
시간 나면 구현해야겠다 생각해도 결국 주말에는 그만큼 쌓여있는 학습 정리들로 인해 하지 못했다.
이러다 챌린지 다 끝나고 할 수 있지 않을까 싶었다. 근데 챌린지 끝나도 여전히 학습 정리를 하고 있을 것 같다.
학습 정리의 중요성
1주차 밋업때 한 수료생 분이 해주셨던 말 중 ‘챌린지 중 작성한 학습 정리 내용을 아직도 보면서 공부한다’고 하셨다.
직접 해보니까 왜 그런지 알게되었다. 지금까지의 전공 공부는 한 번 보고 나면 금방 증발되고 시험이 끝나면 사라지는 그런 존재였다.
하지만 챌린지 미션들이랑 함께 하니 전공 공부 효율도 좋아지고 이상하게 머리에 더 잘박힌다.
정확하게 인과관계가 어떻게 이루어져서 효율이 이렇게까지 좋아지는지 정확하게는 알 수 없지만, 부스트캠프 끝나고 학교에 돌아갔을 때 학점이 정말 잘 나올 것 같다.
아직까지 왜 이렇게 효율이 좋은지 설명할 수는 없지만, 곧 알게 될 것이라 생각한다.
다시 도전
기존에 읽고자 시도했던 책들이 몇 가지 있다. 함수형 자바스크립트 프로그래밍
(유인동님), 모던 자바스크립트 딥다이브
(이웅모님)가 그 대상이다.
또한 단순히 읽는 것을 넘어 마스터하고 싶었던 책도 있는데, 바로 프론트엔드 개발을 위한 테스트 입문
책이다.
이 책은 서평 작성 활동으로 받았던 것인데, 테스트를 잘 하면 코드가 원하는 대로 잘 동작한다는 이야기를 듣고 관심을 가지게 된 것 같다.
하지만 그 당시에는 어렵기도 하고 실제로 써먹을 기회가 없어서 점점 잊혀져갔다.
평소에는 엄두도 내지 못했던 내용들인데 미션을 수행하면서 실제로 적용해야 했고 그 과정에서 책의 지식이 꼭 필요했다.
내용을 이해하기 위해서는 꼭 책이 아니어도 된다. 왜냐하면 요즘 블로그들 잘 나와있고 많은 양의 정보들이 나와있다.
근데 책처럼 체계적인 목차와 구조적인 무언가가 필요했었다. 무엇보다 적혀있는 내용들은 인터넷에 있는 것들보다 신뢰할 수 있었다.
특히 테스트 관련 책은 서평으로 받았지만 진짜 너무 유용했다.
내용이 그렇게 심오하지 않아서일 수도 있지만, 지금까지 받은 책 중에서는 가장 잘 활용하고 있다.
자바스크립트는 생각보다 깊다
자바스크립트 딥다이브
같은 경우, 그 동안 심오한 내용을 실제로 사용할 일이 없어서 공부하면서도 집중이 잘 안되고 배운 내용들이 쉽게 잊혀졌던 것 같다.
이번주에는 함수형 프로그래밍에 대해 다시 살펴보고 특히 Promise
에 대해 집중적으로 공부했다.
async/await
도 그 동안 제대로 이해하지 못하고 썼었는데 지금은 어느 정도 근거를 가지고 사용하기 시작한 것 같다.
동기와 비동기를 좀 가볍게 생각했었는데, 생각보다 까다롭고 복잡했다. 자바스크립트는 정말 파도 파도 뭔가가 계속 나온다.
DX에 대해서도 최대한 해치지 않으면서 어떻게 효괒거으로 사용할지 고민해보는 좋은 기회였다.
'Life > 네이버 부스트캠프' 카테고리의 다른 글
[부스트캠프 9기 챌린지] Day 13-14 (0) | 2024.07.31 |
---|---|
[부스트캠프 9기 챌린지] Day 11-12 (0) | 2024.07.30 |
[부스트캠프 9기 챌린지] Day 9 (0) | 2024.07.26 |
[부스트캠프 9기 챌린지] Day 8 (0) | 2024.07.24 |
[부스트캠프 9기 챌린지] Day 7 (0) | 2024.07.23 |
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!