Skip to content

단축 url 생성 패턴에 대해서 질문드립니다. #68

Closed Answered by ej31
trueS2 asked this question in Q&A
Discussion options

You must be logged in to vote

답변

  • 단축 URL의 목적을 생각하면 저라면 크게 세 가지로 적용할 것 같아요
    1. 해쉬값 방식
    2. 무작위로 선정 된 단어 조합 방식
    3. 유저 커스텀 방식
  • 하나씩 톺아봅시다. 🤡

해쉬값 방식

  • 많은 단축 URL이 이 방식을 채택한다고 생각합니다.
  • 다만, 자릿수가 너무 짧은 해쉬 값은 충돌의 위험이 있기 때문에 (=중복의 위험이 있기 때문에) 비즈니스 로직 안에서 중복되는 URL 인지 꼭 검사를해야 하고 2차 안전장치로 DB 에 유니크도 걸어놔야 합니다.
  • 반대로 긴 해쉬값은 유저의 가독성이 좋지 않지만 겹칠 위험이 상대적으로 적겠지요. (유저의 가독성을 희생해서 구현 난이도를 낮추는 트레이드 오프)

무작위로 선정 된 단어 조합 방식

  • 이게 무엇이냐면.. 우선 이 링크의 페이지에 들어가서 새로고침을 여러번해보세요.
  • 그러면 단어가 막 바뀌는게 보이실겁니다. 이 단어를 하이픈(-)으로 엮고 소문자로 누르면 완성입니다.
  • 이러한 단어 조합을 해주는 함수를 만들어서 해당 조합을 단축 URL 값으로 사용하는 것이지요
  • 예를 들어 단축 URL이 https://connectrip.kro.kr/short/label-partner-downlight 와 같이 생성 되는 것이지요

사실 단축 URL 구현할거면 별도로 단축 URL 용 도메인 구매해서 따로 관리해야 하지만 여기선 논외로 하겠습니다 🤡

  • 해시로 구현하는 것보단 상대적으로 비즈니스 로직이 조금…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by ej31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants