3월 29일 주간기술보고

Summary

협업및 지원

커뮤니케이션을 원활하게 하기 위해 팀은 개발팀간 내부 의사소통 채널을 만들었습니다.
V1 API는 지난주 마무리하였고 테스트 적용범위를 확대했습니다.
주소 메타정보 검색을 위한 V1 엔드포인트 추가를 마무리했고
(주소를 full로 검색하는게 아니라 주소별로 간략한 메타 정보를 매핑해서 그 메타정보만 가지고 검색할 수있게 하는, 한마디로 검색 알고리즘의 속도개선을 위한 API작업이라고 보시면 됩니다) 프론트엔드팀이 이 V1 교환정보를 수집해서 리뷰하고 있습니다.
(이제 API를 내놓고 쓸만하게 되었다는 뜻입니다. 원문을 보시면 CSL-0000 형식으로 표현이 되어있는데, 각각의 항목에 테스트 아이디를 매겨놓고 항목당 테스트 시나리오를 만들어 준비된 시나리오대로 결과가 나오면 테스트 완료된 것으로 간주합니다.)
팀은 새 API로 servant-quickcheck(지갑 API테스트를 위한 도구입니다. 참고 : GitHub - haskell-servant/servant-quickcheck)를 하는게 작업에 더 효과적이라 결론지었습니다.
새로운 카르다노 노드가 원래의 카르다노 노드와 비교해서 같은 로그를 발생시키는지 확인했는데, 병합되고 있는지는 확인해봐야합니다.
(테스트를 위해 노드를 카피 떠서 로그를 분석해봤다는 말입니다. 리허설 테스트를 하는 것으로 보입니다. 똑같은 로그가 쌓이면 문제 없이 돌아가는 것으로 간주하고 있습니다.)
지갑키를 가져오는 엔드포인트에 대한 논리적 통합테스트는 아직 완료되지 않았고 클라이언트 테스트를 해봐야 합니다.
네트워크 팀이 NTP(시간동기화프로토콜) 재구성후 지갑 api 적용 테스트 준비되었다고 보고했습니다.
새로운 V1 엔드포인트가 기존 v0 엔드포인트와 비교해서 데이터 누락이 없는지 수집하기 위한 작업 준비가 되었습니다.
(정리하자면, 이번주는 지갑의 백엔드와 통신할 V1 API의 통합테스트에 시간을 보낸것으로 파악됩니다. 아직 다 끝난 것이 아니고 다음주도 계속 됩니다.)

다이달루스

페이퍼 월렛 인증서 생성기의 사양이 변경되었으므로 구현할 사항이 변경되었고 수정작업 들어갑니다. 외부 감사를 받아야하기때문에…
(모르시는 분들을 위해, IOHK는 하스켈로 작업된 내용이 제대로 코드의 법칙을 지키는지, 잘못 코딩하고 있는 부분은 없는지 등을 외부 전문 컨설팅 기업에 감사 의뢰하고 리뷰 받습니다. 백서에도 보시면 나와있는 내용이고 실제로 시행하고 있네요.)
또 React-Polymorph 라이브러리를 새로 올려서 리팩토링(재구성)하고 배포할 준비를 하고있습니다.( 페이퍼월렛이 어떻게 생겼는지 조만간 볼 수있을것 같네요)

지갑 백엔드

지갑의 사양변경이 있었으므로 새로운 데이터 계층을 구현했었습니다.
최초설계자와 협업해서 검토를 마쳤습니다.
풀리퀘스트(이말이 나오면 팀 리더나 IOHK내 최고 선임 기술자에게 보고를 한다고 생각하시면 되겠습니다)는 아직 준비가 안되었지만 순조롭게 진행되고 있는것으로 보고하고 있습니다.
(이 팀은 테스트 항목이 적절한지조차 V1 API설계를 다시 한번 보고 비교해서 테스트 결과를 보고했다고 하네요. 꼼꼼하군요!)
지지난주부터 골머리를 앓았던 TLS(트랜잭션 계층보안) 검토도 완료했습니다.
(캬… 고생했네… 휴가보내주고싶다 ㅋㅋㅋㅋ)
클라이언트 이름을 검증하는 스크립트도 추가되었습니다.
현재는 지갑의 비동기식 복구에 대한 작업을 하고있는 중이랍니다. 이건 이거대로 작업이 잘 안되고 있다고 하는군요.(지지난주부터 이작업을 손댄 것으로 아는데, 비동기 방식으로 지갑 데이터를 복구한다는 것 자체가 어려운 작업이긴 합니다. 복구는 데이터의 정합성을 엄격하게 지켜낼 수있어야 되는데 비동기방식이면 그게 지켜지기 힘듭니다. 난이도 있는 작업이란 뜻이죠. 이런 부분을 해결해나가는 거야말로 기술력이 있다고 평할 수 있는 것입니다.)
이게 어떻게 나타나느냐면,
-사용자가 지갑을 지웠다가 새로 설치하고 자산계정을 복구할때 몇% 진행중인지 보여줄 수있게 됩니다.
-UI상으로는 지갑 복구가 완전하게 될때까지 회색으로 처리돼서 건드리지 못하게 되어있을겁니다.
이 팀은 이게 상당히 중요하다고 생각합니다. (소중한 돈이 숫자로 나타나는데 그럼 안중요할리가 있나요. 확실하게 복구될때까지 트랜잭션이 일어나지 않도록 방지하는 작업인데요.)

네트워킹

NTP 재구성 작업 계속 합니다.
그리고 이팀 리더가 퀄리티있는 작업을 원하는 스타일이라 빨리 작업을 마감하는 것보다는 확실하게 일을 처리중이라고 합니다.
이팀이 맡은 블록스트리밍 작업이 결국 앞으로의 통합테스트에서 훨씬 쉽고 근본적인 원인을 찾아갈 수있게 테스트하는 환경을 제공해줄거라고 합니다.
(해봐야알겠죠. 제가 보기엔 이 팀은 왠지 시간을 너무 쓰고 있는것 같아요. 꼼꼼하게 하는건 좋지만. 하지만 제가 현장에서 일하는 사람이 아니므로… ㅋㅋㅋㅋ)

개발 환경 지원팀

V1 API가 이번주 작업의 핵심사항이었으므로 거기에 따른 협업이 주로 일한 내용인 것 같습니다. 감사보고서를 받아 나온 문제를 해결하고 지난주의 리눅스 자동설치관리자 계정 작업이라든가 하는 작업도 같이요. (이래저래 달달 볶이는 팀. 니들도 좀 뜸해지면 휴가 가라. ㅋㅋㅋ)

기타 등등

  • K/IELE
    맨티스팀. 런타임 검증, 코드 병합 테스트 도구 구축등 그냥 딱 전개 작업 계속 합니다.
  • 사이드체인
    계속 연구중. 5월달에 학회에 제출할 논문 작성중.
  • 스마트컨트랙트언어
    여기도 연구중. 지원자 면접보는중.
  • Marlowe
    연구보고서 초안 작성함. 검토중.
  • 기타
    회계처리 관련 설계 워크샵을 4월에 할거라고 합니다.
    다른 사항은 생략합니다.