서버개발캠프 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의 문법에 대해 어느정도 익힐 수 있었던 것 같다.
'IT > 서버개발캠프' 카테고리의 다른 글
[서버개발캠프] 서버개발캠프 4기 활동을 마무리하며 (0) | 2020.03.12 |
---|---|
[서버개발캠프] 스마일게이트 서버개발캠프 4기 후기!! (0) | 2020.03.07 |
[서버개발캠프] 서버개발캠프 4기 한 달 후기 (0) | 2020.02.02 |
[서버개발캠프] MYSQL DB 테이블 PK 선정 이슈 (0) | 2020.01.27 |
스마일게이트 서버개발캠프 4기 합격 (4) | 2019.12.29 |
댓글