최근의 boost-devel 소식들

boost-devel 메일링 리스트에서 최근에 제 관심을 끄는 이슈들입니다.

[Ann] Proposed Boost.TR1 library: first complete version now available.

http://article.gmane.org/gmane.comp.lib.boost.devel/121123/match=proposed+boost+tr1

John Maddock이 작업 중이던, TR1의 (거의) 완전한 첫번째 구현이 나왔습니다. 언제쯤 boost에서 그리고, g++에서 볼 수 있을까요? 기대됩니다.

Network library: What we have until now

http://lists.boost.org/boost/2005/04/24164.php

Boost.Net library에 관한 논의는 아주 오래전부터 있어왔지만, 구현을 하시던 분이 실종되기도 하고 (?), 우여곡절 끝에 최근에 다시 논의가 뜨거워지고 있습니다. C++에 아직 보편적으로 쓸만한 network library가 없다는 것은 C++ 개발자로서는 괴로운 일일 수 밖에 없죠. 간단한 작업을 위해서도 reinvent wheel을 해야하니까요. 최근에 개발된 언어들은 대부분 기본적인 socket으로부터, http와 같은 상위 layer protocol 까지 모두 지원하고 있는데 말입니다. 어서 C++ 개발자들도 자유롭게 개발할 수 있었으면 합니다. 전에도 적었듯이 reactor + fsm 을 구현해보고 싶은 생각이 있는데, boost에서도 multiplexor에 대한 논의는 계속 진행중입니다. (fsm은 이미 있긴 한데, 상당히 generic한 디자인이다보니 좀 복잡해서, multiplexor와 함께 잘 쓰일 수 있는지는 의문입니다.)

예전부터 다음 위키 페이지에 잘 정리되고 있으니 관심있는 분은 참고하시길.

http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostNet

더불어 Async I/O를 어떻게 제공해야하는가, platform neutral해야하는가, thread와 독립적이어야 하는가 등의 이슈에 대한 논의도 활발하게 진행중입니다.

http://lists.boost.org/boost/2005/04/24098.php

Regression testing and BuildBot discussions

http://lists.boost.org/boost/2005/04/24559.php

Boost에는 원래부터 automated regression testing을 하고 있었습니다만, 아마 개발자가 build를 하고 그 결과를 자동적으로 집계하는 식이었을 겁니다. 최근에 BuildBot(http://buildbot.sourceforge.net/)을 Boost의 regression testing에 도입하기로 결정된 것 같습니다. BuildBot은 분산 환경에서 주기적으로 build를 해주는 소프트웨어로 보입니다.

제가 회사에 있을 때, 팀에서 개발 중인 라이브러리의 regression testing을 담당하고 있었고, Boost를 모델로 했지만, 그 당시에도 차후에는 BuildBot과 같은 것이 필요하다는 생각을 했었습니다. 그 때는 BuildBot과 같은 기능은 차후로 미루고 단순히 cron을 사용했는데요. 굳이 새로이 개발하기보다는 BuildBot을 가져다 쓰는 것도 괜찮을 것 같군요. 주기적으로 build를 trigger하는 것뿐만 아니라, 분산 환경에서 on-demand build도 가능한지가 궁금하군요.

참, Regression Testing에 대해서 알고 싶으신 분은 Regression Testing에 대한 Wikipedia 항목을 참고하시기 바랍니다. (혹, 나중에 블로깅할 일이 생길지도 모르겠네요.) Automated regression testing의 이익에 대해서 알고 싶으신 분들은 Joel SpolskyDaily Builds Are Your Friend를 읽어보시기 바랍니다. Daily Build는 Joel의 유명한 The Joel Test에도 들어있는 항목이지요.

 

 

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.