Languages/JavaScript

[우아한테크코스/프리코스] #1 온보딩

성중 2022. 11. 2. 16:04

중간고사가 끝나고, 대망의 우테코 웹 프론트엔드 프리코스 과정이 시작됐다

 

지원만 하면 프리코스를 참여할 수 있기에 정말 많은 사람들이 참여했고, 생각보다 지인들도 많아서 반가웠다😊

프리코스만으로도 혼란한 프론트엔드 생태계에서 기본기를 닦을 수 있는 좋은 경험이 되지 않을까 싶다. 열심히 해보자!

 

진행 방식은 다음과 같다

  • 매주 수요일에 메일로 미션이 보내지고, 다음 주 화요일까지 구현을 완료해 제출해야 한다
  • 미션은 '기능 요구 사항 / 프로그래밍 요구 사항 / 과제 진행 요구 사항'으로 구성된다
  • 기능 요구 사항을 구현할 때는 기능 목록을 만들고, 기능 단위로 커밋해야 한다
  • 미션 구현을 완료한 후에는 GitHub과 우아한테크코스 지원 플랫폼 양쪽에 모두 제출해야 한다
  • 지원 플랫폼에 과제를 제출할 때는 경험한 내용에 대한 소감문을 함께 작성해야 한다

 

온보딩은 7개의 알고리즘을 구현하는 것으로, 진행  방식에 익숙해지자는 의미에서 비교적 가벼운 미션을 냈다고 한다

 

알고리즘 구현에 앞서, 몇 가지 사전작업을 해주었다

  1. Node.js 14버전에서 동작해야 한다는 요구 사항이 있어 NVM으로 노드 버전(14.20.1)을 변경한 후 테스팅 라이브러리(Jest)의 정상 동작을 확인했다
  2. JSDoc을 활용해 각 함수의 매개변수와 반환 값의 타입을 지정해 주었다. @ts-check를 함께 사용해주면 순수 자바스크립트 환경에서도 TypeScript처럼 타입 및 에러 체크가 가능해 혹시 모를 실수를 방지할 수 있다
  3. 실행 결과 예시들을 코드에 console.log로 추가했다. VS Code의 Code Runner 익스텐션을 사용하면 IDE 상에서 바로 출력해볼 수 있다

Pull Request 주소🔽

 

[온보딩] 김성중 미션 제출합니다. by joseph-106 · Pull Request #283 · woowacourse-precourse/javascript-onboarding

 

github.com

프로그래머스 레벨 1~2 정도의 난이도로, 어렵지 않게 구현할 수 있었다

 

이번 주차는 본격적인 미션에 앞선 워밍업 느낌이었다. 이제는 진행 방식에도 익숙해졌으니 앞으로 어떤 미션을 진행하게 될지 더 설레고 기대도 되지만, 첫 미션을 조금 가벼운 마음으로 임한 것이 아닌지 아쉬움도 남는다..

 

선발 결과와는 별개로 프리코스가 나에게 개발 본연에 집중해 몰입하고 성장할 수 있는 시간이 되었으면 좋겠다

남은 기간도 참가자들 모두 화이팅!! 🙌

 

1주차 공통 피드백
  • 요구사항을 정확히 준수한다
  • 커밋 메시지를 의미 있게 작성한다
  • git을 통해 관리할 자원에 대해서도 고려한다
  • Pull Request를 보내기 전 브랜치를 확인한다
  • PR을 한 번 작성했다면 닫지 말고 추가 커밋을 한다
  • 이름을 통해 의도를 드러낸다
  • 축약하지 않는다
  • 공백도 코딩 컨벤션이다
  • 공백 라인을 의미 있게 사용한다
  • space와 tab을 혼용하지 않는다
  • 의미 없는 주석을 달지 않는다
  • linter와 Code Formatter의 기능을 활용한다
  • EOL(End Of Line)
  • 불필요한 console.log를 남기지 않는다
  • Javascript에서 제공하는 API를 적극 활용한다

 

기본적이지만 간과하기 쉬운 내용이 많았는데, 굳이 주석이 필요 없을 정도로 변수/함수(메서드)/클래스 네이밍에 신경 써줘야 하며, 의도를 드러낼 수 있다면 축약을 지양해야 한다는 점이 인상적이었다

 

본 내용은 우아한테크코스의 프리코스 과정을 바탕으로 작성되었습니다.

'Languages > JavaScript' 카테고리의 다른 글

[HUFS/GnuVil] #16 Number, Math, Date, RegExp  (0) 2022.11.04
[HUFS/GnuVil] #15 배열  (0) 2022.11.04
[HUFS/GnuVil] #14 ES6 함수의 추가 기능  (0) 2022.10.18
[HUFS/GnuVil] #13 클래스  (0) 2022.10.18
[HUFS/GnuVil] #12 클로저  (0) 2022.10.18