본문 바로가기

~2009.12.31/software tale

The Way Of Approaching 후기.

TWOA 다녀와서.

그동안 회사일로 정신없이 보내느라 후기 및 프로젝트 관련보고가 늦어졌네요.
벌써 일주일이나 지났지만, 좀 적어 볼께요.
지난 9월 20-21일에 청주 라마다 호텔에서 자유 오픈소스 소프트웨어 연합회에서
The Way Of Approaching ( http://twoa.fossa.or.kr/ ) 이라는 주제로
1박 2일!간의 빡센 일정을 보냈지요~

저는 Perl Hackathon 의 Tutorial 팀에서 밤을 새었습니다.
아주 재밌었어요. 

perlmania 에서 study 하면서 곁눈질로 보고 배운 몇가지 모듈로 간단한
사전을 만들어 보았습니다.

기본적으로 네이버 Open API를 이용하여 구현했구요, 기본적인 컨셉은
linux혹은 unix console 에서 사용할 사전을 구현하는 것이었고요.

지금은 1차적으로 웹에서 긁어오게 만들어 놓았습니다.
아주 간단하지만, 재미있었습니다.

청주의 라마다 호텔, 꽤나 괜찮더군요. 첫날 도착후 점식, 저녁, 다음날 아침까지
호텔 뷔페에서의 먹음직스런 음식들, 아주 좋았어요.

hackathon 내내 무한 제공되어진 음료! 아주 멋진 큰 방;;
좋았습니다.

행사 일정중 3가지 강좌가 있었는데요, 2시간씩의 빡센? 강좌였어요.
저는 3가지중, GCC&GDB 강좌를 들었습니다.
대부분 다 아시죠? 박재호님의 GCC,GDB 강좌, 꽤나 인상적이었습니다.
(박재호님은 조엘온 소프트웨어를 번역하신 분이시죠? 그외에도 많으시고, 번역, 집필.. 많이하셨죠~)
특히, GDB에 대해 많은 걸 배운 기회였습니다.
GDB 디버깅이 익숙해 지기 전까지 쉽지 않은 디버거라고 저는 생각하거든요.
하지만, 사용법을 많이 배운듯 해요. 좋은 강좌였습니다.

나머지 두 강좌(버전 컨트롤 시스템과 스퀵)에 대해선 사정이 있어 참석하진 못했네요.
어쨌든, 이후부터 시작된 코드페스트를 아래 잠시 정리해 볼께요.

펄 해커쓴 팀에서 많은 프로젝트가 나왔는데요. 제가 참여한 콘솔용 네이버 사전을 잠시 소개할께요.

perl 5.10 을 기본으로 했어요.(하지만, 5.8에서도 당연 동작하지요. )
펄은 기본적으로 게으른 언어 입니다.
그 게으름의 으뜸엔 CPAN이 존재 하고 있습니다.

아래 모듈을 소개합니다. 저도 늦게 알았고, 잠시 사용법을 배워서 사용한
(감사합니다. 희원님(saillinux) :0 ) WWW::Mechanize 를 사용하여
웹 페이지의 컨텐츠 부분을 긁어오도록 하였구요.
네이버 사전의 HTML 구조분석을 위해 firefox 의 firebug 를 이용했습니다.

네이버 오픈 API를 사용하면, XML로 링크를 하나 던져주지요.
링크를 가져오는 방법은 가장 기본적은 IO::Socket 을 이용하여 받아오도록 했습니다.

펄을 시작한지 얼마되지 않아(그 와중에도 회사일로 바빠서 문법도 다 잊어버린 상태에서요..ㅜㅜ)
몇줄 되지 않은 코드를 밤새 겨우 짰지요.

코드를 보실수 있습니다.

이 코드의 경우, 아직 예외처리가 되어있지 않아요.
그리고 인터넷에 연결이 안되면 당연히 안나오는 단점이 존재합니다.
하지만, 부분적으로 코드를 수정해 나갈 참입니다.

펄 스럽지 않은 코드일 수 있습니다.
아직 펄이 익숙하지 않고, 저는 C 개발자이기에, 아마 C 처럼 보일 수 있어요 :-)

가령, go 를 찾으면, 한 화면이 넘어가는 경우가 생겨요.
당연하지요. 내용이 많으니까요.

그래서 아래와 같이 해서 간단히 스크립트를 만들어 사용하도록 해도 좋아요.

#!/usr/bin/bash
perl dic.pl $1 | more

이렇게 하니 스크롤은 제어가 가능하군요 :-)

아주 간단하지만, 저는 아주 즐겨 사용하고 있습니다.
개발은, 어느 정도 언어에 익숙해 지면, 특별한 이유가 없는한 많은 것들을 만들 수 있습니다. 언어를 사용하는 것은 그저 도구를 사용하는 것뿐이예요.

다만, 무엇을 만들 것인가를 생각하는 것이 가장 어려운 문제이지요.

여러분이 생각하는 것들을 perl 로 한번 구현해보세요.
생각보다 즐겁고 게으른 느낌을 직접 느껴보자구요.

나중에 기회가 되어 TWOA에서 다시 뵐수 있으면 좋겠습니다.!!
just for fun!