블로그 이미지
JEEN

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

Rss feed Tistory
IT/Perl 2011.08.02 13:31

[ Perl / Seoul.pm ] Tatsuhiko Miyagawa 씨와의 미팅




  @miyagawa 상이 OSCON 2011 참가후에 일본으로 오는 도중에 한국을 경유해서 간다고 하기에 시간을 내줄 수 있느냐 라고 컨택을 한 결과 어제 한자리에 앉아서 얘기할 기회를 갖게 되었습니다.
  @miyagawa 상의 새로운 회사 DotCloud 나 여러가지 컨퍼런스 관련 조언 얘기, 그리고 미국비자얘기;;;, 근데 펄관련 얘기는 별로 안한 거 같네요;;

  아무튼 매우 즐거운 시간이었습니다.
 
신고
IT/Perl 2011.07.25 22:02

[ Perl/TRunner ] Selenium Core + Plack -> Smolder

TRunner
View more presentations from Jeen Lee

2011/07/15 - [IT/Perl] - [ Perl/Smolder ] Web-based Continuous Integration Smoke Server

 지난번 Smolder 에 이어서 회사 사내 세미나에서 발표했던 TRunner 입니다.
 TRunner 는 뭐 특별한 게 아니라 이미 기존에 있던 모든 것들을 뭉뚱그려놓은 것입니다.

 기본적으로 Dancer 상에서 Selenium Core 에서 사용하는 기본적인 js 스태틱 파일들을 올려놓은 상태에서, Selenium Core 의 테스트 결과를 Smolder 로 날릴 수 있게끔 하는 것입니다.

  이때 Smolder 는 TAP 형식만을 받으니, Selenium Core 의 테스트 결과를 이래저래 슥샥슥샥 만지작거릴 필요도 있기도 하죠. :-)

  Selenium Core 의 정적인 기능을 동적인 페이지 위에 올리고, 필요한 부분에는 selenium-core.js 를 직접 만지며 수정도 하구요.

  Selenium IDE 에서 뽑아내는 Test Suite/Case 세트를 TRunner 용으로 YAML 로 바꿔서 읽어들이게끔 하구요.

  기본적인 아이디어는 용사장(a.k.a @y0ngbin) 으로부터 얻어서 구현하고... 기본기능 구현 뒤 미비한 점은 @aanoaa , @y0ngbin  두 분이 추가로 조정해주셨습니다.

  하고자 하는 것은 간단하게 Plack::Builder 를 통해서 어떤 Plack 기반의 웹어플이면 쉽게 Selenium Core 와 이 결과를 전송해서 Smolder 로 꾸준히 관리할 수 있게끔하는 그런 것이죠.

 
  보통 서버 프로그램들의 지속적인 유닛테스트처럼 브라우저단의 UI 나 기타 js 움직임등에 대해서도 지속적으로 체크해서 관리하자라는 게 모토입니다.

  각 브라우저/ OS 는 Selenium Core 의 결과 전송시의 Request Header 의 UserAgent 를 통해서 확인할 수 있으니, 이걸 Smolder 의 Platform / Architecture 로 대입시켜보는 것입니다.

  순수한 Silex Product 라서 다른 곳에서 쉽게 사용했으면 좋겠는데(Perl 쓰는...)... 
신고
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 2011.07.15 13:40

[ Perl/Smolder ] Web-based Continuous Integration Smoke Server

Smolder @Silex
View more presentations from Jeen Lee.

  제가 Silex 들어와서 처음 한 세미나 발표자료입니다. 회사내에서 Smolder 서버를 띄우면서 겪었던 여러가지 사정들을 깨작거렸었죠. 

  아무튼 Smolder 는 자체적으로 테스트를 실행하거나, 빌드를 하거나 뭐 그런 건 아닙니다. 단순히 여러 프로젝트들의 테스트 상태를 한 곳에서 지속적으로 확인할 수 있게끔 해주는 뭐 그런 것입니다. 

  테스트의 결과는 TAP Archive 로 받아서 Smolder 로 올리고 그리고 Smolder 는 그걸 잘 요리조리해서 그 결과를 보여주는 데 충실합니다. 

  완전하게 TDD 를 주창하기에는 제 업무 스타일이나 회사 업무스타일에는 안 맞는 것 같지만 환상이랄까 그런 게 있죠. 그래서 띄워봤는데 :-) ... 어떨런지 모르겠습니다. 잘 써야죠...

  결론은 Smolder 를 띄워놓고 보니 Jenkins 가 눈에 들어오더군요.  제가 Smolder 를 Jenkins 가 하는 일을 해주지 않을까 하는 착각이 있었던 것이죠...  위의 슬라이드에서 얻을 수 있는 정보가 그리 많지 않을거라고 사료됩니다만... 혹여나 Smolder 를 사용하신다면 그 심플함만 생각해보셨으면 합니다.

  - http://search.cpan.org/dist/Smolder
   
신고
IT/Perl 2011.05.26 23:25

[ Perl / CocProxy ] 소심한 웹개발자/디자이너들에게 내미는 착한 손길?

  사실 CocProxy 는 2008년쯤에 Ruby계열에서 Buzz였었습니다.

  CocProxy 는 브라우저 프록시를 통해서 공개된 특정 페이지의 css/image/js 등을 로컬파일로 대체할 수 있습니다.

 
  위의 그림처럼 다음의 메인화면의 로고가 네이버 로고로 되어있죠.
  이것은 네이버로고를 로컬에 다운받아서 다음의 로고파일의 URL 의 파일이름으로 변환하고, CocProxy 의 루트디렉토리에 위치시킵니다. 그리고 브라우저의 프록시를 localhost 의 CocProxy 포트로 맞춰주는 것으로 위의 결과를 얻을 수 있게 되는 것입니다.

  간단한 설명을 위해서 위와 같은 짓을 저질렀지만, CocProxy는 css, js, html 등도 대체가 가능하기 때문에...

  1. 고객의 웹페이지를 띄워줬습니다.
  2. 고객이 특정 부분이 이상하다고 막 뭐라고 그럽니다.
  3. 디자이너에게 작업의뢰를 합니다.
  4. 디자이너가 고쳤다고 html, css, js, image 세트로 막 넘깁니다.
  5. css 를 보니까 경로설정이 아주 지맘대로이거나, 브라우저 체크도 엉망입니다.
  6. 공개전에 일일이 경로를 바꿔주고 약간 손질을 합니다.
  7. diff 를 확인하며 OK 라면 그대로 올려버립니다.
  8. 인간은 실수를 하지만, 고객담당은 그저 빨리 일 끝냈다고 좋아라 한다고 고객에게 전화해서 다 했어요 합니다.
  9. 근데 고객이 봤는데 뭐가 이상하답니다.
  10. 디자이너한테 넘겼는데, 자기가 준 건 문제가 없다고 막 우깁니다.
  11. 뭐지 뭐지 하면서 망설이는데, 방금 경로를 바꿔줄 때 뭔가 문제가 생긴 것을 끙끙거리다가 알게됩니다.
  12. 아무튼 그렇게해서 수정하고 올리고 한고비 넘깁니다.

 이 경우 디자이너의 브라우저 프록시를 CocProxy 로 넘겨주고 손댈 부분을 바로 공개된 상태로 확인할 수 있지않을까요? 뭐 아무튼 극단적인 예이지만... 물론 CocProxy 가 사용될 만한 장면은 이외에도 여러가지가 있겠죠.

  Plack::App::CocProxy 를 설치함으로 cocproxy 라는 커맨드를 사용할 수 있게됩니다. 기본적으로 그 커맨드를 사용한 디렉토리가 CocProxy 루트가 됩니다. 

  - Plack::App::CocProxy
 
  Perl 뿐만 아니라 이미 Ruby 버젼도 있구요, Nginx 구현도 최근에 이야기가 나오는 걸로보니 나온 걸로 보입니다.
 
  생각해보니 CocProxy 뿐만 아니라, dotjs 같은 것도 javascript 애호가 분들에게 어필할 수 있을 지 모르겠군요.

  - http://defunkt.io/dotjs/

신고
이 장소를 Daum지도에서 확인해보세요.
서울특별시 강동구 천호제2동 | 서울 강동구 천호동 442-34 (올림픽로 667)
도움말 Daum 지도
IT 2011.05.14 23:57

blockdiag++ 와 앞으로의 문서화에 대한 고민...

 어제 (2011.5.13) Yokohama.pm #7 이 있었습니다.
 뭐 사실 지리적 특성 및 업무시간때문에 Yokohama.pm 에는 제대로 한번 참석해본 적이 없습니다. 대신  Shibuya.pm 에는 여러번 가본 기억이 있지만요. 하지만 이제부터는 도쿄에서의 생활은 바이바이 상태이기 때문에, USTREAM 과 공개된 슬라이드를 바탕으로 내용을 훑어보았습니다. 

 아무튼 어제 있었던 Yokohama.pm techtalk 에서 몇가지 주목하고 싶은 것 중에 하나가 
 sphinx + blockdiag series 였습니다. 시리즈의 구성마다 특성있는 다이어그램을 그릴 수 있게하는 그런  서비스입니다. 


  뭐 사실 가장 우왕~ 했던 부분은 이 시리즈 중에 seqdiag 입니다. 
  시퀀스 다이어그램을 아주 뽀대넘치게 만들어줍니다. 이런 다이어그램들은 SVG 로 브라우저에서 해석되어지기 때문에 SVG 해석이 불가능한 IE 에서는 아쉽게도 사용할 수 없겠네요.
 어제  TechTalk 에서 이 세션을 소개한 사람은 Sphinx 로 문서관리를 한다고 하는 군요. 글 뿐만이 아니라 이런 도식까지 포함해서 html,epub,pdf,latex 등 여러가지 포맷으로 변환가능하다고 합니다. (뭐 다른 것은 안되는 건 아니지만, Sphinx 에서 기본적으로 사용하는 reST 에는 여타 SVG 등을 그대로 embed 해서 쓰기 편하다는 군요.

  IE 에서 안된다는 것 때문에 그냥 무리해서 svg를 png 로 바꿔봤습니다만...

** Chrome 등의 SVG 지원 브라우저에서의 표시


** 무리해서 ImageMagicK 로 SVG 를 PNG 로 바꿨을 때...


 ... 일단은 ImageMagicK 를 이용한 변환작업에 상당한 시간이 걸리는 것과 함께... 살짝은 아쉬움도 남기도 합니다만, 그냥 뭐 이걸로 되었거니 하는 마음도 있습니다.
 
  2-3년전 쯤에 seqdiag 로 시퀀스다이어그램만을 만드는 서비스를 본 적이 있는데, 그게 아마...


 이었던 걸로 기억합니다. 예전에는 안그랬던 것 같았는데 최근에는 워터마크를 표시하고, 이를 제거하기 위한 유료플랜을 내세우는 것 같군요.

 아무튼 전 직장에서는 거의 손에 꼽을 정도의 사람만 Wiki 를 썼었고 (물론 전직장의 종업원수 역시 손에 꼽을 만 했지만..), 그 와중에 이런 시퀀스다이어그램이나 네트워크 구성도가 필요한 부분이 있었는데... [지금 알았던 것을 그때도 알았더라면...] 이라고 아쉬움이 남는군요.

 앞으로의 문서화에 있어서는 이렇게 일목요연한 도식을 겸하는 것도 좋은 선택이 아닐까 생각됩니다. 
신고
이빨까기 2011.05.14 22:33

Joining Silex

 (혹자에게는 꽤나 익숙한 타이틀이라고 생각될지도 모르겠습니다만)

 다음주부터 Silex 라는 회사에서 일하게 되었습니다.
 기존에 하던 업무가 Perl 을 이용한 웹 어플리케이션과 그와 관련된 여러 툴의 개발과 유지보수였는데,
이 틀에서 크게 벗어나지 않는 업무를 하게될 듯 합니다. 거기에 + (청소, 유리창닦이, 커피심부름 등이 있을지도...)

 아무래도 한국에서의 첫 직장이다보니(뭐 그 이전에 학비번다고 공장에서 라인타면서 나사박던 시절도 있었지만), 여러모로 신경써서 적응해야 할 부분이 많을 것으로 사료됩니다. 가장 어려운 점이라면....
...
...
... 아마도 서울말 배우기?
...
...

  이번주부터는 서울에서 살게되었기 때문에, 여러가지 오픈소스나 각종 친목 모임이 있다면 발로 뛰며 나가볼 생각입니다. 업무 등이나 여러면으로 앞으로도 많은 지도편달을 부탁드리겠습니다 (_ _)

신고
perl, Silex, 이직, 입사
IT/Perl 2011.04.30 17:47

[ Perl / Cloud ] DotCloud .. 드디어 Perl Cloud 의 시작

DotCloud announces Perl support aka camels-as-service http://t.co/ZZSzWzbThu Apr 28 01:17:37 via Twitter for iPhone


 지난 28일 DotCloud 에서 Perl 을 지원하기 시작했습니다. Google App Engine, Heroku 등을 기점으로 시작한 PaaS 는 대개 Python, Java, Ruby, Node.js 등 Perl 을 제외한 상태에서 서비스가 되고 있었는데, 이번에 DotCloud 가 드디어 Perl 을 지원함으로인해 Perl 진영의 PaaS 로의 움직임이 시작되지 않을까 합니다.

  처음으로 Perl PaaS 의 기대감에 설레게했던 Phenona(http://www.phenona.com/) 는 Private Beta 중인 것같고.. 예전에 Private Beta 신청한 게 미끄러진 것 같네요. Phenona 는 메인화면에서 대놓고 Perl5 를 꺼내놓아서, Perl Developers 만의 PaaS 가 되지 않을까 하는 많은 기대를 하게끔 해주었습니다. CPAN 에서 Phenona Client 가 있으니... 어서 초대장이라도 오든가 해서 한번 접해보고 싶네요.

  현재 Mojolicious 나 Dancer, Catalyst 등의 여러 Perl Web Application Framework 를 중심으로 DotCloud 의 첫발을 위한 엔트리가 소개되고 있습니다.
  * Mojolicious

  * Dancer

@dot_cloud #perl #Dancer on the #cloud (dotcloud.com) EASY AS 1-2-3! https://gist.github.com/949192 WOW! Really well done!Fri Apr 29 23:08:48 via web

 
  * Catalyst 

@miyagawa good luck on the new job at @dot_cloud! Thanks to you guys, people can now easily deploy Catalyst apps too =) http://t.co/Dmhf7lfSat Apr 30 07:38:33 via Tweet Button


  관심이 있으신 분들은 한번 도전해보는 건 어떨까요?

  그리고 방금전에 터진 DotCloud 와 Perl 진영에 관한 빅뉴스가 하나 있었습니다. 


  바로 Perl 진영에서 가장 활동적인 해커인 @miyagawa 씨가 전직 SAY Media(옛날 Six Apart) 를 떠나서 DotCloud 로 회사를 옮겼다는 군요. 재미있게도 그의 지난 1년간의 주업무는 Python 이었고, DotCloud 도 Python 기반인 관계로 앞으로의 업무는 Perl 보다 Python 을 사용하게 될 것이라고 합니다. 그리고 서로간의 좋은 아이디어를 가져와 보완해줄 수 있지 않을까 하고 생각하고 있네요.
신고
IT/Perl 2011.02.15 01:30

[ Filstapaper / Instapaper ] 서버이전!

#Filstapaper 가 다운되었습니다. 수꼴세력의 음모로 인해서 서버를 옮깁니다.Tue Feb 08 02:50:55 via Echofon

#Filstapaper 일단 서버 이전 완료했습니다. http://bit.ly/9WdJCY -> http://bit.ly/hq6GkxTue Feb 08 03:53:18 via Echofon


  뭐 1주일이 된 지금에서야 밝히는 바이지만, 아직도 Filstapaper 를 애용해주시는 분들이 계시다면 감사할 따름입니다. 일단 기존 서버제공자의 사정상 새로운 물주를 찾아서 또 배회했습니다. 뭐 사실 Filstapaper 는 사용자들이 도메인이 어찌되었든 뭐 신경쓸 부분은 전~혀 없기는 하지만... 아무튼 필터링된 사이트에는 지난주부터 filstapapaer.app.perl.kr 이라고 뜨게 되었습니다. *.perl.kr 도메인 오너 @kiseok7++
  그리고 새로운 안식처를 제공하는 데 많은 힘을 보태주신 @yuni_kim++
  또한 이런 시련을 안겨준 @y0ngbin-- 에게 감사합니다.

  Filstapaper 

신고
IT/Perl 2011.01.14 11:05

[ Perl ] Seoul.pm 펄 크리스마스 달력 PDF 화

wkhtmltopdf 로 뽑아본 Seoul.pm AdventCalendar 2010 http://bit.ly/f2qsKmThu Jan 06 12:42:19 via Echofon


2010/12/04 - [IT/Perl] - [ 서울 펄 몽거스 펄 크리스마스 달력 ] 아기다리고기다리던...

  작년(2010) 12월 1일부터 12월 24일까지 많은 분들의 노력의 결과로 무사히 Seoul.pm AdventCalendar 가 완성되었죠. 늦었지만 모두들 수고 많으셨습니다.

  잠깐 회사일때문에 html2pdf 하는 툴을 찾아보다가 PDF::FromHTML 을 봤는데 CSS 지원이 안된다길래 그냥 접었는데... @yuni_kim 님의 번뜩이는 발언 "Webkit" 이야기를 듣고 검색해보니 그럴 듯한 놈이 나왔었습니다.


  바로 wkhtmltopdf 인데요. 보통 브라우저에서 PDF 파일로 웹페이지를 인쇄하는 것과 같은 결과를 볼 수 있습니다. 

  그래서 대충 AdventCalendar 의 기사중에 Header/Footer 는 떼버리고 기사내용만 따로 발행해서 PDF 로 만들어 봤습니다.


  위의 링크에서 다운로드하실 수 있구요. 모아서 한꺼번에 보기에는 적당하지 않나 싶습니다. :-)
  물론 부분적으로 눈에 거슬리는 부분은 없지 않아 있지만...
신고
TOTAL 483,666 TODAY 5

티스토리 툴바