Memo
DB Sync에 필요한 내용 정리
l Category
- tistory_cat_id (추가+제거)
l Post
- tistory_post_id (추가+제거)
- postDate (제목+내용+태그)
Progress
l 진행 순서
- Tistory~All에 constructor 추가
- Repository에 Sync용 메서드 추가
- API 데이터를 Tistory~All로 파싱
l 데이터 중복 고민
- Sync를 위한 데이터 구조는 ~All의 일부
- 1) ~All을 그대로 사용 : 멤버에 null 포함
- 2) 새로 정의 : 데이터 중복
- 3) 상속 : Sync를 All이 상속 (직관적 x)
- 결론 : 3) 상속해보자
l Post Sync를 위한 데이터 구조
- API에서 t_post_id와 t_cat_id를 수신
- 카테고리 변경 확인을 위해 두 매칭을 확인
- DB : t_post_id > post_id > cat_id > t_cat_id로 확인해야함
- TistoryCategory로 맵핑테이블 만들기
성능테스트하기
- Table join vs 맵핑 테이블
New
Java에서 다중상속이 지원되지 않는 이유
l 사용하려했던 이유
- 각 테이블에 해당하는 DAO가 있음
- 두 테이블의 join된 DAO를 정의하고 싶음
- 두 DAO를 상속하여 모든 멤버 표현 가능
l 문제점
- 두 DAO는 중복된 이름이 멤버가 있음
- TistoryCategory와 Category는 cat_id라는 같은 이름의 멤버를 가짐
- 두 DAO를 상속받은 객체가 cat_id를 호출했을 때, 어떤 부모 객체의 멤버인지 모름
Mysql 타입 (DATE/DATETIME)
l DATE : YYYY-MM-DD
l DATETIME : YYYY-MM-DD HH:MM:SS
Things to know
DB 업데이트 순서
l 카테고리 추가
l Post 정보 최신화 (추가/업데이트/삭제)
l 카테고리 업데이트
l 카테고리 삭제
Long 반환 함수인데 (long) double이 되는 이유
'정리하기 > DR' 카테고리의 다른 글
[Daily Report] 22.01.13 - TistoryCategory 비교 메서드 구현 (0) | 2022.01.13 |
---|---|
[Daily Report] 22.01.12 - DB Sync를 위한 DB/Blog 데이터 불러오기 구현 (0) | 2022.01.12 |
[Daily Report] 22.01.10 - DB Sync를 위한 데이터 정의 및 API/DB 데이터 읽기 구현 (0) | 2022.01.10 |
[Daily Report] 22.01.09 - XML parser 구현 및 TistoryAPI 객체 작성 (0) | 2022.01.09 |
[Daily Report] 22.01.05 - Tistory API 데이터 파싱 구현 (0) | 2022.01.06 |