블로그 이미지
JEEN

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

Rss feed Tistory
IT/Perl 2011.07.22 20:56

[ Perl/Ruby ] Sinatra Loves Dancer

Ruby Sintara웹프레임웍사용자들이Sintara를 본떠서 만든Perl Dancer웹프레임웍CPAN rating페이지에와서 악담을 퍼붓다가.sintara공식싸이트에서 사과하는 사태까지 발생 http://t.co/5TjqDZA 유치한팬보이즘이란.ㅉㅉFri Jul 22 01:37:34 via web


  네... 이런 사태가 발생했습니다. 
  Rails 나 Catalyst 같은 중대형 프레임워크와는 다른 경량웹프레임워크의 움직임을 상징하는 Ruby 의 Sinatra 가 있죠. 사실은 저도 Sinatra는 안써봤지만, Dancer 등등의 수많은 Sinatra-ish 를 표방한 경량웹프레임워크와 그런 류의 개발방법이 널리 확산되었죠.

  저는 Dancer 로 업무에도 사용해보았고, Dancer 가 가지는 여러가지 편의성에 만족하고 있습니다. 가끔 크리티컬한 장면을 목격하기도 하고, 어쩐 일인지 테스트가 실패할 때도 있었기도 했지만... 네 뭐 그래도 그냥 간단하게 구현하고자 할 때는 항상 1순위로 선택하고는 합니다(그만큼 익숙해서 이겠죠).

  사실 위의 @aer0 님의 트윗과 같은 사태는 쉽게 발견할 수 있죠. 대개는 팬보이즘에서 시작되어서 끝나기도 하지만, 때로는 좀 더 생산적인 대화를 만들어내기도 합니다. (Stackoverflow 에서 쉽게 접해볼 수 있지만, 대표적으로는 Perl Unicode 관련 이야기)

  저 또한 트윗이나 여타 게시판을 통해서 몇번 다른 분들과 충돌을 해본 적이 있습니다. 지금 생각하면 좀 더 진중했어야 할 부분도 있었고, 멋모르고 덤벼든 그런 부끄러운 기억들도 많습니다. 대개는 기분좋지 않게 끝나버리기에 뒷맛도 안좋죠.

  이유는 서로의 언어나 프레임워크가 가지는 특색/장단점을 객관적으로 파악하지 못한다는 점입니다. 한국에서는 대개 "펄" 쓴다고 했을 때 "시스템 관리자" 로 귀결되는 현상이 대표적이죠. :-) 전 시스템관리자가 아닙니다만...

  네, 뭐 결론으로는 좀 더 다양한 언어나 기술에 대해 좀 더 열린 마음을 가지고 대해야 겠지요. 저는 최근 Learn Python the hard way 나, Rails 3.1 관련 이슈들을 접하며 어떻게 펄로 풀어낼 수 있을까 하는 많은 생각들을 해보곤합니다.
신고
IT/Perl 2010.04.04 23:55

[ Perl/WAF/Dancer ] 경량 웹 어플리케이션 프레임 워크라면 이거

  예전에 Mojo 를 시작으로 하는 경량 웹 어플 바람이 불고 가면서, MENTA 라든가 Yacafi 라든가가 떠올랐었지만, 요즘은 Dancer 와 Mojo 로 정리되어가고... Ruby 계열에서 RoR 보다 좀 가벼운 걸로 Sinatra 를 사용하는 것처럼 Dancer 가 대세인 것 같기도 합니다.
   PSGI/Plack 도 지원하니까 이것저것 붙여쓰기에도 좋구요. :-) 그렇다고 Mojo 가 지원하지 않는 건 아니지만...

  http://search.cpan.org/perldoc?Dancer

  Dancer 를 설치하고...

$ dancer -a [App]

  이렇게 기본적인 뼈대가 만들어집니다.

  어차피 웹 개발은 시작이 절반이고. 그 시작의 절반은 이름 정하는 것이니.. =3==3
  그것만 끝나면 시원시원하게 만들어나갈 수 있지 않을까 하는 생각을 해봅니다. :-)

  http://github.com/JEEN/Filstapaper/

  이전 몇번이나 Instapaper 관련으로 떠든 Filstapaper 라는 것이 이 Dancer 로 만든 것이니... 가볍게 참고는 가능하시지 않을까 합니다. (사실 문서만 봐도 충분합니다만...)

 
신고
IT 2010.03.26 17:31

Instapaper 에 대한 이야기 - 안되면 고치면 되지 뭐..

  요즘 출퇴근때마다 아이폰을 들고 다니며 Instapaper 를 통해서 웹사이트의 글들을 읽고는 합니다.
  Instapaper 는 웹사이트의 컨텐츠를 모바일 기기에서 보기좋게 변형해주죠. 

  하지만 Instapaper 는 iframe 이나 일부 한글페이지(대부분 euc-kr 로 인코딩된 페이지)에서는 제대로 표시되지 않습니다. 적어도 euc-kr 문제에 대해서는 Instapaper 개발자에게 메일을 보내봤지만 한달이 넘게 답장도 없고해서... 한글페이지를 제대로 표시하게끔 하는 방법을 몇가지 생각했었습니다.

  뭐 간단합니다. 프록시 서버에서 iframe 이나 euc-kr 로 된 사이트의 컨텐츠를 Instapaper 에 맞춰서 표시해주면 될 일이죠.

  그래서 Filstapaper (Filter + Instapaper) 라고 github 에 Repository 하나를 만들어버렸습니다. 


  Dispatcher 로 그냥 Dancer 를 사용하고, 각 URL 의 호스트별로 Instapaper 에 맞게끔 설정해줍니다. 

 .....
  + plugins/
    + www.ddanzi.com
      - fetch
    - jpnews.kr
    - ....

  plugins/www.ddanzi.com/fetch 에서...

  use LWP::UserAgent;

  sub fetch {
     my ($self, $url) = @_;
 
     # blahblah
     # return 'HTML';
  }

  이렇게만 하면 됩니다. fetch 의 결과로 Instapaper 에 맞게 보여줄 HTML 컨텐츠만 리턴줍니다.

  서버는 @y0ngbin 님께서 지원.... 해주시리라 믿습니다.
---
* 추기//
 믿고 있다가 제가 못 견뎌서 제 섭에 일단 띄웠습니다.
 에 접속하셔서 Proxy 용 북마클릿을 추가해서 사용해주세요.
--

  주말 중에 뭐 서버에 올려보도록 하겠습니다. 더불어 북마클릿 수정도 하고 뭐 이것저것..

  그래서 우선은 Instapaper 에서 깨지는 한글페이지가 있다면 URL 을 알려주신다면 바로바로 변환처리 적어버릴 수 있으니까... // 혹은 사이트별 변환스크립트만 적어서 커밋해주세요. (그전에 Collaborator 등록해야되니.. github 계정이라도 알려주신다면야...)
신고
TOTAL 462,355 TODAY 14

티스토리 툴바