codestates / codestates/WeaDresser
[Dev-Log] 2021-12-17 (금) / 정민찬
- Dominant language
- JavaScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### 오늘은 어떻게 프로젝트에 기여했나요?
- 서버 남은 테스크 작업 완료
- bulk seeder 및 크롤링 작업 완료
- 배포 ec2 https 작업 (윤환님껄로 성공)
-(목, 금-반나절) 서버 diary, hashtag entity! 클라이언트 주고받기 확인 작업
### 오늘의 프로젝트에서 힘든 점은 무엇인가요?
- AMI 인증키 검증 시간의 랜덤한 기다림 ! (2일 => 무효처리, 1일=> 현재 pending, 20분 => 성공,)
- 서버 남은 task 처리!
- sequelize through 관계 이용 eager loading response data parsing 어려움 !
```js
// 원하는 dataform
[
Diary1: {
속성1 : val1,
속성2 : val2,
Hashtags : [ { name1 : val1 }, { name2 : val2 }, .... { name10 : val: 10 }] ,
Diary2 : {
속성1 : val1,
속성2 : val2,
Hashtags : [ { name1 : val1 }, { name2 : val2 }, .... { name10 : val: 10 }],
]
```
- * eager loading with through
- * => when raw: true (x) : 다이어리- hashtag-diarieshashtags 모든 속성이 inner 객체 형태로 붙어서 data 정리 어려움
- * => when raw: true(o) : 다이어리 1개 hashtag 1개씩 붙어서 중복된 결과가 여러개 return
- * => => 즉, 1개의 다이어리에 10개의 hashtag가 연결되면 , 같은 다이어리1개 x10 개가 return
- * when nest : true(x), 자체적으로 3개 테이블 join시 중복 결과를 3개 return
- * when nest : true (0), 중복 없이 1개 entity를 줌.
- raw : true (o) and nest : true(0) => 이렇게 처리하면 1개 다이어리 여러개의 hashtag 배열을 얻을 수 있으나,
- => attribute: [] 로 trhough table 속성 처리가 안되는 상황이 발생 !
- 우리가 원하는 데이터는 다이어리가 1개가 아니라 그날 작성한 모든 다이어리! => map, filter, map, reducer, => 엄청 꼬임 ㅠ
- 결국 for 문안에 if 조건, 중복 확인객체 + 중복확인배열등의 레퍼런스를 두면서, 중복 및 누락 데이터 없이
- { 1개 다이어리 객체 + hashtags 배열,} <-모든 객체가 배열로 담긴 response 처리!
- constrain 설정이 잘 완료되 sequelize로 쉽게 데이터 처리가 가능하다고 생각했지만,
- 원하는 데이터를 여러 설정으로도 뽑지 못하는 어려움이 존재
- lazy-loading 경우 : 엔티티 1개가 아닌 여러개가 배열로 또, 거기서 1개당 여러개의 또 다른 엔티티를 배열 속성으로 넣게 되면
- 반복문 내에 async ==> await 을 걸어주는 상황 (transaction-commit- rollback)의 권장 사항이 아님
- eager-loading 후 =>=> 애초에 js 문법으로 원하는 resp data 처리 하는것이 더 빠른길일 수 있음을 명심 하자 !
### 내일은 프로젝트에 기여하기 위해 무엇을 해야 하나요?
- [x] 서버+클라이언트 오류 페이지 존재 점검 ! 다같이!
- [x] 벌크 이미지 + 데이터 S3 삽입 by EC2 sequelize
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.