codestates / codestates/BookDam

22.01.07 Dev-Log

Open
#99 0 comments 0 reactions 1 assignee Claimed by @sangkwonkim View on GitHub
sangkwonkim Server
Dominant language
JavaScript
Stars
1
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?
- artilce 작성, 수정, 삭제 api 구현했습니다.
- api document 수정했습니다.

### 오늘의 프로젝트에서 힘든 점은 무엇인가요?

- api document를 수정하는 과정에서 클라이언트로 send해주는 데이터 형태를 정하고 반영하는 것이 쉽지 않았습니다.
- user가 탈퇴할 경우 모든 테이블에서 해당 유저와 관련된 데이터를 삭제할 때 에러 처리하는 것에 대해 아직 고민 중에 있습니다.
```js
const deleteArticle = await ArticleModel.destroy({
where: {
user_id: id
}
});
const deleteFollow = await FollowModel.destroy({
where: {
[Op.or]: [
{ user_Id: id },
{ follow_Id: id }
]
}
});
const deleteUser = await UserModel.destroy({
where: {
id: id
}
});
```

### 오늘 학습한 내용
Number.isNaN()
Number.isNaN() 메서드는 주어진 값이 NaN인지 판별합니다. 기존부터 존재한 전역 isNaN() 함수의 더 엄격한 버전입니다.
NaN이 NaN인지 계산할 때, 두 동일 연산자 ==과 === 모두 false로 평가되므로 값의 NaN 여부를 알아내려면 Number.isNaN()이 필요합니다. 이 상황은 다른 모든 JavaScript와 다른 특별한 경우입니다.

전역 isNaN() 함수와 달리, Number.isNaN()은 강제로 매개변수를 숫자로 변환하는 문제를 겪지 않습니다. 이는 이제 보통NaN으로 변환됐을 값이 안전하게 전달되지만, 실제로는 NaN과 같은 값이 아님을 의미합니다. 이는 또한 오직 숫자형이고 또한 NaN인 값만이 true를 반환함을 뜻합니다.
=> api request 시 params나 query로 숫자가 입력될 경우 Number.isNaN()로 처리를 했습니다.
정확한 내용을 모르고 사용해오다가 오늘 정확한 내용을 찾아 학습했습니다.

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [ ] 무한 스크롤에 대해 학습하고 반영하겠습니다.
- [ ] 전체적인 로직을 간략하게 만들기 위해 학습할 것입니다.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.