2007년 9월 26일 수요일

[프로젝트]Naxos Player 2.0

개요
일단 로그인 과정을 생략하는것은 1.0버젼(http://frontjang.blogspot.com/2007/09/naxos-player-10.html)에서 해결했었다. 하지만 처음 만들었던 소스의 가독성과 복잡도, 그리고 재사용성을 위해 더러운 몇몇 부분을 고치려고 했었다.
하지만 고치는 중간에 소스가 엉켜버렸고, 다시 고치려 했으나 갑자기 알수없는 오류(exception)가 발생함에 따라 기존 소스를 뒤엎어 버리는 상황에 이르게 되었다. 그래서 원래는 버젼 1.1로 가려고 했으나, 수고스러운 면때문에 기분상 2.0으로 버젼을 업해버렸다.ㅎㅎ
아직도 모르겠다. 헤더부분을 조작하는 쪽의 코드를 최적화하려 했을 뿐인데... 리턴되는것은 400에러, 하지만 소스를 봐도 이전에 만들어 놨던거랑 새로 고친 코드의 차이를 거의 느끼지 못하여 그상태에서 에러를 수정하지 못했다. 게다가 웹페이지는 제대로 불러와졌는데!!



기능
1. naxosmusiclibrary 앨범 플레이페이지에서 앨범 정보를 가져옴.
2. 앨범사진 url을 빼온다. 상대경로는 ClassicOnline(http://www.classicsonline.com/)와 같은 체계이다. 이 사이트에서는 고화질 앨범자켓을 다운받을 수 있으므로, 이 사이트에서 그림이 있는지 우선 검색하여 만약 고화질 사진이 존재하면 ClassicOnline 서버의 이미지를, 없으면 Naxosmusiclibrary 서버의 이미지를 받아온다.
3. 앨범 상세정보를 다운받는다. 아마존에서 정보를 다운받는것이 (그쪽의 소스가 퍼오기 쉽게 구성이 되어서) 좋은데, 가끔 찾을 수 없는 앨범도 존재하므로, 앨범플레이페이지의 정보를 다운받는다. 쓸데없는 script문들이 존재하므로 그걸 다 삭제하여 저장한다. 처음에는 정규표현식으로 앨범정보를 추출해내려 했으나, 귀찮아서 생략. 뭐 아쉬우면 htm 처리기를 따로 만들면 되니까.
4. 내가 들었던 앨범의 정보를 저장한다. 이는 xml 파일에 저장하며, 앨범정보사이트/앨범이미지의 주소, 타이틀, 재생횟수, 앨범 고유번호, category number(?)를 저장해 둔다. xml 검색기능으로 들었던 목록을 순식간에 검색하는 기능도 있다.(naxos 페이지가 좀 느리다.-_-). 그리고 검색목록에서 원하는 앨범을 클릭하자마자 내가 그 앨범을 몇번들었는지 나온다.



스크린샷


메인화면, scriabin으로 검색하여 계속검색 버튼을 한번 누르고 앨범 상세정보를 보고있음.

저장되는 파일들. htms/, imgs/, index.xml 로 저장된다.

앨범정보 html 파일들. raw파일은 80k인데 그나마 쓸데없는 스크립트를 줄였더니 50k정도 감소했다. 정규표현식을 쓴다면 10k정도만 나갈 수 있을텐데...

앨범 자켓을 저장하는곳, 앞에서 말했듯이, 두 사이트에서 크기비교 후 얻은것이다.

index.xml 파일내부. 카테고리 넘버(맞는지 모르겠다.?)가 숫자로 시작하는게 있어서 xml문법에 어긋났기 떄문에 앞에 a를 붙여주었다.-_- 이 안에는 각종 정보가 저장된다.

댓글 없음: