블로그 이미지
JEEN

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

Rss feed Tistory
IT/Tips 2010.10.23 22:52

설치한 Google Chrome Extension


  새로운 랩톱 디바이스를 하나 장만했습니다.
  그래서 이것저것 옮겨야될 것 중에 요즘 메인 브라우저가 된 Google Chrome Extension 을 몇가지 메모 겸 소개하려고 합니다.

  * Delicious Bookmarks Extension
 - 아실 분은 아시다시피 단순 북마크서비스입니다. 요즘은 Twitter Favorite 를 이용하는 경우도 있기는 하지만.. 전 아직까지 사용하고 있네요.

  * 0Boxer 
 - Gmail 상에서 발생하는 삭제나 메일 전송등의 액션마다 포인트가 발생하고, 이것을 차곡차곡 쌓아가는 형식입니다. 물론 4sq 처럼 일정수준 이용(일정 수준의 포인트)마다 새로운 뱃지를 얻을 수 있습니다. 
 http://www.0boxer.com/leaderboard 를 통해서 매주, 매일의 우수 Gmail 이용자를 확인할 수 있습니다;;

 * Rapportive
 - 역시 마찬가지 Gmail 확장입니다. 메일송신자의 소셜네트워크 내역을 메일 오른쪽 공간에 만들어 줍니다. 해당 email 로 가입된 트위터 계정이 있다면 최근 트윗이나, Facebook, Flickr... 그외 여러 소셜 서비스들의 상황을 확인할 수 있습니다.

* AutoPatchWork
 - AutoPagerize 의 Google chrome 판입니다. 페이지로 나눠진 웹페이지를 클릭없이 스크롤바 아래로 내림으로써 다음페이지들을 연속해서 볼 수 있습니다.

  사실 개발시에는 여전히 Firefox 를 사용하고 있습니다. 
  아, 그리고 버젼은 dev channel 에서 받은 8.0.552.11 dev 입니다.


신고
IT/Mac 2009.01.28 21:03

[ Mac ] Colloquy (Mac IRC Client App) Plugin 만들기


 Colloquy 는 Mac 의 대표적인 IRC 클라이언트 App 입니다. 전 Mac 을 쓸 때에 이 Colloquy 를 가장 많이 사용합니다. 그만큼 IRC 에서 떠드는 일이 많아지고 IRC 는 하나의 생활이 되어버렸네요.
 Perl 로 재미있는 거 만들 수 없을까? 했을 때도 가장 먼저 떠오른 것이 IRC BOT 이었구요... 이번에는 IRC BOT 에서 할 수 없는.. 뭔가 클라이언트 환경에 맞는 일을 해보고 싶었습니다.
 구글 선생님에게 "Colloquy Plugin" 을 치니까 떡하니 나오더군요.

Plug-In Love - Unlimited extensability through Plug-Ins.

  
 - Colloquy :: Write Plug-Ins :  http://colloquy.info/project/wiki/Development/PlugIns

 이 페이지에서는 Plugin 을 쓸 때 지원하는 언어를 나열해놨습니다. Objective-C,  AppleScript, Ruby, Python, JavaScript .... 불행히도 Perl 은 없군요. CamelBones 가 저렇게 방치된 이상 더는 어떻게 못하나 봅니다. 이건 Mac 을 쓰는 Perl Guru 들이 어케 안해줄런지요.
  아무튼 제가 제대로 할 줄 아는 건 JavaScript 밖에 없으니 ... 일단 JavaScript 도 플러그인을 만들어 보기로 했습니다. 아주 친절하게도 플러그인을 만들기위한 기본 Template 이 갖추어져 있습니다. 


  IRC 프로토콜 상의 대부분의 이벤트에 대해서 정의가 가능하며, Mac 스럽게도 Growl 과 연동도 시킬 수 있습니다. 입력시킬 내용을 자동으로 필터링해서 보거나, 보여지는 내용에 대해서도 입맛에 맞게 바꿔서 볼 수 있습니다. 이런 것들로 "하이라이트 단어 설정"(이건 Colloquy 설정화면에도 있습니다), "이모티콘 설정"(이것도 물론...) 등을 할 수 있겠죠.

  제가 IRC 에서 주로 활동하는 곳은 #perl(irc.hanirc.org), #perl-kr(irc.freenode.org) 입니다. 
  채널의 성격에 맞게 새로운 CPAN 모듈이나.. 어느 모듈의 사용등에 관한 얘기가 자주 등장하기도 하죠. 생소한 CPAN 모듈이 나오면 Module 이름을 직접 URL 창에 쳐서 검색을 하거나 하기도 합니다만... 이 부분에서 CPAN 모듈을 정규표현으로 긁어서 CPAN 모듈 페이지에 링크를 걸어주도록 했습니다.
  그 내용은 아래와 같습니다.

  1. function processIncomingMessage( message, view ) {
  2.     var html = message.bodyAsHTML();
  3.     var finalHTML = html;
  4.     var linkRegex = new RegExp( '<a href="([^"]+)">([^<]+)<\/a>', 'gim' );
  5.     var result;
  6.     while( ( result = linkRegex.exec( html ) ) ) {
  7.         var name = result[1];
  8.         var schemeRegex = new RegExp( 'https?:\/\/' );
  9.         if( schemeRegex.test(name) )
  10.             continue;
  11.        
  12.         if( name ) finalHTML = finalHTML.replace( result[0], '<a href="http://search.cpan.org/perldoc?' + name + '" title="' + name + '">' + name + '</a>' );
  13.     }
  14.  
  15.     message.setBodyAsHTML( finalHTML );
  16. }
  17.  

  이 파일을 적당한 파일이름('CPAN.js') 로 저장해서 ~/Library/Application Support/Colloquy/Plugins/ 아래에 놓아둡니다. 그리고 IRC 상에서 /reload plugin 을 쳐서.. 플러그인을 불러옵니다. 


  위처럼 CPAN Module을 때렸을 때는 저렇게 Link 로 표시되며, 해당 링크를 누르면 브라우저에서 저 모듈 페이지가 열리게 되는 것입니다. 물론 제 Client 에서만 저런 HTML 형식으로 표시되기때문에 상대방은 제가 뭔 일을 하는 지 모르는 반응을 보이게 되는 것이죠.
  아, 다행스럽게도 Colloquy 는 ::이 들어간 것을 HTTP URL 링크로 처리하도록 정규표현을 걸어두었기 때문에 위의 JavaScript 소스와 같이 간단하게 모듈이름을 뽑아 올 수 있었습니다. 
  Windows 의 IRC 클라이언트 중에도 전용 스크립트를 사용해서 저렇게 플러그인을 쓸 수 있는 것이 있는 걸로 알고 있습니다. 많은 분들이 클라이언트 프로그램에서 플러그인을 사용하는 것을 봐왔고, 때로는 악질적인 행동으로 방 분위기를 더럽히기도 하죠.
  차후에 시간이 나면  여러가지 편리한 플러그인을 만들어서 공개해보고 싶네요. 
  Mac 을 쓰시며 IRC 를 애용하는 분이 계시면 꼭 한번 해보라고 권해드리고 싶습니다.
신고
TOTAL 479,819 TODAY 26

티스토리 툴바