Node.js 백오피스 프로젝트 [2일차]
오늘 한 일
(어제 한 일)
어제는 프로젝트 개요라던가 팀 회의 같은 사항들로 인해 직접 코드를 짤 시간도 별로 없었을 뿐더러 reservation API CRUD의 C를 만드는 작업을 했는데 생각보다 고려할 사항들이 많아서 나머지 작업들을 하지 못했다.
오늘은 reservation API 에서 RUD 를 만들었다. 생각보다 금방 끝날 줄 알았는데 빙빙 돌아가기도 했고, 헤멨던 부분도 있어서 그 부분에 대해 적어보려고 한다.
forEach()에서 return을 하면 undefined가 뜬다
알고리즘에서 수 많은 forEach를 써봤지만 forEach에서 return을 넣어본 적이 없다.
하지만 이번 프로젝트에서 DB의 값을 가져오면서 여러 row의 특정 column 값을 가져오게 되며 쓰게 되었다.
기존에는 위의 사진과 같이 forEach를 통해 if 문의 값이 true 값이 되는 조건이 하나라도 있다면 false를 반환하며 반복문이 끝나길 바라며 써 준 return이었다.
하지만 원하는 결과는 나오지 않았고 return값으로는 undefined가 반환되었다.
따라서, forEach의 내부에서 반복문이 끝나길 원한다거나 특정한 리턴값을 원할 때에는 return 을 사용하면 안된다는 것이다.
결국 아래와 같이 반복문 바깥에서 result의 디폴트 값을 false로 두고 주어진 조건이 충족될 때 result의 값을 true로 바꾸는 로직으로 바꾸어주었다.
Date() 와 new Date()
언젠가 한 번 코딩을 처음 공부했을 때 이 주제에 대해서 다뤘던 것 같다. 그런데 이번 프로젝트를 진행하며 다시금 깨닫게 된 부분을 적어본다.
사건의 발단은 사용자에게서 body로 받은 String형식의 날짜를 '날짜'의 형식으로 바꿔줘야 하는 부분에서 시작되었다.
처음에는 오류가 어디났는지 몰랐지만 console로 여기저기 찾다보니 Date 부분에서 내가 원하던 값이 안나오고 있었다.
처음에는 Date(user에게서 받은 날짜)의 형태로 작성했는데 이렇게 작성하다보니 날짜 형식으로 바꿔주지 못한다는 것을 깨달았다. 블로그를 검색하며 찾아다녔고 결국 new Date()의 형태로 사용하면 된다는 것을 알게 되었다.
매우 쉬운 부분일 순 있지만 Date 타입으로의 형 변환은 처음인 것 같아서 어색했던 것 같다(String이나 Number의 경우는 많이 사용했지만 Date는 많이 사용해 본 적이 없어 마냥 생각없이 Date()의 형태로 썼던 것 같다)
결국 new Date(user에게서 받은 날짜)의 형태로 사용해서 원하는 값을 불러올 수 있었다.
내일 할 일
어제, 오늘 이틀 간 백엔드 기능들을 전부 구현했으니 이제부터는 백엔드의 디테일한 부분이라던가 새로운 기능구현, 프론트 구현에 시간을 투자해야 한다.
1. socket.io 공부해서 pet sitter와 user 연결시 메세지 보낼 수 있게 만드는 방법 구상해보기.
2. frontend 부분 petsitter 상세페이지 구현하기 - 사진, 간단한 pet sitter 설명, 날짜 예약(+달력), 리뷰
'TIL' 카테고리의 다른 글
2023-12-16 TIL (1) | 2023.12.16 |
---|---|
2023_12_14 TIL (1) | 2023.12.15 |
2023_12_12 TIL (2) | 2023.12.13 |
2023_12_11 TIL (2) | 2023.12.12 |
2023_12_08 TIL (0) | 2023.12.09 |