WIL 2주차(TIL 14일차) - Javascript 전반부 파트 마치며

박찬웅·2023년 2월 18일
0

항해99

목록 보기
19/105

23년 2월 19일

배운 것

이번 한주 동안 배운 것은 본격적으로 Node.js 주특기를 배우기 전에 해당 언어인 JavaScript를 본격적으로 공부를 시작하였다. 주로 한 것은 문법과 알고리즘 코딩테스트 문제 풀이를 하였다.

시도 한 것

월요일과 화요일에는 Javascript의 대해서 정의를 배우고, 여러가지 기본 문법을 배웠다. 월요일에는 기본적인 문법을 배웠고 자바스크립트의 유래, 왜 쓰는지, 그리고 어디에 주로 사용되는지를 알게 되었고, 기본적인 문법인 연산자, for문, if문 등 실제적으로 기본적으로 쓰는 것을 배웠다.
그리고 화요일에는 조금 더 심화적인 내용으로 자바스크립트의 함수 적인 기능이나 그리고 각종 메소드를 배웠다. 또한 엄청 많은 ES6 메소드 들도 엄청 많지만, 셀수 없이 많아 여전히 이번주를 끝나고도 전부 외우지 못했고, 그때마다 인터넷에 구글링을 하는게 대부분이였다. 실제로 개발자들도 전부 외우고 쓰지 않고, 일부 자주 쓰는 메소드만 쓴다 했고, 모르는건 직접 찾아서 쓴다고 말하였다.
그렇게 이틀간 문법만 공부를 하고 난뒤 수요일부터는 본격적으로 프로그래머스 스쿨에서 코딩테스트 문제를 풀기 시작하였다. 총 4일동안 향해99에서 기본적으로 풀어야 하는 문제는 28문제였다. 첫날에는 아직 익숙하지 않고 모르는게 많아서 많이 못풀까도 걱정했지만 첫날에는 11문제를 풀었다. 그날 아예 못푼문제가 1문제 있었던걸로 아는데 행렬의 덧셈은 나한테 힘을 다 뺀 문제가 아닌가 싶다.
그 뒤로 목요일에도 11문제를 더 풀어 총 22문제를 풀었다. 이날에도 1문제를 아예 못 푼 문제가 하나 있었는데, 그 문제만 특이하게 효율성 테스트도 같이 해서 난이도가 하늘을 찔렀던 난이도였다. for문을 이중으로 쓰면 효율성 테스트에서 떨어졌기에 for문 하나로만 가지고 푸는건 힘들었던 기억이 아직도 생각난다. 팀원들과도 같이 못풀었으니 레벨1 답지 않았던 난이도였다.
금요일에는 목표치였던 28문제를 모두 풀었다. 하지만 이날도 만만치 않았던게 20번대를 넘기게 되면서 이제 단순하게 for문과 if문만 가지고 풀 수 없는 문제가 대부분이였고 이때부터는 메소드 문법도 사용을 하기 시작해야 했다. 그래서 구글링만 엄청해서 다시 문법을 배우고 그런 것을 많이 하게 되었다. 추가적으로 챌린지 문제도 더 있는데 이건 아래에서 자세히 더 설명하겠지만 4문제를 더 풀었다.
마지막 토요일에는 월요일 코딩테스트 시험 대비로 모의고사 3문제랑, 챌린지 문제 4문제를 더 풀었다. 그리고 이전에 봤던 문제들을 보고 내가 그때 왜 이렇게 적었는지를 회고하는 시간을 가지면서 복습을 하였다. 마지막으로 그동안 풀었던 문제 답안 코드들을 Git에다도 모두 올렸다.
블로그엔 올리진 않았지만 28문제 다 푼 사람들을 위해 추가 챌린지 문제 12문제, 진 챌린지 14문제 더 존재하였다. 이 문제는 필수는 아니지만 기본 문제를 다 풀고 남는 시간에 더 풀라고 지원했던 문제였는데 나는 챌린지 문제 8문제 더 풀었다. 챌린지 문제는 기존 28문제보다도 더 난이도가 높아서 거의 반포기 한 문제들이 대부분이였다. 그래도 남는시간 버리지 않고 최대한 더 풀어보려고 노력을 하였다. 그렇게 시간이 잘 안 갔던 한 주가 다 지나갔다.

해결

그렇게 내가 이번 한 주동안 푼 코딩테스트 문제는 기본 28문제, 챌린지 8문제, 모의고사 테스트 3문제를 풀어 총 39문제를 풀었다. 물론 혼자 스스로 푼건 6~70퍼 밖에 안된다. 나머지는 팀원들에게 조언을 받고 풀었다. 끝까지 팀원들과 풀지 못하고 다른사람의 해답을 보고 코드를 이해한 건 4문제 정도 있었다.

알게 된 점

시도 한 것 파트 글에선 본인이 뭘 했는지 위주로 적었지만, 사실 이 외에도 여러가지 공부 하는 방법을 더 배웠다. 문법시간에는 팀원들과 함께 자바스크립트의 다양한 정의를 한번 구글링 해서 찾아보고 왜 이런건지를 의논을 하였다. 코딩테스트 시간에는 팀원들이랑 같이 푼 문제를 공유 하며 다양하게 푸는 방법들을 배우게 되었다. 내가 적은 코드랑 비교하면 확실히 많은 차이가 나기도 했다. 그외로 인터넷에서 답을 적은사람들도 있는데 상식을 뛰어넘는 답안도 존재하였고 아예 단 한줄만 코드를 작성해서 푸는 대단한 사람들도 많았었다. 이런것을 보고 겁도 나긴 했지만, 열심히 더 잘 해야겠다는 것을 알게 되었다. 페어 프로그래밍 이라는 방법도 배웠는데 이건 두명씩 짝 지어서 한사람은 코드를 짜고, 다른 한사람은 작성 하는 분에게 이렇게 적어보는건 어떨지 오더를 내리는 것이였다. 이 방식은 한명은 풀었는데, 다른 한명이 못풀었을 때 도움이 많이 되었다. 나는 아는 문제인데, 팀원은 못풀겠다면 내가 풀었던 방법으로 그분에게 직접 적어보라고 시켜서 다시 한번 복습하는 계기가 되었고, 내가 모르고 팀원이 알 때에는 직접 코드를 짜서 어떤 코드로 작성하였는지 왜 이렇게 적었는지를 보면서 코드들을 이해하는데 큰 도움이 되었다.
마지막으로 아주 잠깐이긴 했지만 스터디 모임을 가졌었다. 보통 팀원들이랑 잠깐 2~3시간동안 코딩테스트 문제 적은거 공유 하는 시간 빼면 나머지는 사실상 혼자 공부해야 한다. 이러면 지루하기 마련인데 이때 스터디 모임으로 더 많은 공유를 할 수 있었다. 비록 하루밖에 못했지만 다음에 누군가 또 스터디 모임을 추진하게 된다면, 앞으로도 참여 하고 싶어 졌다.

앞으로 할 일

지금 작성하는 시점은 18일 토요일인데, 일찍 끝나서 미리 WIL를 적었다. 오늘 부로 자바스크립트가 완전히 끝난게 아니다. 돌아오는 월요일에는 코딩테스트 시험이 있다. 마지막까지 복습을 해야 하고 오전에 마지막 공부 할 수 있으니, 지금까지 내가 적었던 코드들을 보면서 복습 할 계획이다.화~목에는 심화적인 문법을 공부하게 되고, 금요일부터 본격적으로 주특기 Node.js 공부를 시작하게 된다. 벌써 2주차가 지났고 앞으로 3개월만 지나면 수료인데 그 때까지 무사히 잘 할 수 있기를 기원하면 두 번째 WIL을 마친다.

profile
향해 13기 node.js 백앤드

0개의 댓글