본문 바로가기
  • soldonii's devlog
Javascript 공부/바닐라코딩

바닐라코딩 prep 코스 이후

by soldonii 2019. 12. 3.

안녕하세요, 바닐라코딩 prep 코스 수강 이후 부트캠프 7 과정 시작을 앞둔 일개 예비 개발자입니다.ㅎㅎ

보잘 것 없는 블로그인데, 그래도 1000명 정도 방문해서 제 글을 읽어주셔서 많은 분들께 감사의 말씀 드립니다. 통계를 보니까 거의 절반에 가까운 분들이 제 바닐라코딩 후기 글을 보러 많이 방문해주시는 것 같아서 혹시 도움이 될까 싶어 prep 코스 이후 진행 상황을 간략하게 기록하고자 합니다.

 

바닐라코딩 등록을 고민하는 분들, prep 코스의 진행 방식 등 각종 궁금하신 점들에 대해서 댓글로 남겨주시면 답변해 드리겠습니다.

 

굳이 이 글을 따로 남기는 이유는, 저 또한 처음 개발자가 되겠다고 결심한 이후 여러 블로그 후기 글을 읽으면서 좋은 학원을 찾기 위해 부던히도 애썼는데, 그럼에도 시행착오를 겪게 되더라구요. 시행착오를 겪으면 사실 돈도 꽤 날리게 되고, 개발자가 되기까지 계획했던 인생의 타임라인도 망가지는 등 여러 부작용이 많습니다.

 

같이 공부하는 사람으로써, 제 글을 읽고 한 분이라도 시행착오를 줄일 수 있다면 좋을 것 같아서 글을 쓰려고 합니다. 물론 제가 다른 블로그를 읽으면서 받았던 도움에 대해 제가 보답할 수 있는 유일한 방법이기도 하구요. 참고로 저는 바닐라코딩 prep 코스 이전과 이후로 약 3-4달 정도는 혼자 공부하는 시간을 가졌었고, 현재도 부트캠프 들어가기 전까지 혼자 공부하고 있습니다. 질문에 도움이 될까 싶어서 말씀드립니다. ㅎㅎ

 

부트캠프 어드미션 테스트 관련 질문은 답변해드리지 않습니다. 제가 답변드릴 내용이 아니므로, 많이 궁금하시면 바닐라코딩 홈페이지를 통해서 학원 측에 질문해주세요.

 

1. prep 코스 합격 이후 추가 과제

# Hacker News 카피 웹사이트 만들기

이전 후기 글에서도 적었지만, prep 코스를 진행하면서 carousel, 두더지 게임, 캘린더 앱 만들기, 캘린더 및 todo-list 연동하기 등의 과제를 진행하게 됩니다. 이후 어드미션 테스트에 합격하면 Hacker News API를 이용해서 Hacker News 카피 웹사이트를 만드는 과제가 주어집니다. 이 과제는 비동기에 대해서 이해하는게 메인 목표인 듯 합니다.

 

이 과제를 하면서도 느낀거지만, 참 역시나 알고 있는 것과 직접 해보는 것은 너무나 큰 차이가 있습니다. 저도 udemy에서 여러 강의 들으면서 비동기에 대해서 개념적으로는 알고 있다고 생각했는데, 아주 간단한 요청과 응답을 주고받는 것임에도 처음 해보니 쉽지 않더라구요. (지금도 처음 로딩시간이 길어서 제대로 됐는지는.. 약간 의문입니다.. ㅎㅎ)

 

# 지뢰찾기 게임 만들기

Hacker News 과제가 끝나면 지뢰찾기 게임을 만드는 과제를 또 주십니다.(ken 님이 참고하라고 주셨던 지뢰찾기 게임) ken 님께 여쭤봤을 땐, 지뢰찾기 알고리즘이 생각보다 복잡해서 알고리즘 문제 + 웹 구현 연습하는 느낌으로 해보라고 하셨습니다. 제가 아직 허접이라 이 과제 만드는데 한 4일 정도 걸린 것 같은데, 정말 쉽지는 않더라구요. 그래도 어떻게 잘 만들어 낸 것 같은데 이 과제는 현재까지는 버그도 따로 없는 것 같고, 개인적으로 좀 뿌듯한 과제입니다 하핫.(혹시 버그를 발견하신다면 말씀을.. 부탁드려요....ㅎㅎ)

 

개인적으로 이 과제의 알고리즘 측면에서 가장 어려웠던 부분은 숫자도, 지뢰도 없는 빈 공간을 클릭했을 때의 알고리즘이었어요. 지뢰를 클릭하면 그냥 게임 오버가 되고, 숫자를 클릭하면 그 부분만 열어서 숫자를 보여주면 됐는데, 빈 공간을 클릭하면 클릭한 곳을 포함해서 주변에 빈 공간들과 경계선의 숫자들까지 다 그려내야 하는데, 여기가 참 어려웠습니다. 사실 HTML로 구조 짜고, CSS로 꾸미고, 자바스크립트로 기본적인 기능들 다 입히는데까지는 한 2일 걸린거 같은데, 이 빈 칸 관련 알고리즘만 한 2일 잡아먹은 듯 합니다...ㅎㅎ 결국 저는 재귀함수를 이용해서 해결했는데 혹시 이 과제를 하실 분이 있으시다면 고민해보시고 같이 이야기 나눠봐도 좋을 것 같습니다. 이거 해결했을 때 희열이 얼마나 느껴지던지..ㅎㅎ

 

지뢰찾기 과제를 하면서 IIFE, 고차함수 활용, 클로져 활용에 대해서도 많이 연습했는데 진짜 도움이 많이 된 것 같습니다. 물론 더 복잡한 것들을 마주하면 또 헷갈리겠지만요. 그리고 이 과제에서는 처음으로 state라고 해야 할까요, 어디에서나 접근 가능한 state를 객체로 만들고, 어떤 user interaction이 일어날 때마다 이 state의 값을 변경시켜주는 식으로 데이터 관리를 조금이나마 간접적으로 경험해보려고 노력했습니다. 사실 그 이전 과제들에서는 제가 잘 몰라서, 어떤 state의 관리 개념보다는 그냥 그 때 그 때 화면에서 변경된 것처럼 보이게만 했던 것 같더라구요. 기초적인 수준으로 실습했지만, 이번 과제를 토대로 다음에 무언가를 구현할 때에는 조금 더 데이터 관리를 잘 할 수 있을 것 같습니다.

 

제가 했던 과제들은 제 github에서 확인하실 수 있습니다. prep 코스에서 제출해야 하는 carousel 등의 과제들은 일부러 자바스크립트 파일은 빼고 업로드 했습니다. 직접 해보시고 ken 님께 피드백 받으셔야 하니까요. 

 

2. 부트캠프 7 들어가기 전까지

저는 2019년 10월 30일에 부트캠프 어드미션 테스트를 봤고, 합격해서 11월 8일에 부트캠프 결제를 했습니다.

prep 코스 수강하면서는 자바스크립트의 중요 개념들 및 프로그래밍 패턴 - 클로져, 프로토타입, 객체지향 프로그래밍, 함수형 프로그래밍 등 - 에 대해서 udemy를 통해서 공부했습니다. 해당 글들은 여기에서 확인하실 수 있어요.

 

그리고 어드미션 테스트 통과 이후에는 위에 과제들 하면서 자료구조랑 알고리즘(정렬, 탐색 등..) 에 대해서 좀 공부하고 있습니다. 근데 공부해도 배열이랑 객체만 거의 쓰고 나머지 애들은 소화가 잘 안 되어 있다는게 문제네요.. 얼른 12월 한 달간 빡세게 복습해야겠습니다. 어쨌든 수강은 다 했는데, 해당 글들은 여기에 기록해 놓았습니다.

 

부트캠프 7이 2020년 1월 6일 시작이라, 그 전까지 이미 공부했던 자바스크립트 중요 개념 및 자료구조, 알고리즘에 대해서 더 철저하게 복습하는게 1차 목표이고, 동시에 리액트를 찔끔찔끔 배워보려고 하고 있습니다. 목표처럼 다 할 수 있을지는 의문입니다 ㅎㅎ


저도 아직 한참 배우는 중이고, 갈 길이 무척이나 멀었지만 그래도 저는 udemy를 통해서 혼자 공부하는 시간을 가지면서 개념들을 충실히 익히려고 노력하고 있고, 동시에 바닐라코딩 prep 코스를 통해 이것저것 만들어보면서 개념들을 열심히 다져나가고 있습니다. 저처럼 개발자가 되기 위해 공부하시는 분들께 도움이 되었으면 좋겠고, 모두들 응원합니다! 함께 열심히 공부해서 같이 꼭 좋은 개발자가 되어요!

 

궁금하신 점 댓글로 남겨주시면 답변 드리겠습니다! 감사합니다!

댓글