codestates / codestates/sagaksagak-client

[✍️ Dev Log] 황순은 / 21-07-12

Open
#176 0 comments 0 reactions 1 assignee Claimed by @Hwangsooneun View on GitHub
Dev-Log
Dominant language
JavaScript
Stars
4
Forks
1
PR merge metrics
No merged PRs in 30d

Description

### 오늘은 어떻게 프로젝트에 기여했나요?

- recommendation 구현
- search, roomList 로직 병합
- infinite scrolling 응답 설계 및 구현
- search promise 에러핸들링
- category 관심도 util함수 구현

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

- recommendation 구현하면서 코드가 점점 가독성이 낮아져서 에러핸들링시 힘들었다.
- 비동기처리 모듈 안에서 promise.all는 다른 프로세스를 사용하는듯 하다. 병렬처리를 await로만 해야하나 고민이다.

```js
let search = [];
let recommends = [];
if (userInfo.search !== null) {
let keyword = JSON.parse(userInfo.search)
for (let i = 0; i < keyword.length; i++) {
if (Array.isArray(keyword[i])) {
for (let j = 0; j < keyword[i].length; j++) {
search = search.concat(await room.findAll({
where: {
[Op.or]: [
{ roomName: { [Op.like]: `%${keyword[i][j]}%` }, valid: true },
{ category: { [Op.like]: `%${keyword[i][j]}%` }, valid: true }
]
}, raw: true
}))
}
} else {
search = search.concat(await room.findAll({
where: {
[Op.or]: [
{ roomName: { [Op.like]: `%${keyword[i]}%` }, valid: true },
{ category: { [Op.like]: `%${keyword[i]}%` }, valid: true }
]
}, raw: true
}))
}
}
}
if (userInfo.category !== null) {
let userCategory = JSON.parse(userInfo.category);
for (let i = 0; i < userCategory.length; i++) {
recommends = recommends.concat(await room.findAll({
where: { category: String(Object.keys(userCategory[i]).join()), valid: true },
raw: true
}))
}
}
```

### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?

- [ ] 전체 기능 에러핸들링
- [ ] 배포단 test
- [ ] 코드 정리

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.