Django + AWS EC2를 이용하여 음반 관리 사이트를 만드는 과정을 담았습니다.
- 개인적으로 사용할 목적이라 실제 동작하는 사이트 주소를 적지 않습니다.
- 단, 소스는 공개되어 있습니다. (http://github.com/rubysoho07/MusicManager)
2. Background
• 2014년부터 지금까지
• Network 장비 회사에서 SNMP, 시스템/트래픽 모니터링 관
련 개발을 해 왔습니다.
• Linux + C + SVN + Shell Script + …
• Python 개발 경험
• 고객사의 요청으로 장비 모니터링 (30분 단위 * 3개월)
• 로그 긁음 압축 메일로 전송하는 것까지 만들었지만..
• SimCity 4 저장 데이터 백업 스크립트
4. Background
• 음원의 시대지만, 음반을 가끔씩 구입합니다.
• 이거 예전에 산 것 같은 느낌이 드는데?
• 그럼 지금까지 산 음반을 관리해 보자!
• 어떻게? 웹으로!
AWS EC2와 Django를 이용해 보려고 합니다.
5. • 앨범 정보를 음원 사이트에서 긁어 오기
• Artist / Title / Cover image / Track 정보 저장
What I want?
6. What I need?
• 앨범 정보를 음원 사이트에서 긁어 오기
requests, BeautifulSoup
Regular Expression, JSON
• Artist / Title / Cover image / Track 정보 저장
JSON으로 추출한 값을 DB에 저장 (SQLite)
Cover image는 static file로 저장하도록 함
7. • Artist나 Title로 검색이 가능하게
• 폰 또는 PC에서 접속해서 조회가 가능해야 함
What I want?
8. What I need?
• Artist나 Title로 검색이 가능하게
Making Queries 문서 참조
• 폰 또는 PC에서 접속해서 조회가 가능해야 함
AWS EC2 + nginx + uWSGI 이용
9. AWS EC2
How it works?
User
nginx
uWSGI
Django app
Bootstrap 네이버 뮤직
벅스music_parser
SQLite
19. Epilogue
• 모은 앨범을 정리하다 보니
• 네이버 뮤직/벅스에 없는 음반이 있어요!
• 수동으로 기록하거나, 외국 사이트도 parsing 가능하게
• 생각했던 것보다 개발 기간이 단축되었어요.
• 웹 개발을 체험해 볼 수 있었던 좋은 기회였습니
다.
• https://github.com/rubysoho07/MusicManager
20. 진짜 여담
• 네이버 뮤직에 1번으로 등록된 앨범은?
강산에 – 4집 연어 (링크)
• 벅스에 1번으로 등록된 앨범은?
Titan A.E. OST (링크)
21. Reference
• Django Tutorial
• BeautifulSoup Documentation
• Python Documentation: re
• Regular Expression 연습: http://regexr.com/
• Python Documentation: json
• AWS EC2 + nginx + uWSGI 설정 방법
• Bootstrap의 navbar 색상 변경 방법