본문 바로가기

Web

웹페이지 랭킹 알고리즘: HITS vs PageRank 웹 정보검색 시스템을 구축했을 때, 사용자가 요청한 어떤 검색(질의, query)에 대해서 최상의 결과를 보여주기 위한 방법을 끝없이 고민해야 한다. 이런 시스템을 구축하기 위해선, 인터넷의 정보를 굉장히 많이 수집(Crawling)해서 잘 저장하고 인덱싱을 함으로써, 어떤 단어가 포함된 문서를 빠르게 찾을 수 있게 정리를 해두어야 한다. 이 때 이용하는 것이 Inverted Index 방법인데, 수많은 문서들이 있을 때 어떤 단어가 어떤 문서에 몇 개 들어있는지 테이블로 기록해두는 것이다. [ "tistory": { (문서1, 10개), (문서2, 21개) }, "google": { (문서2, 20개), (문서4, 12개) } ] 이런 식으로 말이다. 그리고 분산 저장을 위해서는 구글에서 만든 GFS(..
API 서버 클라이언트와 서버는 어떤 방법으로 데이터를 주고받을까? 한 문장으로 요약하면, 서버는 용도에 따른 기능들을 만들어 그에 맞는 이름(URI)를 붙이고, 클라이언트는 필요에 따라 해당 이름(URI)에 요청을 보낸다. 이를 API라고 부른다. 서버는 http 요청을 받아 해당 API의 내용을 수행하고 응답을 돌려보낸다.클라이언트는, http 요청을 보낼 수 있다면 누구든 그 서버와 통신이 가능하다. PC 앱, 모바일앱 등 상관없이 인터넷에 연결되어 있기만 하면 된다. 1. API 서버 서버는 미리 API를 정의해둔다. 예를 들어,"우리 블로그의 Web 카테고리 목록의 글들을 보고 싶으면, Get이라는 method로, /category/Web 이라는 URI에 요청을 보내세요." 우리가 웹 브라우저 주소창에 치는..
Web에 대한 주저리 WebRTC 기술에 호기심이 있었는데, 본격적으로 공부해볼 겸 블로그에 연재글처럼 써보려고 한다.쓰기 전에 웹에 대한 전반적인 내용에 대해서 한번 정리해보고 가려고 한다. 1) 서론 웹 세상은 서버와 클라이언트의 통신으로 이루어진다. 웹 브라우저는 클라이언트에 해당한다. 서버에게 받은 수많은 텍스트(코드)들을 화면에 잘 나타내주는(렌더링) 역할을 한다.네이버도. http://naver.com에 요청하면 받는것은 HTML, CSS, Javascript 등의 코드들일 뿐이지만, 사람이 이해하기 쉬운 화면으로 잘 렌더링해주는 역할을 브라우저가 한다. 서버는 클라이언트의 요청을 받고 응답을 보내주는 웹 서버 소프트웨어가 필요하다. 대표적으로 Apache, Nginx 등이 있다.이런 서버 소프트웨어는 데이터를 주..