본문 바로가기
IT/서버개발캠프

[서버개발캠프] 1주차 개인 프로젝트

by GGT 2020. 1. 14.

서버개발캠프 4기 첫 주가 시작되자마자 

바로 첫 개인 프로젝트가 나왔다.

 

프로젝트 주제는 'URL Shortener'

URL Shortener에 자신이 축약하고자 하는 URL을 넣으면

해당 링크를 최대 8글자로 줄여주고 해당 결과로 접속하면 

웹 서버가 본래의 주소로 리다이렉션 시켜준다.

 

웹 프로젝트가 첨인지라 부랴부랴 웹 프레임워크부터 익히느라 바쁜 한 주였다.

기존 프로젝트들에서 파이썬을 많이 써봤기에 

이번 웹 서버 프레임워크로 Django를 선택해서 공부했다.

 

DB는 Django에 Default로 설정되어 있는 SQLite를 사용했다.

이전 안드로이드 네이티브앱 프로젝트에서 로컬 DB를 사용하기 위해 

SQLite를 사용했었는데 다 처음 보는 영역에서 낯익은 놈을 보니 반가웠다.

Django의 ORM을 사용하니 직접 쿼리문을 짤 필요도 없는게 아주 편리했다.

 

프론트엔드도 해본적이 없는지라.. 제대로 만들어볼 시간이 없을 것 같아

부트스트랩과 괜찮은 템플릿을 찾아 적절히 수정하여 만들었다.

 

링크를 최대 8글자로 축약하는데 Base62라는 알고리즘을 사용했다.

DB에 저장되는 PK(int id)는 Unique하기 때문에 해당 값으로 Base62를 사용하면 

고유의 링크가 생성되고 이를 통해 본 링크에 접속할 수 있도록 하였다.

 

최대 8글자 제한이 있으므로 62^8 개의 레코드가 DB에 저장된 이후로는

DB 저장된 레코드 중 최근 접속일이 가장 오래된 녀석부터 지워 해당 자리에 

들어가도록 설계했다.

 

이번 프로젝트를 하면서 Django의 기본 구조와 HTML의 문법에 대해 어느정도 익힐 수 있었던 것 같다.

 

반응형

댓글