[ 9장 웹크롤러 ]
웹페이지의 내용을 수집해야 한다
이때 예의있게 수집해야 하는 것이 포인트다
즉 한 번 요청한 대상에 대해 되도록 다시 요청하지 않는다
해당 페이지 URL을 해시 등으로 변환한 값을 내부적으로 지니게 한 뒤에 포함여부를 조사하여 (해시 연산)
이미 방문했는지 여부를 알아낸다
그리고 DFS로 접근하면 안됀다!
깊이가 무한히 반복되는 덫 사이트가 있을 수 있다!
이런곳에 접근하면 크롤러가 빠져나올 수 없다... 너비 우선 탐색으로 접근하자
[ 나온 키워드들 ]
웹크롤러와 웹스크래핑
웹크롤러는 페이지를 계속 탐색해 나가면서 indexing을 해나간다 (주로 검색 엔진에 사용)
웹스크래핑은 계속 탐색해나가지는 않으면서 컨텐츠 내용을 수집한다
출처: https://www.baeldung.com/cs/web-crawling-vs-web-scraping
[ 10장 알림 시스템 설계 ]
다양한 단말기들의 종류를 지원해야 한다또 사용자들이 여러명일때.. 어떻게 빠르게 처리할 진지...
단순히 알림서버에서 APSN, FCM, Email 전송 서비스로 바로 보내면 다소 문제들이 발생한다안드로이드 사용자가 압도적으로 많을 때 이 부분에 대한 처리 (Scale Up 등)이 어렵다
[ 나온 키워드들 ]
멱등키: 헤더에 UUID등을 넣음으로써 단일한 요청인지를 분간해주는 표시를 하는 것으로 보인다
https://docs.tosspayments.com/guides/using-api/idempotency-key
# Redis는 Bulk Insert를 지원하는가
그렇다고 한다 ... 자세한건 더 조사해봐야 한다!!
# NoSQL에 Graph DB가 포함되는가
포함되는 것으로 보인다
NoSQL의 정의가 RDBMS가 아닌 모든 DB를 가리키는 것으로 보인다
카산드라가 Graph DB인가?
[ 기타 중간에 검색한 키워드들 ]
역정규화 반정규화
(주의 GPT대답) 그러나 영어로 검색했을때 De-normalization와 Denormalization는 크게 다른 것이 없는 것으로 보인다
국내에서만 종종 저렇게 다르게 쓰는 것 같다... 특별히 차이를 두지 않고 사용해도 될 것 같다
단, 영어로는 Denomalization이란 용어가 확실히 있다
https://en.wikipedia.org/wiki/Denormalization
정리
반정규화, 역정규화는 모두 Denomalization를 가리킨다
안정 해싱은 DB의 맥락에서만 사용되는 단어인가? 그렇지는 않은 것으로 보인다
redis INCR은 원자적 연산인가??
즉, 불러와서 갯수를 올리는 것까지 하나의 온전한 연산인가?
'Book & Lecture > Books' 카테고리의 다른 글
안정해시 가상 노드 공간 변화의 비 증명 (0) | 2023.08.17 |
---|---|
대규모 시스템 설계 기초 스터디 1회차 (챕터 1 ~ 5장) (0) | 2023.08.16 |
유닛 테스트 책을 읽고 (0) | 2023.07.30 |
hi hello... World >< 가장 아름다운 하나의 해답이 존재한다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!