2013년 4월 25일 목요일

Mailive: 실시간 메일링리스트 모니터링 시스템

소프트웨어 개발은 관리자, 기획자, 개발자, 디자이너등 개발에 관련된 다양한 사람들이 모여서 각자 맡은 역활을 충실해야 좋은 소프트웨어가 완성됩니다. 개발자 입장에서 보았을때 소프트웨어 개발은 소스 코드를 작성 하는 것과 일맥상통합니다. 즉, 좋은 소스 코드를 작성할수록 좋은 소프트웨어가 만들어집니다. 다른 직업군(특히, 관리자)분들은 이러한 점을 이해하지 못하고 단기간에 결과물만 내놓기를 바라셔서 눈가리고 아웅하는 쓰레기 결과물만 만들어지거나 프로젝트 자체가 드랍이 되어 버리는 안타까운 일이 비일비재하게 발생하고 있습니다.

어쨋든, 본인이 개발자라면 좀 더 좋은 코드를 작성하기 위해서 끊임없이 단련해야 할 텐대요. 그러기 위한 가장 좋은 방법이 오픈 소스 프로젝트에 참여하는 것 입니다. 좋은 소스 코드를 쓰는 것은 좋은 글 쓰는 것과 똑같습니다. 좋은 코드를 많이 보고, 좋은 코드를 쓰려고 의식하면서 코드를 많이 써보면 자연스럽게 늘게 됩니다.

저는 시스템 프로그래머이므로 리눅스 커널로 대표되는 오픈 소스 시스템 소프트웨어들(Linux Kernel, Xen, KVM/ARM, U-boot)에 많은 관심을 가지고 있습니다. DINOS 운영체제 프로젝트를 릴리즈하기 전에는 여유가 없어서 아직 적극적으로 참여하고 있는 프로젝트는 없지만 틈틈히 소스 코드를 보면서 배워나가고 있습니다.

특정 오픈 소스 프로젝트의 코드에 익숙해지고 나면, 현재 개발이 어떻게 진행되고 있는지 확인하려면 메일링리스트를 구독해야 합니다. 오픈 소스 프로젝트마다 개발 진행 방법이 모두 다르겠지만, 제가 관심을 가지고 있는 오픈 소스 프로젝트들은 모두 메일링리스트에서 개발이 이루어 집니다. 개발버전 원격 저장소 코드에서 기능을 추가하거나 버그를 고친 패치를 작성하여 담당자(=커미터=메인테이너)와 메일링리스트에 메일 보내고, 해당 모듈 담당자는 이메일로 수신한 패치 코드를 리뷰 한 뒤 이상이 없으면 승인하는 방식으로 진행됩니다. 물론, 코드 리뷰는 메일링리스트를 구독하고 있는 다른 개발자가 할 수도 있습니다. 그 외, 해당 프로젝트의 로드맵이나 이슈등이 메일링리스트에서 논의되고 있으므로 실제로 오픈 소스 프로젝트에 참여하기 위해서는 메일링리스트 구독이 필수 입니다.

그래서 관심있는 메일링리스트 내용을 실시간으로 보기 위해 Mailive라는 웹 페이지를 만들었습니다. 제가 관심을 가지고 있는 Linux ARM kernel, U-boot, KVM/ARM, QEMU, Xen등의 메일링리스트 내용을 실시간으로 볼 수 있습니다. 웹 소켓으로 구현한 웹 페이지이므로 웹 소켓을 지원하지 않는 브라우저는 실시간 업데이트가 되지 않습니다. (참고> 웹 소켓 지원 브라우저)

오류 보고 및 기능 추가 요청이나 멋진 아이디어가 있으시면 언제든지 저에게 연락주시기 바랍니다. :)

  • 추가

서버 호스팅이 만료되어 코드 공개합니다. -> https://github.com/Taehun/mailive

댓글 없음:

댓글 쓰기