독서25 10장. 알림 시스템 설계 알림 유형별 지원 방안 알림시스템은 모바일 푸시알림, SMS 메시지, 이메일로 분류할 수 있다. iOS 푸시 알림 iOS에서 푸시 알림을 보내기 위해서는 세 가지 컴포넌트가 필요하다. 알림 제공자(provider) : 알림 요청을 만들어 애플 푸시 알림 서비스(APNS)로 보내는 주체다. 알림 요청을 만들라면 다음과 같은 데이터가 필요하다. 단말 토큰(device token) : 알림 요청을 보내는 데 필요한 고유 식별자 페이로드(payload) : 알림 내용을 담은 JSON 딕셔너리 APNS : 애플이 제공하는 원격 서비스. 푸시 알림을 iOS 장치로 보내는 역할 iOS 단말 : 푸시 알림을 수신하는 사용자 단말 안드로이드 푸시 알림 안드로이드 푸시 알림도 iOS와 비슷한 절차로 전송한다. APNS 대.. 2023. 12. 21. 9장. 웹 크롤러 설계 웹 크롤러는 로봇(robot) 또는 스파이더(spider) 라고도 부른다. 검색 엔진에서 널리 쓰는 기술로, 웹에 새로 개신되는 콘텐츠를 찾아내는 것이 주된 목적이다. 웹 크롤러는 몇 개 웹페이지에서 시작하여 그 링크를 따라 나가면서 새로운 콘텐츠를 수집한다. 검색 엔진 인덱싱 : 크롤러의 가장 보편적인 용례다. 크롤러는 웹 페이지를 모아 검색 엔진을 위한 로컬 인덱스를 만든다. 일례로 Googlebot은 구글 검색 엔진이 사용하는 웹 크롤러다. 웹 아카이빙 : 나중에 사용할 목적으로 장기보관하기 위해 웹에서 정보를 모으는 절차를 말한다. 웹 마이닝 : 웹의 폭팔적인 성장세는 데이터 마이닝 업계에 전례 없는 기회다. 웹 마이닝을 통해 인터넷에서 유용한 지식을 도출해 낼 수 있는 것이다. 웹 모니터링 : .. 2023. 12. 20. 8장. URL 단축기 설계 tiny url 같은 URL 단축기를 설계 1단계. 문제 이해 및 설계 범위 확정 쓰기 연산 : 매일 1억 개의 단축 URL 생성 초당 쓰기 연산 : 1억(100million) / 24 / 3600 = 1160 읽기 연산 : 읽기 연산과 쓰기 연산 비율은 10:1 이라고 가정하면, 읽기 연산은 초당 11600회 발생한다. (1160 * 10 = 11600) URL 단축 서비스를 10년간 운영한다고 가정하면 1억(100million) * 365 * 10 = 3650억(365billion) 개의 레코드를 보관해야 한다. 축약 전 URL의 평균 길이는 100 가정. 따라서 10년 동안 필요한 저자 용량은 3650억 * 100바이트 = 36.5TB다. 2단계. 개략적 설계안 제시 및 동의 구하기 API 엔드포인.. 2023. 12. 11. 7장. 분산 시스템을 위한 유일 ID 생성기 설계 분산 시스템에서 사용될 유일 ID 생성기를 설계해 볼 때 auto_increment 속성이 설정된 관계형 데이터베이스의 기본 키를 쓰면 되지 않을까? 라는 생각을 할 수 있다. 하지만 분산 환경에서 이 접근법은 통하지 않는다. 데이터베이스 서버 한 대로는 그 요구를 감당할 수 없을 뿐더러, 여러 데이터베이스 서버를 쓰는 경우에는 지연시간을 낮추기가 어렵기 때문이다. 1단계 문제 이해 및 설계 범위 확정 시스템 설계 면접 문제를 푸는 첫 단계는 적절한 질문을 통해 모호함을 없애고 설계 방향을 정하는 것이다. 다음과 같은 요구사항이 있다고 가정한다. ID는 유일해야한다. ID는 숫자로만 구성되어야 한다. ID는 64비트로 표현될 수 있는 값이어야 한다. ID는 발급 날짜에 따라 정렬 가능해야 한다. 초당 1.. 2023. 12. 8. 이전 1 2 3 4 5 6 7 다음