우테코 프리코스 회고
2022-11-22

1주차

PR 링크

1주차 미션은 7개의 문제를 푸는 것이었다. 1주차라 미션이라기 보다는 기본적인 언어 사용만 할 줄 알면 되는 알고리즘 혹은 간단한 구현 문제들 이었다. 처음 미션을 받고나서 미션의 답을 어떻게 올려야 하는지 과제 가이드 부터 살펴 보았고 미션 레퍼지토리를 포크해서 파일을 열어보았다.테스트 파일이 있었는데 테스트를 해본적이 없어서 어떻게 사용하는지 몰랐었고 실행이 안되어서 검색을 해보았다. 오류를 검색해보고 찾아보았고 node의 버전이 맞지 않아서 오류가 났었던것 이었다. 그래서 Node.js 14버전으로 다시 설치하려고 했고 그 과정에서 NVM이라는 것을 알게 되어서 버전을 맞출 수 있었다. 이전에도 알고리즘 테스트나 구현 문제들을 풀어보기는 했지만 그동안은 어떻게든 구현만 한다는 생각만 가지고 있었는데 프리코스 커뮤니티에서 다른 분들이 공유해주신 테스트코드와 클린코드에, 깃허브 커밋 컨벤션을 보면서 많이 배웠고 더 잘해야겠다는 생각과 동기부여가 생겼고 더 잘하고 싶다는 마음이 커졌다.

질문 잘하는법 영상 링크

2주차

PR 링크

2주차는 1주차 때 받은 공통 피드백과 Airbnb의 JavaScript style guide , Angular JS 의 Git Commit Message Conventions를 지키며 프로그래밍을 하고 제공된 라이브러리 API를 사용하여 구현하는 등 추가된 요구 사항이 있었다. 로직을 작성한 후 스타일 가이드를 보며 몇 가지 고쳤다. 확실히 이런 규칙을 지키며 코드를 작성한다면 다른 사람이 볼 때도 이해하기 쉬울거 같다. 이번 미션에서는 Git Commit Message Conventions를 지켜야지 했지만 몇 커밋은 지금까지 혼자 커밋하던 습관이 있어서 별 생각없이 커밋을 해버려 지키지 못했다. 다음 미션부터는 커밋 컨벤션을 잘 지켜보고 push는 정리가 된 이후에 하도록 해야겠다고 생각했다.

3주차

PR 링크

저번 미션에서 깃 커밋 컨벤션을 지키려고 노력했지만 잘 지키지 못했다. 그동안 git을 cli로만 사용했는데 이번 미션부터는 프리코스 커뮤니티에서 어떤 분이 추천해주신 GUI 버전관리 앱 Git Kraken을 사용해 보았다. 눈으로 깃 로그를 확인할 수 있어서 편하게 커밋을 작성할 수 있었고 실수를 줄일 수 있었다. 이번 미션을 처음에 받고 하루, 이틀 구현을 해보면서 아무리 생각해도 어떻게 구조를 잡아야 할지 생각이 나지 않았다. 그러면서 우아한 테크 코스 코수타를 다시 보며 지금 내가 할 수 있는 것에 집중해서 최선을 다하자는 마음을 다시 갖게 되었고 기능을 구현할 수 있었다. 어떻게 구조를 잡아야할지 생각만 하니까 답이 나오지 않았고 일단 기능 구현먼저 해보자는 마음으로 구현을 먼저 했다. 이번 주차에서는 포기하지 않으면 할 수 있다는 것을 다시 한번 깨닫게 해주는 미션이었다. 테스트 코드를 만들어보니 기능 구현을 하거나 코드를 수정할 때마다 빠르게 피드백을 받을 수 있어서 좋았다. 피어 리뷰를 받아보고 싶었지만 내 코드에 자신이 없었는데 용기를 갖고 다른 분에게 리뷰를 남겨보기도 하고 피드백을 받아보았는데 정말 좋은 경험이었다. 내가 생각하지 못한 부분을 짚어주셔서 이번 미션에서는 저번 미션보다는 더 좋은 코드를 작성할 수 있었던 것 같다. 이전 미션에서는 메시지나 에러 메시지(문자열)를 상수화 하지 않았지만 피어 리뷰에서 다른 동료분의 피드백을 받아 이번 미션에서는 상수화 처리하였다. 확실히 보기 편한거 같다.또 지금 까지 변수 선언할 때 let과 const를 단순하게 사용했는데 피드백을 받아서 변수 선언 키워드를 알맞게 사용할 수 있게 노력했다.

4주차

PR 링크

이번 미션에서는 더 많은 요구사항이 있었다. 그중에서도 가장 어려웠던 부분은 함수(메서드)의 길이 10줄이하, 그리고 각 클래스 별로 제약사항을 가지고 그 제약사항을 지키며 기능을 구현하는 것이었다. 의식적으로 예외상황들을 생각해보고 프로그래밍 요구사항을 지키며 나중에 사용하기 좋게 코드를 작성하는 것의 중요성을 알게 되었다. 예외처리할 것들이 많아지고 클래스,객체 별로 규약이 생기다보니 더욱더 테스트코드의 중요성을 깨닫게 되었다. 코드를 짜면서 많은 예외상황들을 다 외우고 할 수 없고 언제든지 에러가나도 이상하지 않기에 미리 예외상황을 테스트로 만들어두고 기능을 구현하게 되면 더욱 좋은 코드를 작성할 수 있는 것 같다. 이번 프리코스를 통해 정말 많이 배운거 같다. 4주동안 정말 개발에 몰입할 수 있었고 지금까지 이론만 공부하거나 강의를 들으며 코드를 따라치는 행위만 반복했는데 직접 무언가를 구현해보면서 성취감도 있었고 여러 어려움을 겪고 막막함과 좌절을 극복해가면서 성장할 수 있었다. 자바스크립트 스타일 가이드도 적용시켜보고 커밋메시지도 컨벤션을 지켜가며 개발자로서 학습도 할 수 있었고 독학으로만 학습을 하기에 외로울 때도 있고 개발관련 하여 얘기하고 토론할 사람이 없었는데 커뮤니티를 통해 다른 분들과 소통도 할 수 있었고 처음으로 피어리뷰를 통해 코드리뷰를 받아보고 부족한 점과 개선해야할 점을 알수 있었고 미션을 거듭 할 수록 조금이지만 점점 코드가 좋아진거 같다. 전에는 어떻게든 개발자가 되어야겠다는 생각뿐 이었지만 어떤 개발자가 되야할까 하는 생각도 많이 들었고 워낙 좋은 경험도 하고 멋진 코치분들을 보며 나도 나중에는 실력있는 개발자 이면서 좋은 사람이 되어서 개발자를 꿈꾸는 사람들에게 도움을 줄 수 있는 선한 영향력을 줄 수 있는 사람이 되고싶다는 생각이 들었다.

이번 프리코스를 마치고나서 부족함을 느끼고 학습하고 싶은 것.

클래스 문법, OOP, TDD, 디자인패턴