[프로젝트 보고] Perl Hackathon - midfielder 프로젝트

안녕하세요. Perl Hackathon 팀으로 참가한 verve입니다.

제목은 프로젝트 보고라고 했지만 자유로운 형식의 참가후기가 될 듯 합니다.

*19일... Pre-Hackathon
공식 TWOA 행사는 20일부터엿지만 Perl Hackathon 팀은
19일부터 서초동 인근의 코아텔이라는 곳에서 Hackathon을 진행했습니다.
이날에는 JEEN님, Lillin님, saillinux님, amorette님, yuni님, h0ney님, envi님과 더불어
TWOA에는 참가하지 못하셨지만 a3r0님과 cate님도 함께 하셨습니다. (혹시 빠진 분 계시면 죄송합니다.. ( _ _) )
저는 개인적 사정으로 밤11시경 일찍(?) 돌아갔기 때문에 밤샘진행 상황에 대해서는 자세하게 알지 못하지만
Perl Tutorial 세션에 대한 준비와 20일부터 시작할 프로젝트들의 주제를 잡는 일을 했던 것으로 알고 있습니다.

*20일... TWOA 첫날. 강좌, Tutorial...
드디어 대망의 20일의 날이 밝고 서울에서 출발하시는 분들의 집결지인 양재역으로 갔습니다.
이 때 병원에 입원 중이신 keedi님께서 함께 하신다는 반가운 소식을 듣게 됩니다.
아쉬웠던 것은 6시간 외출이기 때문에 청주에 내려가시고 얼마 안있어 다시 올라오셔야 된다는 거였죠.
드디어 청주에 도착하고 으리으리한 라마다 호텔로 입성하였습니다. 간단하게 참가수속을 하고
참가하신 분들이 자기소개를 한 후 점심을 먹었습니다.
만오천원이라는 말도 안되게 저렴한 참가비로 상당히 질좋은 뷔페에서 식사를 하게 되어서 영광이었습니다.
이날 저녁식사도 중국식코스요리였는데 가격대비 이런 대접이 합당한가 할 정도로 괜찮았습니다.
(참고로 전날 서초동 코아텔 숙박비로 인당 2만원씩 지출한 것을 감안한다면
가는교통비+점심식사+저녁식사+간식+숙박비+오는교통비=15000원이었으니 거의 공짜나 다름없다고 생각합니다.
jachin님을 비롯한 fossa분들과 라마다호텔 관계자분들께 감사의 말씀을 올립니다.)

박재호님의 강좌
2시부터 두시간 넘게 진행된 박재호님의 디버깅 강좌는 참가인원이 많아 별도 강의실이 아닌
hackathon 행사장에서 진행했습니다. 굉장히 재밌고 유익한 강좌였습니다. (제가 못들은 다른 강좌도 마찬가지라 생각합니다.)
keedi님께서 IRC #TWOA 채널에 메모를 하셨는데 로깅이 되고 있었는지 모르겠습니다. 다시 보고 싶군요.
Perl hackathon 팀에서 경품으로 거신 책 3개를 모두 가져가시는 쾌거를 이루기도 했습니다!
(keedi님, yuni님, JEEN님 모두 쟁쟁한 분들이셨죠. 역시! 킹왕짱!)
이후 프로젝트에서는 박재호님이 언급하신 문제상황을 모두 경험하는 재밌는 상황이 벌어지기도 했습니다.
예를 들면 가장 에러가 많이 나는 부분은 에러처리 부분이라는 말씀을 하셨는데 정말 에러처리부분에서의 에러로 고생했습니다!
또한 내 환경에서는 잘 되고 다른 환경에서는 안되는 경험!
역시 바로 배운 것도 몸에 체화를 못하고 고대로 다시 답습하는 저자신에 좌절하기도 했지요.

Keedi님의 Perl Tutorial
Perl Hackathon팀은 20명 가까이 참여했습니다! 이중 거의 반수가량의 분들은 Perl에 대해 아예 모르시거나
거의 모르시거나 이름만 들어보셨거나 아주 기초적인 것만 아시는 분들이었습니다. (저도 여기에 포함됩니다.)
그런고로 무언가 프로젝트를 하기전에 Perl 자체에 대한 Tutorial이 필수적이며 많은 분들이 이에 대해 고민하셨습니다.
아픈 몸을 이끌고 오신 keedi님께서는 이날 tutorial 진행을 맡아주셨습니다.
(덕분에 전날 밤새서 tutorial준비하신 분들은 먼산 바라보셨다는 후문이....)
두시간 가량 진행된 튜토리얼 세션이 끝난 후 대충 Perl이 뭐다라고 감을 잡은 후 본격적으로 프로젝트에 돌입....이 아니라
저녁식사를 하러 갔습니다. 금강산도 식후경이죠. :-)
이 때 keedi님은 병원에 입원하기 위해 서울로 돌아가셨습니다.
핼쑥하고 절뚝이는 몸으로 청주까지 내려오신 keedi님의 열정에 감동...

*20일~21일... All Night Hackathon
프로젝트주제 선정
저녁식사 후 본격적으로 프로젝트를 진행하기로 했습니다.
인원이 많기 때문에 삼삼오오 짝을 이루어 각자 개별 프로젝트를 진행하기로 했습니다.
일단 관심분야와 하고 싶은 것에 대해 의견을 수렴한 후 비슷한 관심사를 가진 분들끼리 팀을 이루었습니다.
저는 애초에는 Devel::REPL 개발환경을 emacs 환경에서 쉽게 다룰 수 있게 하는 Stylish REPL과 같이
Perl을 위한 Interactive 개발환경을 제공하는 emacs 모드 (Common LISP을 위한 slime과 같은)를 만들고자 했으나
구체적인 아이디어도 없고 사전조사할 것들도 많기 때문에 TWOA 기간 내에 하기에는 무리가 있다고 판단하여
재미있고 바로 코딩에 들어갈 수 있는 주제를 선정하여 프로젝트를 진행하는 것으로 맘을 바꿨습니다.

다음과 같은 프로젝트들이 있었던 것으로 기억합니다.

1. 콘솔환경에서 쓸 수 있는 사전제작 프로젝트
2. 웹라디오를 다운로드하여 podcast형식으로 바꾸어 주는 프로젝트
3. IRC 히스토리를 분류, 관리, 검색하는 프로젝트
4. 설정파일 등의 중요한 서버의 상태를 모니터링하는 프로젝트
5. 웹스크래핑 프로젝트 (네이버카페 이미지파일 저장, 싸이월드 이미지파일 백업, 미국드라마검색)
6. 프로야구기록을 보여주는 프로젝트
7. 기타등등... 제가 기억하지 못하는 프로젝트들...

한가지 재밌는 것이 이와 같은 프로젝트들이 개별적으로 진행되지만 IRC 봇을 통해 프로젝트의 결과를 통합하여
궁극적으로 하나의 커다란 프로젝트를 진행하는 형태로 되었다는 것입니다.
TWOA의 취지라고 할 수 있는 협업의 미덕이 자연스럽게 발휘되도록 프로젝트기획이 되었다고 생각합니다.

웹스크래핑 프로젝트
저는 웹스크래핑 프로젝트에 참여하였습니다. 리더 saillinux님의 진두지휘 아래 lillin님, 희환님 등과 함께 했습니다.
로그인을 해야 볼 수 있는 페이지에 올려져 있는 데이터를 스크래핑해 스크립트를 통해 자동으로 가져오는 프로젝트라고 할 수 있습니다.

미드필더(midfielder)
저는 이 프로젝트의 하위프로젝트로서 미드필더(midfielder)라는 이름으로 작은 프로그램을 만들어봤습니다.
DC미드갤러리 등에서 새로나온 미드에 대한 동영상 링크가 걸린 게시물을 자동으로 검색하여 ircbot을 통하여 알려주는 프로그램입니다.
향후 RSS 포맷으로 새로나온 미드에 대한 동영상 링크가 걸린 게시물을 알려주는 기능과
해당 동영상을 직접 받는 기능을 추가할 생각입니다.
기타 사용편의를 위한 부가작업 및 부하감소를 위한 개선 또한 진행 중입니다.

*What I Get (1+1=3)
이 프로젝트를 진행하면서 얻은 것이라면
1. WWW::Mechanize 모듈을 이용한 간편한 스크래핑구현 (saillinux님께 무한감사~)
2. Perl thread 기능을 통한 속도향상 (유니님께 무한감사~)
3. IRCbot의 구현에 대한 이해 (JEEN님께 무한감사~)
4. midfielder를 통해 하우스 시즌5 1화, 프리즌브레이크 시즌4 4화, 무한도전, 헤어왁스바르기강좌 등등을 얻었습니다!! :-)

그리고 무엇보다 중요한 것으로 1+1=3이라는 것을 깨달았습니다.
Perl로 무언가를 만들어본 경험이 없는 분들이 겨우 두시간 밖에 안배웠음에도 자신에게 의미가 있는 프로그램을
만들어봄으로써 Perl에 대한 자신감을 가질 수 있는 계기가 되었다고 생각합니다.
실제로 많은 분들이 자신이 해낸 결과물에 대해서 놀라워하는 것을 보았습니다.
그렇지만 이것은 많은 분들이 함께 했기 때문에 가능한 일이었습니다.
프로그램들을 한데 모아 IRC봇 프로젝트를 완성해 나가는 과정에서 이끌어주신 많은 분들의
(JEEN님, yuni님, saillinux님, amorette님) 피가 되고 살이 되는 조언과 도움을 통해 많은 것을 배웠습니다.
hackathon이라는 것을 저는 처음 경험했는데 밤새워 코딩하는게 이렇게 즐거운 것이구나 하고 놀랐습니다.

*The end is beginning is the end
좋은 기회를 마련해주신 자유 오픈소스 소프트웨어 연합회분들께 감사의 말씀을 드립니다.
TWOA에 참가하신 모든 분들께서도 수고하셨습니다.
그러나 TWOA 행사는 끝이 났어도 우리의 프로젝트는 이제 시작이죠!!
http://groups.google.com/group/perlmania_study 등을 통해 매주 Perl 스터디 모임을
하는 등 오프모임을 활발히 하고 있습니다.
이번 hackathon이 헌정되었다고 해도 과언이 아닌 #perl-kr(Freenode) irc채널에도 많은 분들이 계십니다.
앞으로 Seoul.pm 사이트가 개편되고 나면 Tech Talk를 개최하여 Perl에 대한 보다 깊이있는 주제에 대해 논의할 예정입니다.
여러분들의 참여는 언제나 환영입니다!!
처음에는 perl이 궁금해서 오셨다가 나중에는 사람이 좋아 머무르게 될것을 확신합니다.

긴 글 읽어주셔서 감사합니다~