일전에 찰스의 트윗에서 Hydra가 언급된 것을 본 적이 있는데, 그게 뭘까를 생각해보고 깃헙을 뒤져봤습니다.
단서를 하나 발견하고 이에 대한 글을 씁니다.
뭐 일단 어려운 기술용어를 생략하고 최대한 간략하게 설명 드립니다.
카르다노의 모든 소스는 아시다시피 IOHK라는 이름 아래 깃헙에서 75개의 세부 프로젝트 소스단위 파일로 올라가있습니다.
이 소스코드들은 우리가 익히 알고 있는 하스켈 랭귀지로 코딩한것 뿐만아니라, JAVA, JAVASCRIPT, PYTHON, SCALA 등등
다양하게 존재하구요, 특히 SCALA라는 개발언어는 하스켈 못지않게 골때리게 어렵습니다. ㅎㅎ
무튼 그 가운데 Hydra라는 이름의 세부 프로젝트 파일도 존재합니다.
https://github.com/input-output-hk/hydra
개발자가 아닌 이상 이걸 봐도 뭐하는 물건인지 까막눈이실텐데요.
현재 카르다노 플랫폼은 로드맵에서 보셔서도 알겠지만 여러 파트를 설계하고 개발 진행중이죠.
결국 이 개발 파트들을 하나로 묶어 통합한 것이 카르다노 플랫폼이라 볼 수있습니다.
그럼 통합을 해야겠지요. 해야겠는데..... 어떻게 통합을 해야될까요?
일일이 하나하나? 감이 안오시죠? 이건 그 수도 많은만큼 제 아무리 찰스라도 쉽게 할 수는 없습니다.
네 그렇습니다. hydra는 그런 세부 프로그램단위의 개발파트들을 진정한 의미의 통합으로 묶어주는 데
좀더 수월하게 할 수있는 툴입니다.
일명 업계 용어로 시스템 통합(System Integration)을 하는 데 쓰이는 도구입니다.
hydra 자체도 nix package manager라는 툴 기반으로 만들어져있구요.
이걸 이용해서 각각의 개발파트들이 통합되어서 처음부터 끝까지 테스트해보았을때
설계한대로 정말 돌아가는지 알아보게 됩니다.
일단은 빌드(Build)라는 행위로 대변되는,
모든 개발 프로그램들을 끌어모아 하나의 틀(framework)로 구성하고
설계했을때 각각의 파트들이 가진 고유기능이 제대로 돌아가는지,
해킹 모의 시도를 해봐서 안전한지, 뭔가 문제가 있는지,
속도는 잘나오는지 등등 여러가지를 테스트합니다.
카르다노 플랫폼 정도 레벨이면 그 모든걸 사람이 수작업으로 할 수는 없는 노릇이죠.
업계에서는 대형 프로젝트를 통합하고 테스트하기 위한 툴도 존재하게 마련입니다.
이걸 트윗에서 언급한것은 제 생각인데,
이제 코딩들도 어느 정도 했으니 윤곽도 나오겠다, 슬슬 좀 합쳐볼까? 준비하자
정도 의미로 보입니다.