[회고] 2024년 1월 3주차: JS 4차 과제

POLO·2024년 1월 22일

2024년 1월 3주차 회고

Date Picker 구현

자바스크립트 4차 과제를 시작했다!
4차 과제는 Date Picker를 구현하는 건데, 생각보다 시간이 오래걸렸다.
이전에 이미 캘린더를 구현해 본 적이 있었기 때문에 3시간 정도면 만들 거라고 생각했는데..
큰 오산이었다🥲

과제 요구사항에 캘린더를 먼저 만들고 그다음에 Date Picker를 만들라고 되어있었는데
Date Picker의 요구사항을 안 본 상태로 캘린더를 만들고 나니
막상 Date Picker와 캘린더를 합치려고 하니까 캘린더 관련 모듈을 여기저기 뜯어 고쳐야 했다.

캘린더만 생각하고 만들 때는 캘린더 창이 Close 및 Open 될 걸 고려 하지 않았다.
물론 다 만든 캘린더에 Date Picker 관련 요소를 추가해서 Date Picker를 클릭하면 캘린더가 표시되거나 이 외 부분을 클릭하면 캘린더가 없어지는 건 아주 쉽게 구현했다.

애를 먹었던 부분은 캘린더에서 날짜를 선택하면 자동으로 캘린더가 닫히는데, 이후 캘린더를 다시 열면 오늘 날짜가 아니라 해당 날짜 부분이 표시되어야 했던 부분이다.

이미 캘린더가 표시되는 부분이랑 날짜를 클릭하면 해당 날짜가 표시되고, 변수에 저장되는 건 각각 다른 모듈에 구현을 해놨기 때문에 클릭한 날짜가 저장된 변수를 캘린더 표시 함수에 전달할 수 있는 방법을 찾아야 했다.

여러가지 테스트 끝에 여러 모듈에서 쓰일 변수를 별도 모듈 파일에 모아서 여러 모듈에서 사용하기로 했다. 그런데 모듈 파일에서 가져온 변수는 수정이 안 되는 문제가 있었다.
그래서 set함수를 만들어 set변수명(value) 함수에 value를 전달해 변수에 저장된 값을 업데이트 하는 쪽으로 구현했다.

이제 5차 시작이다 ㅠ.ㅠ
빨리 끝내고 남은 자바스크립트 강의 들은 후 React 강의를 들으러 가야겠다!!

코드 리뷰 스터디 모임

매주 수요일마다 코딩테스트가 있는데, 이번에 진행한 1차는 5개 문제 중 5개 모두 맞았다.
문제 중 가장 어려웠던 문제는 필승법 관련 문제였다.
DP 문제일 거라고 생각은 했지만 숫자 1~5까지의 답만 손으로 풀어봐서 시간이 오래걸렸다..
숫자 1~ 10까지 풀면 답이 계속 반복되어 결국 숫자%4가 1인 경우가 무조건 지는 경우가 되는 문제였다.

코드 리뷰 시간에는 매주 진행한 코딩 테스트에 대해 서로 설명하는 시간을 갖는다.
이번에 조금 느꼈던 게 내가 작성한 코드를 내가 유창하게 설명하지 못 한다는 것이었다.
문제를 풀 때는 이해를 했지만 4일 정도 지난 시점에서 다시 문제 설명과 내 코드를 보니 왠지 초면인듯한 느낌이 들었다.

이제는 공책에 매주 푼 문제를 정리라도 해 놔야겠다..
내가 말하면서 내가 무슨 말을 하고 있는 건지 잘 모르겠으니까 이 시간이 의미 없어지는 느낌이었다.

0개의 댓글