ݺߣ

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

More Related Content

2016 PyCon APAC Lightning Talk - Django로 음반 관리하기

  • 2. Background • 2014년부터 지금까지 • Network 장비 회사에서 SNMP, 시스템/트래픽 모니터링 관 련 개발을 해 왔습니다. • Linux + C + SVN + Shell Script + … • Python 개발 경험 • 고객사의 요청으로 장비 모니터링 (30분 단위 * 3개월) • 로그 긁음  압축  메일로 전송하는 것까지 만들었지만.. • SimCity 4 저장 데이터 백업 스크립트
  • 3. Background • 중학생 때부터 모은 음반이 100장이 넘어갑니다.
  • 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 색상 변경 방법