본문 바로가기
대외활동/우아한 테크코스

[우아한 테크코스 프리코스] 1주차 회고 (프론트엔드, JavaScript)

by JI NY 2024. 10. 26.

우아한 테크코스 프리코스 1주 차 회고

(프론트엔드, JavaScript)

 

🤔 문제

- 1주차 문제는, 문자열에서 숫자를 추출하여 더하는 [문자열 덧셈 계산기]가 나왔다.

- 풀었던 1주 차 미션 코드 링크 : https://github.com/Ji-ny/javascript-calculator-7/tree/Ji-ny

 

 


🔥프리코스 목표

 참고로, 이번 프리코스에서 내가 얻고자 하는 목표는 아래와 같다.

- 문제 해결 능력과 몰랐던, 새로운 지식을 찾아내고 흡수하는 역량을 강화한다.

  • 요구사항을 온전히 이해하고 스스로 해결할 것 
    • ChatGPT나 다른 AI 도구에 의존하지 않고, 주어진 문제를 처음부터 끝까지 내 힘으로 해결
    • 검색을 통해 찾은 자료나 해답은 모두 Notion에 기록하여 스스로 학습한 내용을 정리
  • 또한, 학습 과정 중에는 특정 포인트마다 회고를 진행할 것.
    • 나의 성과와 부족한 점을 파악하여 빠르게 보완
    • 지금까지 몰랐던 개념이나 놓치고 있던 기능을 배우고, 새로운 지식과 기술을 습득

 


✅ 회고

(TIL 회고 방법을 적용해보았다)

01. 잘한 점

  1. 프리코스 과제 1주 차를 끝낸 것!
  2. JavaScript 사용법을 조금 더 알게 된 것
  3. 과제를 진행하며 과정을 모두 Notion으로 기록한 것

 

 

02. 개선 점

  1. 요구사항을 제대로 읽지 않아, 테스트 코드 실행 시 문제가 발생했다.
    • 문제 1. : Console.readLineAsync를 사용해서 입력을 받아야 하는데, Console.readLine을 사용했음. (https://github.com/woowacourse-projects/javascript-mission-utils 해당 코드 입력만 대충 보고 써서 발생한 일..)
    • 문제 1의 문제로, readLine에서 강제로 kill로 프로그램을 끝내게 만들어 뒀었는데, 거기서 테스트코드가 실행이 제대로 안 되는 문제가 발생했었다.
  2. 얕은 자바스크립트 지식으로, 예외처리에 어려움이 있었다.
    • 문제 2. 에러를 consle.print로 출력하는 식으로 했는데, 그게 아니라 , reject로 error를 던져 주어야 했다. Promise.reject(error);
    • 앞으로는 예외 처리를 확실히 알아서 공부해야겠다.
  3. 요구사항을 읽고 문제를 어떻게 풀어야 하는지 제대로 생각하지 않고 바로 코드를 작성했다.
    • 그렇기 때문에 코드가 실시간으로 복잡해져 가는 게 눈에 보였다.
    • 앞으로는 요구사항을 분석한 뒤, 코드 설계를 먼저 하고 작성해야겠다.
  4. 정규식 작성이 너무 어려웠다.
    • 정규식을 제대로 공부해 두어야겠다. 앞으로 문자열 등을 처리할 때 많이 나올 것 같다.
  5. 시간을 넉넉하게 두고 개발하지 않아, 코드를 거의 리팩터링 하지 않았다.
    • 과제를 조금 늦게 시작하게 되면서, 일단 프리코스 과제가 돌아가는 것을 목표로, (제출을 해야 하기 때문에) 구현을 목표로 뒀다. 그렇기 때문에 코드 가독성이 상당히 떨어지고, 필요 없는 부분도 조금씩 있다.
    • 앞으로 개선할 점
      • 시간을 넉넉하게 잡아서 차근차근 구현하고, 과제 제출일날 전가지 구현을 하고, 리팩토링할 수 있도록 노력해야겠다.
  6. 앞서 : Console.readLine를 사용한 문제로 인해 제출 이후 테스트 코드를 돌렸을 때, 문제 제출 이후 예제 테스트에서 ‘예기치 못한 오류로 인하여 실행에 실패하였습니다’가 떴다.
    • 사유를 곰곰이 찾아보니, test케이스도 1개가 skip이 되고 있었다. 알고 보니, readLine을 사용해 보았을 때 프로그램이 끝나질 않아서 강제로 ‘kill’ 명령어로 프로그램을 종료시켰는데, 그것이 문제였었다. 그 부분을 삭제하고 다시 실행하니까 처리가 잘 됐다.
      • 제출 마감 2시간 전에 그렇게 나오니까 너무 당황했었다.
      • 역시 앞으로는 요구사항과 결과 등등 코드 하나하나 작성할 때 결과를 생각해 가면서 작성해야겠다.

 

03. 배운 점

1. Jest 테스트 도구에 대해 알게 됐고, 처음 사용해 보았다.

  • JEST가 테스트 도구인건 이름만 알게 됐는데, 이렇게 실제로 테스트를 할 때 사용되는 것을 알게 되었다.
  • 우아한 테크코스 프리코스 커뮤니티에서 VSCODE의 ‘JEST’ 확장팩이 있다는 정보를 알게 돼서, 써봤는데 정말 편리했다. 해당 확장을 몰랐다면 테스트 코드의 에러를 처리하는데 훨씬 어려웠을 것이다.

2. JavaScript의 예외처리와 try/catch에 대해 알게 됐다.

  • try/catch 문은 사용해 본 적은 있지만, 왜 사용하는지는 잘 알지 못했다. 하지만 이번 프리코스를 통해 try에서 예외를 던지고, catch로 예외를 받아서 reject로 예외를 띄워 주는 것을 알게 됐다.
  • (이 부분에서 내가 정말 모르는 게 많았구나,,라는 것을 알게 됐다.)
  • throw로 예외를 던진다는 것을 알게 됐다.

3. gitHub의 fork, PR 사용법, git 사용법

  • github에서 fork를 한 뒤에, 다시 원 프로젝트에 PR을 하는 방법을 이번 프리코스를 통해 확실히 알게 됐다.
  • 그 과정을 노션에 정리하면서 기록하니, 확실히 github의 fork, pr 과정을 이해하게 되었다.
  • git을 사용하는 것도 상세히 알려주셔서 참고가 됐다.

4. 정규식 사용법, JS의 문자열 다루기

  • 정말 어려웠던 부분이다. 정규식을 사용하는 법을 조금 알게 되었다. 이 사이트( RegExr: Untitled 5mhou (fork) )에서 정규식을 직접 써보면서 많은 도움이 되었다.
  • 정규식은 앞으로도 문자열을 다룰 때 많이 사용될 것이기 때문에 공부해 놓아야겠다.
  • JS에서 split을 사용할 때 정규식으로 자를 수 있다는 것을 알게 됐다.

 

04. 느낀 점

  • 프리코스 1주 차를 통해 나는 정말 말하는 감자였음을 깨달았고, 앞으로 많이 노력해야겠다고 다짐하게 되었다.
  • 정규식, 예외처리, Jest를 사용한 test 코드 등 몰랐던 것들을 정말 많이 알게 됐다.
  • 부족했던 개념들을 학습하며, 조금 더 JavaScript와 친해진 느낌이 들었고, 앞으로의 프리코스 과제에서도 새로운 개념을 더 배워나갈 수 있다는 생각에 다음 과제도 기대가 됐다. 우아한 테크코스에서 왜 ‘메타인지’를 강조하신 이유가 더 직접적으로 다가왔다.
  • 프리코스 커뮤니티에서 Jest 확장팩을 알게 되었는데, 이걸로 테스트할 때 많은 도움을 얻었다. 자료를 공유받으며 공유 및 소통의 중요성을 알게 됐다.
  • 진짜 우물 안 개구리가 되지 않기 위해 앞으로 더 열심히 해야겠다. 파이팅!!

 

 


[우아한 테크코스 프리코스] 1주차 회고였습니다.

읽어주셔서 감사합니다 😊

댓글