본문 바로가기

학습 일지130

9장. 웹 크롤러 설계 웹 크롤러는 로봇(robot) 또는 스파이더(spider) 라고도 부른다. 검색 엔진에서 널리 쓰는 기술로, 웹에 새로 개신되는 콘텐츠를 찾아내는 것이 주된 목적이다. 웹 크롤러는 몇 개 웹페이지에서 시작하여 그 링크를 따라 나가면서 새로운 콘텐츠를 수집한다. 검색 엔진 인덱싱 : 크롤러의 가장 보편적인 용례다. 크롤러는 웹 페이지를 모아 검색 엔진을 위한 로컬 인덱스를 만든다. 일례로 Googlebot은 구글 검색 엔진이 사용하는 웹 크롤러다. 웹 아카이빙 : 나중에 사용할 목적으로 장기보관하기 위해 웹에서 정보를 모으는 절차를 말한다. 웹 마이닝 : 웹의 폭팔적인 성장세는 데이터 마이닝 업계에 전례 없는 기회다. 웹 마이닝을 통해 인터넷에서 유용한 지식을 도출해 낼 수 있는 것이다. 웹 모니터링 : .. 2023. 12. 20.
세션 인증과 JWT를 이용한 토큰 인증 방식 이번 포스팅에서는 세션과 JWT를 이용한 인증 방식에 대해서 알아보겠습니다. 세션과 JWT를 다루기 전에 먼저 알고 넘어가야하는 중요한 개념이 있는데요, 바로 인증과 인가입니다. 인증과 인가 인증 인증(Authentication)은 쉽게 말해서 로그인 이라고 할 수 있습니다. 클라이언트가 이 사이트에 가입된 회원임이 맞는지 아이디와 패스워드 등을 통해서 말 그대로 인증 받는 것이지요. 예를들어, Github에 이메일과 패스워드를 통해서 로그인을 했다고 가정해본다면 Github 서버는 사용자가 입력한 로그인 정보를 통해서 Github에 가입된 회원이 맞는지 검증하고 확인한 것입니다. 위와 같이 클라이언트가 이 사이트에 가입된 회원이 맞는지를 검증하는 과정을 인증 이라고 할 수 있습니다. 인가 인가(Auth.. 2023. 12. 14.
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.