Node-READ2.0의 새로운 기능: 스트리밍 디버거

Node-READ2.0의 새로운 기능: 스트리밍 디버거


주식회사 히타치 제작소
카페 연구부
서산 박태

개시하다


Node-RED는 프로그램을 만들 수 있는 인코딩이 없는 프로그래밍 도구입니다.이런 프로그래밍은 Low Code/No Code 프로그래밍이라고 불리며 최근 큰 관심을 받고 있다.Node-RID는 IoT 분야를 필두로 다양한 분야에서 널리 활용되는 Low Code 프로그래밍 도구 중 하나다.
노드로 불리는 기능 블록을 연결하여 Node-RID에서 프로그램을 쉽게 만들 수 있습니다.이런 노드 중에는 랜덤수 생성 등 간단한 실용성 노드, SNS로부터 정보를 수집하는 노드, 현재 유행하는 머신러닝을 하기 위한 노드 등 다양한 노드가 존재하는데 이것들은 OSS 노드대량으로 공개하다로 활용된다.
2021년 7월, Node-RID 최신 버전 2.0이 출시되었습니다.Node-READ2.0에는 어플리케이션 개발을 촉진하는 다양한 기능이 새로 도입되었습니다.나는 일련의 보도에서 Node-REA 2.0의 새로운 기능을 소개하고 싶다.
이 글은 그중의 프로세스 디버깅을 지원하는 기능으로 쓰이는 프로세스맵을 소개했다.

스트리밍 디버거


Node-READ는 프로그램 동작에 문제가 있을 때 동작의 상세한 상황을 확인하기 위해 일부 절차를 수정할 수 있는 편리한 흐름 편집기를 갖추고 있다.하지만 복잡한 절차를 수정하지 않고 그 동작을 확인하고 싶은 경우도 있다.
스트리밍 디버거는 다른 프로그래밍 언어의 디버거와 마찬가지로 지정된 지점에서 노드 RED 흐름의 실행을 중지하고 처리 상황을 확인하며 실행을 재개하는 기능을 가진다.이렇게 하면 절차를 수정하지 않은 상태에서 상세한 동작을 확인할 수 있다.

설치 방법


Node-RED의 흐름도는 Node-RED 호스트의 기본 기능이 아니라 Node-RED 1.3에서 가져온 플러그인 기능의 확장 기능을 사용합니다.노드와 마찬가지로 기능을 추가로 설치할 수 있다.
다음은 Node-RED에 디버거 기능을 추가하는 방법입니다.
  • 편집기 메뉴의 팔레트 관리 → 추가 노드부터 검색node-red-debugger

  • 노드 추가 버튼을 사용하여 기능을 추가합니다.

  • 노드 RED를 재부팅합니다.

  • 흐름 편집기 오른쪽에 있는 사이드바 탭에 '흐름 디버거' 가 추가되었는지 확인하십시오.

  • 이용 방법


    사이드바에서 [흐름 디버거]를 선택하면 다음과 같은 탭이 표시됩니다.
    왼쪽 위 모서리의 스위치는 초기 상태에서 "유효하지 않음"으로 설정되므로 [유효함]으로 변경됩니다.

  • 브레이크 설정
    디버거를 사용하면 노드의 입력 출력 포트에 단점을 설정할 수 있습니다.브레이크는 노드의 입출력 정보 포트를 마우스로 겹치면 연한 파란색의 둥근 사각형이 표시되도록 설정합니다.

  • 마우스를 클릭하여 포트의 사각형을 짙은 물색으로 바꾸고 포트에 브레이크를 설정합니다.

    현재 설정된 브레이크 목록이 Debaga 사이드바에 표시됩니다.이 목록에서 브레이크를 사용/사용 안 함으로 설정하고 제거할 수 있습니다.메시지가 중단점에 도달하면 [디버그] 사이드바에 메시지 내용이 표시됩니다.

    정지 메시지의 오른쪽이나 사이드바 위에 표시된 단추를 누르면 정지된 흐름 실행 절차를 다시 시작할 수 있습니다.
  • 실행 중지 프로세스
  • [디버그]는 실행 중인 프로세스를 중지하려면 아래쪽 사이드바 위쪽에 있는 중지 버튼을 누릅니다.

    중단점이 정지되었을 때와 마찬가지로 정지된 절차는 다시 실행과 절차 실행을 시작할 수 있습니다.
    또한 절차 중의 각 노드는 완전히 정지된 것이 아니라 노드 간의 정보 수발이 정지된 상태이다.따라서 Inject 노드의 반복 지정 등 정기적인 메시지 출력을 하는 노드는 출력 포트에 메시지를 저장합니다.

    디버그 예


    구체적인 예로 디버깅기를 사용하는 디버깅 과정을 소개하다.
    여기에 메시지 속성을 입력하는 간단한 절차를 예로 들자.

    다음은 객체 입력 정보를 출력하는 Inject 노드의 설정입니다.

    change 노드는 JSONata 출력을 사용하여 유효한 하중의 x 속성과 y 속성을 더한 결과입니다.

    이 절차를 실행해 보십시오. debug 노드의 출력은 다음과 같습니다. undefined
    확인을 위해, 플러그인 디버거를 사용하여change 노드의 입력 포트에 단점을 설정하고, 절차를 실행합니다.

    입력 정보를 확인하면 payload의 값은 대상이 아니라 문자열임을 알 수 있습니다.Inject 노드 설정payload의 값은 JSON 객체가 아닌 문자열이므로 JSON 객체로 변경됩니다.

    프로세스를 다시 실행할 때 원하는 값100을 출력합니다.

    끝말


    이 글은 Node-READ2.0의 새로운 기능인'스트리밍 디버거'를 소개했다.스케줄러는 기본 디버깅 기능을 Node-RID에 추가하지만, Node-RID 편집기의 사용 편의성 외에 디버깅 기능의 지원이 더해져 절차의 제작이 더욱 쉬워질 것으로 기대된다.

    Node-READ2.0의 새로운 기능 소개

  • Node-READ2.0의 새로운 기능: 개요
  • Node-READ2.0의 새로운 기능: 스트리밍 디버거
  • Node-READ2.0의 새로운 기능: Flow Linter
  • Node-READ는 OpenJS Foundation의 미국 및 기타 국가의 등록 상표 또는 상표입니다.
    JavaScript는 미국 및 기타 국가에서 오라클의 등록 상표 또는 상표입니다.

    좋은 웹페이지 즐겨찾기