블로그 이미지
JEEN

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

Rss feed Tistory
IT 2010.04.04 23:28

[ Perl/jQuery/Barcode] 바코드 키드를 꿈꾸며...

 최근에 회사업무차원에서 바코드를 특정 페이지에 표시해야하는 일이 생겼었습니다.
 PHP + Barcode 같은 적당한 검색어를 뒤집어 본 결과 GD 로 된 Barcode 출력기능은 있는데... 뭔 PHP 를 다시 컴파일 한다느니 하는 얘기가 적혀있길래 그냥 관두고, 외부의 바코드 출력 서비스를 알아보니 이건 또 HTTPS 가 아니라서 좀 그렇기도 하고 해서...
  그외 바코드 폰트라는 게 있다는 데 역시나 귀찮은 마음에 패스를 했습니다.

  가장 도입이 간편한 방향으로 돌아가고싶어서 자바스크립트로 살짝 디벼봤습니다. 혹시나 하는 마음은 역시나...
  jQuery-Barcode 라는 라이브러리가 있었습니다. div 하나에 id 붙여서 barcode 설정해주면 게임 끝 ;ㅁ;

  http://barcode-coder.com/en/barcode-jquery-plugin-201.html

  지원하는 바코드 타입은 여러가지 있지만 제가 사용하려는 건 EAN13 이었고, 마침 이것도 지원해주니 프로토타입을 간단하게 써서 보내주니 바코드 리더로 잘 읽힌다고 하더군요 :-) 아.. 일 하나 끝~ 이렇게 생각하다가..

  예전에 Delicious Library 2 관련해서 바코드 리더 관련해서 이것저것 고심한 적이 있어서도 있고, 아이폰 유저도 50만명이 넘었다니... 수요가 있을 까 싶어서 생각해본 게..

  특정 상품페이지의 상품코드(대개 바코드에서 사용되는 코드)를 웹상에서 바코드로 표시해주면 어떨까 싶어서 냉큼 해봤습니다.


  알라딘의 서적 페이지에서 북마클릿을 누르면, 13 자리 ISBN 을 빼내서 그걸 표시해주는 게 전부입니다.
  예전의 Filstapaper 때처럼, 정형화된 상품코드를 뽑아낼 수 있다면야 어떤 웹사이트에서든 표시해줄 수 있지 않을까 하고 생각을 해봤습니다.
 

  시험삼아서 Red Laser 를 통해서 찍어보니까 잘 읽히덥니다.
 
  사실 웹이 사용가능한 공간에서 다시 아이폰을 이용해서 찍어서 뭘할까 하는 생각도 해보기도 합니다만 뭐...
  잘 모르겠습니다. 제가 모르는 어딘가에 쓰일 수도 있겠지요. =3==3

신고
IT/Perl 2010.01.18 21:10

[ Perl / iPhone / DL2 ] iPhone 의 바코드 앱을 이용해서 Delicious Library 2 로 등록하기

http://twitter.com/JEEN_LEE/status/7899289203
아이폰에서 바코드 스캔해서 별 힘 안들이고 Delicious Library 2 로 책정보 업데이트 하는 아이디어가 떠올랐다. #ReverseHTTP -  될까 말까는 솔까말 해보지 않으면 모르겠지만...
  그래서 한번 해봤습니다. 

 내용은 이렇습니다.

  예전에 @xguru 님께서 "지름도우미" 라는 걸 공개하신 적이 있습니다. Red Laser 라는 아이폰 카메라로 바코드에 맞추면 바코드를 인식하게 되고, 그 값으로 상품데이터랑 이어준 것입니다.

  
  저도 한참 Delicious Library 2 Server 에 대해서 이래저래 궁리하면서 내가 가진 iPhone 에서 어떻게 접근할까 생각하면서 Red Laser 를 훑어보았는데, 그러다 보니 Red Laser는 인식된 바코드를 지정된 URL 로 넘겨줄 수 있다는 사실을 알게 되었습니다.


   위처럼 URL 과 넘길 바코드 값을 가진 GET 파라메터 이름을 정의하면, 이걸로 자신에게 맞는 바코드 어플을 하나 뚝닥 만들어 낼 수 있는 것입니다.  ( build App 버튼을 iphone 상에서 눌러서 Bookmark 버튼을 통해서 홈 스크린에 생성합니다) 

  문제는 public 한 공간에서 NAT 안의 제가 쓰는 맥북으로 어떻게 접근할 수 있겠느냐는 것이죠.
  그것은 ReverseHTTP 에 의해서 간단하게 해결됩니다. 
  위의 URL 을 ReverseHTTP 에서 지정한 label 로 발행된 public 한 URL 로 생성해주는데요, 위의 "맞춤형 어플"의 URL 을 이 주소로 지정해줍니다. 
  
  그리고 바코드 스캔을 하면 ReverseHTTP 에서 생성된 URL 로 넘겨주고, 이 URL 로의 접속이나 핸들링을 감시하는(?) 스크립트는 이때 받은 바코드 값(위에서 지정된 GET 파라메터)을 통해 로컬의 맥북 어플인 Delicious Library 2 로 책정보를 보내줘서 등록하는 것입니다. 

  그렇게 해서 아래의 결과를 얻었습니다.


     어때요? 참 쉽죠? 

  일단은 프로토타입으로 간단하게 만들어 봤지만, "맞춤형 어플" 을 제대로 구색을 갖추게 해야되겠습니다.
  그리고 ReverseHTTP 관련 처리는 나중에 배포용으로 만든 어플에 관련 처리를 추가하며, 버젼업할 예정입니다. :-)
신고
TOTAL 483,363 TODAY 14

티스토리 툴바