블로그 이미지
JEEN

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

Rss feed Tistory
Project 2010.05.06 11:49

[ DL2 Server ] 이제 그만

2009/11/18 - [IT/Tips] - [ DeliciousLibrary2 ] BookMarklet++
2009/11/17 - [IT/Mac] - [ Perl & DeliciousLibrary2 ] with Bookmarklet

 작년말까지 좀 이래저래 손볼 곳이 있었지만.. 그대로 방치하고.. 이렇게 반년이 넘게 흘렀지만...
 딜리셔스 라이브러리를 만든 딜리셔스 몬스터 쪽도 특별히 움직임을 보이는 것도 아니고... (여러차례 외부 데이터 입력 통로를 만들어 달라는 요청과 질의에 무성의한 답변 등등)
 이런 데이터를 언제까지 담아두고 남에게 공개하기 어려운 형태로 놔두는 건 아무래도 아깝다고 생각을 하곤 했습니다. 
  그래서 유저스토리북이나 Google Books 로 데이터를 옮길까 생각을 함과 동시에,
  더이상 진전이 없는 작업을 그만하려고 합니다. 
  
  사실 몇가지 자잘한 수정내용은 있고, 통합해보고 싶은 기능도 여러가지 있었지만...
  TODO 정리하는 겸해서 깔끔하게 잊어버리기로 생각했습니다. 

  그래서 앞으로는 Delicious Library 2 Server 관련 업데이트는 없을 것입니다.
  몇몇 사용해주신 여러분께는 감사의 말씀을 드립니다. 
신고
IT/Perl 2009.11.25 16:38

[ Delicious Library 2 & Perl ] 바코드 스캐닝 통합 - version 0.2

  kazest 님으로부터 피드백이 있었던 'ISight' 로 바코드 인식은 어디로 갔나? 라는 내용에 뜨끔했습니다.
  다음버젼... 이라고 일단 찍어뒀지만... 예전에 올린 게 무심결에 1.0 으로 버젼이 지정되어 있었지만.. 뭐 깔끔하게 무시해주셨으면 합니다.
  kazest++
 
  아무튼 뜨끔한 나머지 기존에 서버를 띄움으로 북마클릿과 iSight 스캐너 모두 사용가능합니다.

  코드 변경 내용으로는 기존의 HTTP::Engine 의 인터페이스를 ServerSimple 에서 AnyEvent 로 바꾸었습니다.
  고로 차후 여러가지 기능을 도입함에 있어서 다양한 이벤트처리를 포함할 수 있지 않을까 합니다.
  HTTP::Engine 의 AnyEvent Interface 는 remedie 에서 그대로 뽑아왔구요.

  http://github.com/JEEN/Delicious-Library-2-for-Korean/downloads
 
  이곳에서 0.2 로 버젼이 적혀져 있는 것을 다운받아서 실행하시고 사용하시면 됩니다.
  당일치기 Issue 해결은 보람이 있지만... 회사일을 제쳐두었다는 것에 대해서 회사사람들에게 미안할 따름입니다. =3==3
  그외 사용시, 이런 게 있었으면 좋겠다 등등에 관해서도 댓글등으로 알려주시면... 차후 검토하겠습니다.
신고
IT/Perl 2009.11.18 12:52

[ Perl & Delicious Library 2 ] 귀찮은 설치를 이제 한방에!

2009/11/17 - [IT/Mac] - [ Perl & DeliciousLibrary2 ] with Bookmarklet

 위의 기사에서 github 에서 git 써서 소스 긁어와서, XCode 깔고, CPAN 모듈 깔라.. 라고 하는 설치에 많은 분들이 어려움을 겪고 있는 걸로 알고... 만드는 사람입장에서 보다 편한 배포방법이 없을까 고민을 하게 합니다.
 그냥 처음부터 Mac App 로 만들면 그럴 것 없잖아!!
 라고 하면 뭐 제가 코코아 쪽으로는 별로 익숙하지 못한 관계로 시도도 못해봤다는 핑계를 댈 수 밖에 없었습니다.

 사실 Perl 같은 스크립트 를 Mac App 로 만들 수 있는 방법이 있습니다. 이게 remedie 라는 프로젝트에서 쓰던 방법인데.. Platypus 라는 툴이있습니다. 셸이든 펄이든 Python 이든 스크립트와 리소스만 잘 지정해주면 됩니다.



http://www.sveinbjorn.org/platypus

  위와 같은 설정을 통해서 Delicious Library 2 Server 라는 Mac App 이 만들어졌습니다.
 
http://cloud.github.com/downloads/JEEN/Delicious-Library-2-for-Korean/Delicious_Library_2_Server.app.zip

  이 URL 을 통해서 Mac App 로 된 스크립트를 다운받아서 실행하면 별도의 설치과정없이 Bookmarklet 을 통해서 Delicious Library 2 로 등록이 가능합니다.

  사실 Icon 이 기본으로 설정된 녀석이라서... 그렇게 뭐 뽀대나지도 않고 해서, 어떻게 되었으면 하는 생각이 있습니다. 고로 이런 Icon 이 어떨까 하는 제안이 있으면 연락주세요. :-)
신고
IT/Mac 2009.11.17 18:47

[ Perl & DeliciousLibrary2 ] with Bookmarklet

2009/10/11 - [IT/Perl] - [ Perl & Delicious Library 2 ] 그럼 이제 웹 브라우저에서 DL2 로!
2009/10/10 - [IT/Perl] - [ Perl & Delicious Library 2 ] 한국책을 스캔하려고 해봐야 팔만 아프다!
2009/10/09 - [IT/Mac] - [ Delicious Library 2 ] Loves Perl! 안되면 되게 하라!

  벌서 한달정도 지난 DL2 관련 이슈를 다시 끄집어 내 봅니다.
  웹브라우저 상에서의 DL2 로 등록에 관해서 Drag and Drop 이라는 일반적이지 못한 방법을 고집했다가, "골빈해커"님과 "@y0ngbin"님에게 북마클릿을 쓰는 게 어떠냐고 들었습니다.
  그러겠다고 하고 GTD 의 Someday 에 넣어놓은 지 한달이 지났습니다.
  그러던 중에 capri91 님이 애플포럼에서 DL2 플러그인을 만들어 공개하셨으니 할 맘은 더욱 없어져 갔습니다.
  요즘 하도 의욕이 없다시피하다가 보니, 다시 하나 끄집어내야 되겠다고 해서 코드를 다시 만들었습니다.
  모조리 갈아엎고 Version 0.01 로 다시 시작해서 하루만에 0.02 까지 해놓았습니다.

***
  기능상으로는 Drag and Drop 기능을 없애고, 피드백을 받은 Bookmarklet 으로 만들었습니다.
  사실 JS 는 좀 버벅거려서, 기존에 쓰고 있던 Instapaper 의 Bookmarklet 을 참고해서 만들었습니다.
  우선은 Aladdin 에서 작동이 가능합니다.

***
  우선 사용가능환경에 대해서는 Mac 을 가지고 계시며, Delicious Library 2 를 가지고 계신 분에 한해서 입니다.
  설치는 아직까지 번거롭지만... 한번 도전해 보실 분에게는...
  * 1. XCode 설치
  * 2. CPAN 모듈 설치 (README 문서 참고)
  를 해야합니다.

** Terminal 에서
git clone git://github.com/JEEN/Delicious-Library-2-for-Korean.git
을 하시거나..
링크를 통해서 zip 파일을 다운받아서 압축을 풀고

** 바코드 스캔
  - perl bin/isight.pl

** ISBN 직접 입력
  - perl bin/term.pl

** Bookmarklet 사용 (서버 모드)
  - perl bin/server-starter.pl

과 같은 세가지 기능이 있습니다.
그 중 이것은 북마클릿 사용시의 화면입니다. 서버를 띄우고, 서적페이지로 가서 등록된 북마클릿 버튼을 클릭하면 자동으로 DL2 로 등록시켜주게 됩니다.



  일단은 Aladdin 뿐이지만, 제가 주로 책을 구입하는 곳은 Yes24 이고, 컴퓨터 서적관련해서 자주 보는 곳은 강컴이고, 아이리버 스토리 지름신이 살짝 왔다갔다 하는 지라 교보문고에도 들락거리기에...
  조만간 이 모든 서적 사이트를 지원하게끔 만들어보고자 합니다.

  사용 시의 고쳐줬으면 하는 점, 설치시의 문제점 등에 관한 것이 있으시다면 댓글을 남겨주시면 되도록 친절하게 알려드리고자 노력하겠습니다. :-)

  북마클릿은 아래의 링크를 끌어서 [북마크 도구모음] 란에 끌어놓으시면 됩니다.

  Insert into DL2
 
신고
Check 책! 2009.10.12 00:13

My Library 공개!


  또 한번 Delicious Library 2에 대한 이야기가 되어버렸지만... DL2 에는 이렇게 자신이 가지고 있는 책 등에 관해 뽀대나는 HTML 페이지로 발행해줍니다.

  http://www.myemy.com/deliciouslibrary/

  그래서 발행했습니다.

  원래는 일본에 있는 사람들끼리 책교환을 추진해볼까 하는 생각도 있고 해서, 일단 제가 가지고 있는 책들을 모조리 공개해볼까 하고 시작해봅니다.

  다음은 떡볶이 좋아하고 청소잘하시는 @y0ngbin 님이 공개하지 않을까 생각해봅니다.
신고
IT/Perl 2009.10.11 01:03

[ Perl & Delicious Library 2 ] 그럼 이제 웹 브라우저에서 DL2 로!


  3연속 Delicious Library 2 에 대한 이야기로 계속되는 군요.
  이번에는 웹 브라우저 상에서 DL2 에 등록하는 이야기를 해보고자 합니다.

  2009/03/03 - [IT/Perl] - [ HTML5 & Perl ] HTML5 Drag And Drop API 를 건드려보기

  예전에 HTML 5 이야기를 하면서 간단하게 Drag And Drop 으로 TTB 링크를 만드는 이야기를 했었습니다. 이번에도 지난번 소스를 그대로 활용하도록 했습니다.

  방법은 로컬 웹서버를 띄웁니다. 그리고 알라딘 페이지를 iframe 으로 띄워놓고, 그 위에는 드롭존을 만들어놓습니다. wproduct.aspx?ISBN= 으로 시작하는 링크(주로 상품페이지로 가는 링크)를 끌어다가 회색 드롭존에 집어넣으면, AJAX 로 로컬 서버에 isbn 값을 넘겨주고, 서버에서는 DL2 에 추가해주는 것입니다.
 

  위의 그림은 간단한 프로토타입입니다. 생각하고 있는 기능은 많은 데, 디자인을 먼저 생각하니 답이 안나와서 그냥 드래그앤드롭으로만 가능하게 해놨습니다. 하지만 아무리 생각해봐도 뭔가 아름다운 방법은 아닙니다. Safari 는 애초 고려도 안하고 만들었으니까요.
  GreaseMonkey 나 Jetpack 같은 것도 생각해봤지만.. 이것도 브라우저 의존이 있는 얘기입니다.  FF 애드온도 생각해보고... 이래저래 아무래도 방법은 많겠지요.
  그래서 그 많은 방법들 중에서 가장 간단하게 내놓은 방법이 저것이었습니다. 사파리야 나중에 지원하면 되는 것이고...

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

  아무튼 소스는 이곳에 있구요. server.pl 로 로컬 섭을 띄우고 http://localhost:8080/ 으로 접속하실 수 있습니다. 나머지는 위에 설명대로 입니다.
  아무래도 디자인 공부도 좀 하고 해야겠습니다. ;ㅁ;

* 추기
- 사용을 위해서는 추가로 세가지 모듈을 추가해야합니다.
$ sudo cpan Template
$ sudo cpan HTTP::Engine
$ sudo cpan HTTP::Engine::Middleware
신고
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 470,526 TODAY 39

티스토리 툴바