2010-07-30 2 views
3

여기가 내 첫 번째 질문입니다. 나는 다른 아키텍처를 설계하고 분석 할 때 myselft를 평가 해왔다. 이 과정에서 나는 http://tinyurl.com/ 사이트를 발견했다.tinyurl 사이트 설계시 고려해야 할 사항은 무엇입니까?

누구든지이 사이트의 디자인 고려 사항과 아키텍처의 모양에 대한 아이디어를 던질 수 있습니까? 어떤 알고리즘을 사용하여 작은 ID를 생성하여 쉽게 긴 URL을 기억할 수 있습니까?

감사합니다.

+1

http://tinyurl.com/은 기억에 남는 URL과 수퍼 짧은 URL에 대한 정보가 부족하다고 생각합니다. 내 자신의 작은 URL 별칭을 만들지 않으면 그 결과는 횡설수설합니다. TinyURL의 데이터 구조는 거대한 영구 해시 테이블/데이터베이스, 초경량 및 고성능이어야합니다. – kbrimington

답변

5

여기 나는 다른 대답에 동의합니다.

디자인에서 대답해야 할 질문 :이 링크를 영원히 지속 시키시겠습니까? 예를 들어 is.gd는 링크가 영원히 지속된다는 원칙에 따라 작동합니다. 즉, 이제 서비스를 사용하는 모든 사용자는 더 이상 짧은 URL로 5 바이트 미만의 짧은 URL을 다 써 버렸습니다. 이것은 몇 년 후에 링크를 발견하면 같은 URL (동일한 페이지 일 수도 그렇지 않을 수도 있음)을 가리킨다는 이점이 있습니다. 개인적으로, 나는 일반적으로 링크를 공유하고 싶지만 저장하지 않기 때문에이 같은 서비스를 사용하므로 URL을 다시 사용하는 것을 선호합니다.

is.gd는 누군가가 요청할 때마다 주소에 대한 새로운 짧은 URL을 생성합니다.이 주소에 대한 짧은 URL이 이미 있는지 확인하지 않습니다. 나는 이것이 성능을 향상시키는 것으로 추측하지만 다시 짧은 URL을 필요한 것보다 빨리 사용하지는 않는다.

통계 - URL이 몇 번 사용되었는지 확인할 수 있습니다. 다른 통계도 추적 할 수 있습니다 ... 사용자 에이전트 문자열, IP 등 가치가 있습니까?

사용자 정의 짧은 URL? 사람들이 URL을 선택하도록 허용하면 기억에 남을 수 있지만 "양호한"URL은 빨리 사라집니다. 랜덤/다음 라인의 URL 생성 옵션도 제공하지 않으면 빠른 URL이 필요하고 계속 이동하기를 원할 때 사용자가 무언가를 생각해 내야합니다. 맞춤 URL을 작성하는 경우 적어도 임의의 옵션을 제공하십시오. 많은 선택 URL이 과도하게 사용 된 후 남겨두기를 기대하지 마십시오.

2

@Kbrimington은 아이디어가 있습니다. 대부분의 tinyurls 또는 bit.ly 링크는 기억에 관한 것이 아니며, 부족에 관한 것입니다.

생성해야하는 짧은 링크를 추적하고 제출 된 더 긴 링크에 매핑하면됩니다. 데이터베이스는 잘 작동합니다.

그 외에도 일부 웹 사이트는 링크를 몇 번 방문했는지와 같은 생성 된 링크에 대한 통계를 수집합니다. 링크를 게시하는 사람들이 여러 번 보았을 때 특별하다고 느끼게 만듭니다.

사이트의 일반적인 개념은 매우 간단하지만 많은 흥미로운 기능을 추가 할 수 있습니다. 기본 단축 기능으로 시작하고 나중에 기능을 추가하는 것이 좋습니다.

편집 : - URL 단축기의 다른 기능 중 일부는 사용자가 짧은 URL을 사용할 수있는 경우이를 선택할 수있는 기능입니다. 예를 들어, 내가 SO에 대한 링크를 제공하고 싶다면 tinyurl.com/overflow를 선택할 수 있습니다. 사용자에게 기억에 남으며 "기억에 남는"URL 생성을위한 알고리즘을 포함하지 않습니다.

관련 문제