판에 박힌 코드에 대한 필요를 줄이고 복잡한 파이썬 애플리케이션 개발 속도를 높이기 위해 페이스북 엔지니어링(Facebook Engineering)이 하이드라(Hydra)라는 이름의 오픈소스 프레임워크를 개발했다. 이를 이용하면 명령 줄이나 설정 파일에서 가져온 애플리케이션의 설정을 '조합'할 수 있다.
페이스북은 하이드라가 코드와 설정을 개발, 유지 보수하는 유연한 접근법을 제공한다고 설명했다. 이를 통해 머신러닝 연구 같은 분야에서 복잡한 애플리케이션 개발 속도를 높일 수 있다. 이 프레임워크는 MIT 라이선스로 배포되며 설정을 조합하거나 덮어쓰는 것도 가능하다. 이밖에 하이드라의 주요 기능은 다음과 같다.
- 새로운 활용 사례와 요구가 있을 때 기존 코드의 상당 부분을 재작성하지 않고도 쉽게 기능 추가 가능
- 복잡한 애플리케이션에서 설정 파일 제어, 설정 로깅, 명령 줄 플래그 정의 등에 관용적으로 사용하던 일부에 대한 필요성 감소.
하이드라를 이용하면 설정 파일을 통하거나 혹은 명령 줄에서 구조를 바꾸는 것이 가능하다. 이는 설정을 매우 약간 달리해서 복사한 것을 관리하거나 설정 값에 로직을 추가하는 등 설정을 수정할 때 발생할 수 있는 문제를 다룬다. 또한 애플리케이션을 실행하기 위해 우선순위에 따라 설정을 조합하거나 덮어쓰기 할 수 있다. 다이내믹 명령 줄 탭 완성 기능을 이용하면 개발자가 복잡한 설정에 대한 가시성을 확보하고 오류를 줄일 수 있다. 애플리케이션은 논리적으로 혹은 원격으로 실행할 수 있는데, 이를 통해 사용자는 더 많은 로컬 자원을 쓸 수 있게 된다.
페이스북은 현재 하이드라를 복잡한 연구 프로젝트의 시제품 개발에 사용하고 있다. 하이드라는
깃허브에서 다운로드할 수 있다. ciokr@idg.co.kr