블로그 이미지
JEEN

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

Rss feed Tistory
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
 
신고
IT/Perl 2008.05.20 21:56

[ Perl ] IRC BOT을 만들어봅시다 :-) #1


 YAPC::ASIA 2008 의 광풍이 불고난 다음, Perl 을 사용하는 사람에게 남은 숙제는, Perl에 대해 제대로 알리는 것입니다. 그리고 어떻게 하면 그것이 가능하느냐에 대해 수없이 고민을 해보았습니다. 어떻게 하면 좋을까 해서 나온 게 일단 use strict 가 무엇이고 문법이 어떻고를 떠나, 어떻게 하면 Perl에 재미를 느낄 수 있을 까 하는 것입니다.
 그래서 생각한 것이 현재 irc.hanirc.org, #perl 에서 움직이고 있는 Perl_^^ BOT에 대한 내용을 한번 올려보면 어떨까 하는 것에서 시작합니다.
 
사용자 삽입 이미지

 IRC BOT을 만들어봅시다 :-) #1

 - Warning!!

 - 우선 이 내용에 대해서 불건전한 사용에 대한 책임은 지지 않습니다.
 - 본 내용은 "난 Perl 을 들어봤다. Linux 커맨드는 기본적인 것은 알고 있다." 의 조건에 부합하신 분들에게 최적화 되어 있습니다.
 - IRC Port가 열려 있어야 합니다.
 - 여기에서는 제 시스템 환경인 CentOS 5, Perl 5.8 이상의 환경을 기반으로 합니다.
 - 특히 Windows 의 경우에는 사용해 본 적이 없기에 장담할 수 없습니다.

 - Intro...


 IRC BOT 을 만들 기 위해, IRC Protocol 을 미리 다 알 필요는 없습니다(물론 저도 전부 모릅니다).
 미리 IRC 프로토콜에 맞춰서 만들어진 모듈이 이미 존재하고, 이에 대한 내용이 구성되어 있기 때문이죠.

  Perl CPAN 모듈에서 대표적인 IRC 클라이언트 모듈은

  Net::IRCPOE::Component::IRC 가 있습니다.

  이중에서 Net::IRC는 2004년 이후로는 관리되지 않고 있으며,
  POE::Component::IRC 는 2008년 4월까지 꾸준히 계속해서 관리되어 오고 있고, 이 모듈을 위한 여러가지 플러그인들이 존재하고 있습니다.

  그리고 이제부터 다루고자 할 모듈도 POE::Component::IRC(이하 PoCo::IRC) 입니다.

  - Tutorial

  우선적으로 해야할 것은 CPAN Module 의 인스톨입니다.

  대부분의 리눅스계열의 OS는 Perl은 기본적으로 들어가 있고, cpan 역시 기본적으로 지원하고 있습니다.
  만약, root 계정을 사용할 수 없으시거나, 웹 호스팅을 이용하고 계신다면, CPAN Module을 로컬 계정에 설치할 수 있습니다.
  이에 대해서는 펄매니아 위키에 자세히 적혀져 있으므로 참고하세요.

$ cpan
cpan shell -- CPAN exploration and modules installation (v1.9205)
ReadLine support enabled
                                                                                                                                              cpan[1]>

  cpan 을 실행하면 cpan용 터미널이 뜹니다. 이때 인스톨 하실 모듈을 넣어주시면 됩니다.

cpan[1]> install POE::Component::IRC

  그러면 모듈을 설치합니다. 중간에 어떤 것을 물어보신다면 그냥 엔터만 믿고 눌러주시면 됩니다.

cpan[2]> quit

  설치가 종료하면 "quit"으로 나옵니다.

  이상으로 POE::Component::IRC 모듈의 설치가 끝났습니다.

 - Summary

  - IRC 를 이용하기 위한 CPAN Module에는 대표적으로 Net::IRC, POE::Component::IRC 가 있습니다.
  - 웹 호스팅을 이용하시거나, root 계정을 사용할 수 없으실 때에는 이곳을 참조하세요.
  - CPAN Module 을 인스톨 하기 위해서는 "cpan 터미널에서 install [모듈이름]을 입력합니다."
    (혹은 cpan [모듈이름])

 - #2에서는

  - PoCo::IRC를 이용해서 BOT의 Nick 을 설정합니다.
  - IRC 서버에 접속합니다.
  - PoCo::IRC를 이용해서 어떤 처리를 할 수 있는지 알아봅니다.

※ 현재 POE::Component::IRC를 사용한 Perl Bot 만들기 프로젝트가 진행중입니다.
- http://code.google.com/p/perl-irc-bot
※ 더불어 perldoc을 한글로 번역하기 위한 프로젝트도 진행중입니다.
- http://code.google.com/p/perldoc-kr
※ 거기에 덧붙여 me2day Perl API를 만드는 프로젝트도 진행중입니다.
- http://code.google.com/p/me2day-perl-api

 참여를 원하시면 댓글을 달아주시거나, email: aiatejin@gmail.com
 혹은 IRC(irc.hanirc.org, #perl)에서 JEEN에게 연락하시면 됩니다.

신고

'IT > Perl' 카테고리의 다른 글

[ Perl ] IRC BOT을 만들어봅시다 :-) #2  (4) 2008.05.21
[ Perl ] IRC BOT을 만들어봅시다 :-) #1  (6) 2008.05.20
YAPC::Asia 2008 이야기 #3  (2) 2008.05.18
YAPC::Asia 2008 이야기 #2  (0) 2008.05.18
Project 2008.03.31 19:34

[PERL] 급조 #4 Me2day API를 써서 Growl 로 통보받자! (미완성)

사용자 삽입 이미지

Me2day Growl을 이용한 통지


잠깐 숙고한 끝에 삽질한 결과가 대충 나온 듯 합니다.

생각해보면 me2day 도 RSS 를 제공하고 있는데... 내용을 보면 시간대가 GMT라서 그런지...

제대로 갱신될려면 12시간 시간 차가 있어서 이건 쓸 수 없나 생각을 하게 된다. 뭔가 방법이 있지 않나

싶은데 그런 거 생각하느니.. 그냥 Me2day API로 긁어오겠다고 생각하게 되었죠.

일단은 이전에 올렸던 2008/03/28 - [Project] - [PERL] 급조 #3 Me2Day Perl API 만들기 v2 - 셸에서 미투데이 글쓰기 에서 처럼 똑같은 인증절차를 거치게 됩니다.

 인증후에는 Me2day 친구 정보를 얻어오구요. 이 때 $ENV{HOME} ."/.me2day/"안에 관련 파일을 만들게 해놨습니다.

 이미지라든가, 닉이라든가, 업데이트 날짜 등의 정보는 YAML 로 보관하게 해놓구요.

 일단 Mac::Growl 로 삽질한 보람이 없기 때문에(인코딩 문제가...) growlnotify 로 돌리기로 했습니다.

 좀 징그러운 코드지만 ...  system("growlnotify blahblah") 이런 식으로요...

 나오는 것은  친구 이미지, 아이디, 내용 등이고...

 아직 안해놨지만 커멘트 등록 여부에 대해서도 통보하게 해놔야죠...

 매번 업데이트 될때마다 YAML 에 담긴 정보들을 갱신시켜 주고 말이죠.

 하다보니까 나중에 어떻게 고치지...;; 이런 생각을 해봤는데... 일단은 움직이는 것만 확인하고

올리는 성급한 포스팅입니다. 아마 이번주 중으로 나머지는 어케될 듯 하네요....

 일단 Mac 유저들은 Growl 로 통지 받으면 되는 거지만...

 Windows 유저들은 Snarl 이라는 것이 있다는 데 써보지 않아서 모르겠습니다.

  Snarl도 CPAN 모듈로 제공되고 있기때문에... 나중에 시간이 난다면 해보고 싶... 지는 않습니다.

 perldoc 번역도 쪼큼씩 해야되고, 이것도 조금 해야되고, 일도 좀 해야되고...

 읽고 싶은 책도 많고... 쿨럭.. 우힝...

사용자 삽입 이미지

그나저나 이미지 바꿔봤습니다.


신고
API, growl, mac, me2day, perl
Project 2008.03.28 21:01

[PERL] 급조 #3 Me2Day Perl API 만들기 v2 - 셸에서 미투데이 글쓰기


 어제 Shell에서 Me2Day 움직여 볼까 하던 것을 오늘 실행에 옮겼습니다.

 http://code.google.com/p/me2day-perl-api/


여기가 프로젝트 페이지이고,

svn checkout http://me2day-perl-api.googlecode.com/svn/trunk/ me2day-perl-api-read-only

이걸로 checkout 하시면 되겠습니다.

뭐 이딴식으로 만들어 놨어.. 하시면... 플젝 같이 해주세요 :-)

사용자 삽입 이미지

먼저 인증샷... 인증을 합니다.


Me2day ID는 현재 자신의 ID를 입력하시구요.
사용자키는 http://me2day.net/[미투데이아이디]/settings/basic 에 가셔서 밑에 보시면
사용자키가 보이실 겁니다. 이걸 넣으시면 됩니다. 실패하면 당연히 튕기구요...

사용자 삽입 이미지

인증이 끝나면 이런 사용 예가 나타납니다.


인증은 한번이면 됩니다. 인증에 성공하면 ID와 사용자키는 $ENV{HOME}의 ".me2day_info"라는
파일에 들어가게 되고... 매번 실행시에 자동으로 인증을 하게 됩니다.

사용자 삽입 이미지

좀 잦은 삽질 후.. 드디어 셸에서 작동


 일단 이렇게 테스트한다고 뻘짓한 흔적입니다.
 사용법은 위에서도 말하고 있었지만 다시 한번 더...
 me2p.pl 본문  @:태그 태그 태그 태그
입니다.
 여기서 주의하실 점은 "링크"를 쌔우는데..

 me2p.pl "사이트":URL @:태그 태그 태그 태그
하시면 아니됩니다... 셸의 특성상 쌍따옴표는 특별취급하기 때문이죠.

 me2p.pl ¥"사이트¥":URL  @:태그 태그 태그 태그
번거로우시겠지만.. 이와같은 방법으로 일단은 해주시면 되겠습니다. 내키지 않는다면 피드백을 주세요.
혹은... 직접 바꿔주시면 되겠습니다.

그외에는 뭐.. 제가 미투데이를 그닥 자주 사용하지 않아서 잘 모르겠네요. 제가 아는 기능에 대해서는 일단

작동합니다. 일단은 "글쓰기"만 되는 것이라서요 :-) 나중에 읽기 라든가 만들어볼까 하지만...

이미지가 떠오르지 않는군요.

태그의 경우는 @: 다음에 오면 무조건 태그로 인식합니다. 스페이스로 태그를 나눌 수 있습니다.

잦은 이용부탁드리겠습니다 :-)
신고
Project 2008.03.27 20:16

[PERL] 급조 #2 Me2Day Perl API 만들기...

오늘의 떡밥은 pung96님께서 me2day 친구 신청하신 것으로 시작되었습니다.

떡밥 전문



쿨럭.. 그리고 Twitter는  TwitterPOD같은 멋들어진 어플이 있는데 me2day는 없을까? 라는 질문에...

그딴 거 없다는 이야기를 듣고 실망하며... "그래서 제가 Twitter만 한다니까요" 라는 혼잣말을 덧붙인 뒤에...

aero 님께서 "그럼 만들어라"라고 하심에... pung96님께서 지원사격하고, 하얀_고양이님께서 관망하던 차에..

원래는 하얀_고양이님께 외주 주겠다라고 했었는데... 그냥 삘 받은 김에 만들어보기로 했습니다.

사용자 삽입 이미지

http://codian.springnote.com/pages/425517


(aero님께서 perl API만 없다고....)

일단 기본 토대는 aero 님의 Springnote API 모듈이 있었으니까... 쉽고 쉬운 작업이었습니다.

다만 코드가 좀 아름답지 못할 뿐이었지만...

BEAUTIFUL CODE 상세보기
찰스 페졸드 지음 | 한빛미디어 펴냄
내 생애 가장 아름다운 코드! 38인의 코디 명장이 말하는 『BEAUTIFUL CODE』. 전세계의 유명한 프로그래머 38인으로부터 받은 글을 엄선하여 총33가지의 챕터로 구성했다. 프로그래머들이 소프트웨어 프로젝트 아키텍처를 구축하면서 쌓게 된 프로그래밍 노하우가 고스란히 녹아 있다. 이 책은 탁월한 소프트웨어 설계자로 살아가는 프로그래머들의 눈을 통해 세상을 바라볼 수 있도록 도와준다. 느리지만 우아하며 감동적인

전혀 아름답지 못한 코드가 되어버렸다.

일단은 기본적으로 Me2Day API Spec은 http://codian.springnote.com/pages 에 정의되어 있으니

간단한 작업으로 끝냈다(라는 것은 어차피 Me2Day 사용한 적이 없고, 자세히 모르니까 하는 뻘소리)

사용자 삽입 이미지

이런 식으로 커멘트와 포스트 각각 쓰기가 가능하게 되었다는 것...

일단 Source Repository는 http://code.google.com/p/me2day-perl-api/  에 등록해놨지만...

http://code.google.com/p/me2day-api/
에 자바랑 루비 버젼이 있는 걸 봐서...

이쪽에도 신청해놓을 까 합니다. reject 되면 ㅜ_ㅜ

일단 대충 정돈되고 나면... Shell에서도 가지고 놀 수 있게 되면 왠지 재미있을 지도~ 라고 생각합니다.

Web::Scraper가 셸 명령어를 지원하는 것 처럼...

:^) 그리고 때가 되면... CPAN에도 올려보고 싶...

하악... 아무튼 오늘도 떡밥에 물려서 이렇게 하루를 보내는 군요.


신고
TOTAL 488,013 TODAY 43

티스토리 툴바