블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
이빨까기 2009.10.27 10:25

[ 자축 ] 이빨까기인형 - 개설 2주년


  그러니까 재작년 10월 27일부터 시작한 이 블로그가 겨우 2년이 되었습니다.
 2년동안 쓴 글이 250여개 정도이니... 생각보다 적구나 라는 생각도 듭니다.
 첨에는 뭐 애드센스 달아서 돈 벌어야지~ 이런 생각으로 시작한 것이... 그냥 다 귀찮아서 그런 것들을 모조리 다 뽑아버리고, 책읽고 나서 알라딘 TTB 다는 것 정도가 전부가 되어버렸습니다.
 대개 Perl 관련 이슈들과 일본생활을 중점으로 다루는 것을 중점으로 시작했고, 이것은 당분간 변함이 없을 것 같습니다.
 이제 2년입니다. 10년을 넘게 블로깅해온 누군가에 비할 바 아니지만...
 앞으로도 성심성의껏 블로깅하겠다는 약속을 해봅니다.

신고
IT/Perl 2009.10.10 17:34

[ Perl & Delicious Library 2 ] 한국책을 스캔하려고 해봐야 팔만 아프다!


2009/10/09 - [IT/Mac] - [ Delicious Library 2 ] Loves Perl! 안되면 되게 하라!

 휴~ 방금 제가 가지고 있는 책 정보를 모조리 Delicious Library 2 에 넣었습니다.
 그리고 깨닭았습니다. 한국책 스캐닝하려면 몇 권 못하고, 팔마비가 온다는 것을...
 Bookpedia 는 아예 불가능하지만, Delicious Library 2 는 ISBN 도 스캔할 수 있다!  라는 것 때문에 Delicious Library 2 로 전향했지만... 으아... 한권 바코드 스캔하는 데 10초 넘게 이리저리 휘둘러서 겨우하는 거라면(그것도 되는 것만...) 200권이 넘는 책들을 하나하나 스캔하는 건 정말 지옥이다 싶겠더군요.

 그래서 ISBN 넘버를 그냥 키보드로 쳐서 넣는 게 낫겠다 라는 생각에 지난번 포스팅한 스크립트를 약간 변형해서 셸 커맨드로 만들었습니다.


 대략 이런 모습입니다. 책의 뒷면에 찍혀있는 바코드 넘버를 그대로 때려넣는 것이죠.
 200권 넘게(한국책이 대략 180권 좀 넘게) 스캔하면서 적혀있는 ISBN 대로 안되는 것도 몇 권 있었습니다. 그때는 알라딘에 가서 직접 ISBN 찾아서 넣어주니까 되더군요. ;ㅁ; ISBN 이 변경되는 경우도 있나봅니다.
 미국/일본에서 발행한 책들을 보면 정말 금방금방 찍힙니다. 시간이 좀 걸려도 5초정도 안에 이리저리 비틀어보면 알아서 얻어오죠. 거기에 Amazon 의 풍부한 정보들로... 리뷰나 관련성 있는 아이템들까지 다 긁어와 줍니다. 거기에 판형 사이즈까지 있기 때문에 Delicious Library 2 에서 외국책은 책 사이즈별로 커버 이미지가 제각각인 경우가 있습니다. 하지만 알라딘 API 상에서는 판형 사이즈까지는 알려주지 않기에 (웹 페이지에는 있었습니다) 한국책들을 찍어보면 다 같은 사이즈로 들어갑니다.

 뭐 급하게 제가 가지고 있는 책들을 정리하기 위해서 만든거라서... 다른 분들에게 쓰기 어떠실지 모르겠지만... 혹시나 급하게 사용하신다면

 http://github.com/JEEN/Delicious-Library-2-for-Korean/zipball/master

를 통해서 다운받으실 수 있습니다.

최근에는 매일같이 알라딘이나 YES24 를 기웃거리는 습관이 있기 때문에... 다음에는 웹 인터페이스에서 Delicious Library 2 로 집어넣게 한번 해보려고 합니다.

 * 구입한 책 뿐만 아니라, 사고 싶은 책들까지도 같이 관리하고 싶다!!!

 애플포럼에서 받은 피드백인데... 정말 그 중요한 사용법을 이제서야 느끼게 됩니다(그러고보니 Bookpedia 는 이제껏 그렇게 쓰고 있었군요)
신고
IT/Mac 2009.10.09 11:36

[ Delicious Library 2 ] Loves Perl! 안되면 되게 하라!

  Delicious Library 2 라는 아주 멋진 Mac App 이 있습니다.
  자세한 소개를 해놓은 블로그는 아래와 같습니다.

  http://techblog.tistory.com/entry/DeliciousLibrary
  http://drzekil.tistory.com/380
  http://chateau.tistory.com/143

  하지만 공통적으로 Delicious Library 2 의 문제점을 말하는 것은 "한국 도서 등록시의 수작업" 입니다.
  저도 그래서 Bookpedia 를 사용하고 있었습니다. 바로 알라딘 API 를 이용한 검색 플러그인을 지원하기 때문이죠. -- 하지만 스캐닝은 제대로 안됩니다. Bookpedia 는 ISBN 형식의 바코드를 인식하지 못하는 것은 아닐까 생각해봅니다. 그렇지만 Delicious Library 2 는 ISBN 형식의 바코드를 읽을 수 있습니다. 그리고 뽀대면에서도 Delicious Library 2 는 더 좋아보입니다.

  현재 한국도서를 자동으로 Delicious Library 2 에 등록할 수는 없다.
  하지만  Delicious Library 2 에서 한국 도서를 자동으로 등록하게 하고 싶다! 는 욕심은 제게 계속되는 생각을 요구했습니다.

  http://twitter.com/JEEN_LEE/status/4705505506
  http://twitter.com/JEEN_LEE/status/4705521324
  http://twitter.com/JEEN_LEE/status/4706267445

  트위터에서 설레발을 떨었지만, 제가 생각한 방법은 두가지 였습니다.
 
  첫번째는 Amazon WebService 로 가는 것을 제 서버로 보내게 해서, 해당 바코드 정보를 이용해 알라딘 API 로 검색, Amazon WebService 와 같은 결과(json 이든 xml 이든) 를 반환해주는 것이었습니다. 
  문제는 네트워크 지식이 전무이사 라서... 몇번 구글해보다가 그냥 포기했습니다. 하지만 이 방법이 가장 깔끔할 것 같다고 지금도 생각하고 있습니다. (된다면 말이죠...)

  제가 채택한 두번째 방법은 의외로 간단합니다. Delicious Library 2 에서는 스캔시의 바코드 정보를 특정 파일에 계속 추가해놓고 있다는 것을 알았습니다. 그 파일을 잡아놓고 추가되는 정보가 있다면 그것은 바코드 정보이니 그 정보를 집어서 알라딘 API를 사용, 결과를 받아서 Delicious Library 2 에 등록하는 것이었습니다.
  그럼 어떻게 등록하느냐...

  첫번째는, Bookpedia 도 마찬가지 였지만 Delicious Library 2 는 SQLite 로 데이터베이스 접근이 가능합니다. 거기에서 일일이 쿼리를 날려가면서 책 정보를 추가하는 방법이 있었습니다.
 
  두번째는, AppleScript 입니다. Delicious Library 2 의 환경설정에서는 AppleScript 예제에 대한 항목이 있었습니다. 여기에서 새책 정보를 등록하는 AppleScript 를 발견하고는 이거다! 싶었습니다. 하지만 AppleScript 는 제대로 해본 적이 별로 없어서, 예제를 보고 하나하나 보고 나가기로 했습니다.

  여기서 첫번째 방법인 DB 구조를 파악하는 것과, 두번째 AppleScript 의 예제 샘플을 좀 더 만져서 작업하는 것에서... 두번째가 더 빨리 끝날 것 같아서 이걸 채택하고 작업에 들어갔습니다.

  마침 예전에 WebService::Aladdin 이라는 Perl 의 CPAN 모듈을 만든 적이 있었기 때문에, 알라딘 API 를 따로 파싱하거나 하는 추가작업은 필요없었습니다.

  * http://search.cpan.org/perldoc?WebService::Aladdin

  마침내 작업은 끝났습니다.

  http://twitter.com/JEEN_LEE/status/4711215750
  http://twitter.com/JEEN_LEE/status/4711467095

  하지만 한국책을 바코드로 찍었을 때, 그 바코드 정보로 세계 각국의 아마존 서버를 들락거리는 Delicious Library 2 의 자체적인 처리의 결과는 "해당 아이템을 찾을 수 없다" 라는 경고창이 나오는 것이 좀 거시기 하기는 합니다.
  그래도  한국 책은 제대로 슉슉 들어갑니다.

  이렇게 말이죠.
 
  소스는 공개되어 있습니다.

  http://github.com/JEEN/Delicious-Library-2-for-Korean

  github 를 사용하고 있으며, 현재 Perl 스크립트 하나로 만들어져 있으며, 간단한 프로토타입입니다.
  나중에 기능을 더해감에 따라서 세분화시켜나갈 생각입니다.
  코코아 개발이 가능하신 분이라면 어떻게 좀 더 세련되게 만들어 주실 수 있지 않을까 생각해봅니다.
  (어디까지나 이 프로젝트의 유효기간은 아름다운 맥 어플이 나와서 제가 봉착한 문제들을 다 풀어줄 때까지 입니다.)

  그리고 설치를 말하자면...
  일단 프로그래머 경험이 없으신 분들에게 설치는 약간 번거로울지도 모르겠습니다.
 
$ sudo cpan WebService::Aladdin
$ sudo cpan AnyEvent
$ sudo cpan Mac::AppleScript

  터미널에서 이 세가지 커맨드를 입력하시고.. 나오는 모든 선택지에서 엔터를 눌러주시면 됩니다.
  그리고

  http://github.com/JEEN/Delicious-Library-2-for-Korean/zipball/master

  에서 zip 파일을 다운로드, 압축 해제후에 나오는 delicious_lib_ko.pl을 실행합니다.

$  perl delicious_lib_ko.pl

  그리고 Delicious Library 2 에서 바코드 스캐닝 후에 제대로 책정보가 들어갔는지 확인하시면 됩니다.

  피드백은 트위터: @JEEN_LEE 로 부탁드리겠습니다. :-)

** 추기
 - Delicious Library 2 자체의 도서 검색을 통한 책 정보 등록을 불가능합니다.
 -- 방법이 있다면 다른 인터페이스를 통해서 Delicious Library 2 로 책정보를 등록할 수 있습니다.
 -- 현재 Yes24 / Aladdin 웹 페이지에서 바로 Delicous Library 2 로 등록하는 기능을 생각하고 있습니다.
신고
TOTAL 488,177 TODAY 46

티스토리 툴바