Post View

Base62를 이용해 짧은 주소(ShortURL) 기능을 만들었습니다.

이번에는 짧은주소 URL을 개발해보았습니다.
사실 현 시점에서는 크게 중요한 기능은 아니지만 공부할 생각으로 만들었습니다.

짧은 주소의 경우 SNS나 글 작성 시 복잡합 URL을 보기 쉬운 수준으로 짧게 만들어 주는 역할을 하는 기능입니다.
로직 자체는 단순한데요, 짧은주소 등록 시 생성된 번호를 base62로 encoding 하여 문자화 한 뒤 실제 이동될 주소와 함께 DB에 저장하고,
"https://www.kurien.net/s/{주소}"의 형태로 {주소} 부분을 받아서 decoding 하면 짧은주소 등록번호가 나오는데, 해당 번호로 DB에서 조회해서 redirect 시켜주는 것 뿐입니다.
메인이 되는 Base62의 코드는 https://rocksea.tistory.com/348를 보고 작업하였습니다.

DB구조는 이번에도 "이미지 업로드 기능을 일부 제작했습니다."때와 비슷한 형태로 작업했는데요.
추후 파일이나 짧은주소를 API로 만들 생각이기 때문에 떼어내기 쉬울 것 같은 형태라고 생각되어 이와같이 작업했습니다.


제가 가진 URL 중 krin.kr이라는 도메인이 있어서 추후에 짧은주소를 만드는 기능만 별도의 사이트로 만들고 API를 구현해서 짧은주소를 요청하는 형태로 작업할 생각입니다.
포스팅 시 짧은 주소가 만들어지고 Link Copy 버튼을 누르면 복사되는 기능과 해당 URL을 통해 접근 시 접근된 사용자의 수를 집계하는 기능 정도가 제작되어있습니다.


"구글 애드센스 광고 반응형으로 적용하기" 글의 경우 Link Copy 버튼을 누르게 되면 "https://www.kurien.net/s/l" 경로가 복사가 되며,
이를 통해 접속을 하게 되면 3초 후 이동한다는 메시지가 있는 화면에 바로 이동하기, 이동 중지하기 버튼이 보입니다.

그리고 실제 이동 될 사이트의 URL이 나타나는데요.
이 페이지의 경우 현재 상태에서 이동될 사이트의 정보(제목, 대표이미지, 설명 등)를 추가적으로 보여주도록 수정할 것인지 아니면 이러한 페이지 없이 바로 실제 사이트로 redirect를 할 지는 고민 중입니다.
이 부분도 추후에 해당 내용을 수정하여 적용할 것 같습니다.

블로그에서는 관리자 화면에 짧은 주소를 관리하는 화면을 만들어두고 관리자 임의로 추가, 수정, 삭제 등을 할 수 있게 작업할 예정이며,
특정 링크를 통해 방문한 방문자의 정보도 함께 수집해볼 생각입니다.

이번에 반영된 내용은 https://github.com/kurien92/kreBlog/commit/1ff1c169298fd5fa0b69e0f1f073ff3e8a2a4e20에서 확인하실 수 있습니다.
질문이나 조언 등은 kurien92@gmail.com을 통해 메일 보내주시면 감사하겠습니다.

Comments