알아 두어야 할 6가지 비주류 툴을 소개한다.
아키텍트(Architect, .arc)
.arc로도 알려진 아키텍트 프로젝트는 클라우드 인프라를 위한 일반 텍스트 매니페스트를 제공하여 개발자가 아마존 웹 서비스의 비즈니스 로직에 집중할 수 있게 해준다. 개발자는 아키텍트를 사용해서 AWS 람다(Lambda) 클라우드 서비스에서 실행할 애플리케이션을 설정할 수 있다. 아키텍트의 목적은 개발자가 신속하게 서버리스 컴퓨팅을 준비하고 프로비저닝할 수 있도록 하는 것이다. 아키텍트 매니페스트에서 로컬 코드를 생성하고 클라우드 인프라를 구성해 프로비저닝하기 위해 아키텍트와 함께 NPX 패키지 러너가 사용된다.
현재 자바스크립트 프로그램에서 작동하지만 향후 파이썬 및 고 프로그램과도 호환될 가능성이 있으며, 마이크로소프트 애저와 같은 다른 클라우드에서도 사용 가능하도록 확장될 여지도 있다.
아키텍트는 NPM을 통해 다운로드할 수 있다. npm I @architect/workflows
Interledger.js
Interledger.js는 디지털 지갑과 국가 결제 시스템, 블록체인에 이르기까지 모든 유형의 원장(ledger) 간 대금 송금을 위한 W3C 인터레저(Interledger) 프로토콜 스택의 자바스크립트 레퍼런스 구현물이다. 목적은 위치 또는 통화와 관계없이 비즈니스 거래를 용이하게 하는 데 있다.
인터레저와 함께 원장 간 대금을 보내기 위해 커넥터가 사용된다. 해시 시간 잠금 계약(HTLC) 조건부 전송을 사용하는 조건부 전송이 멀티홉 송금을 보호해서 대금 손실 또는 도난을 방지한다.
Interledger.js는 깃허브 리포지토리에서 다운로드할 수 있다.
인턴(Intern)
자바스크립트 및 타입스크립트 라이브러리와 애플리케이션을 위한 테스트 케이스를 작성할 수 있게 해주는 테스트 스택이다. 최소화된 정형화를 특징으로 하지만 장기간 테스트 유지를 위해 지켜야 하는 기본적인 베스트 프랙티스가 있다.
인턴의 아키텍처는 개발자가 맞춤 테스트 인터페이스, 실행기 및 리포터를 작성해서 테스트 실행 방법을 조정하고 기존 코딩 환경과 통합할 수 있도록 한다.
테스트는 브라우저스택(BrowserStack), 소스 랩(Sauce Labs), 셀레늄(Selenium) 등의 플랫폼에서 실행할 수 있으며, 브라우저, Node.js 또는 인턴 테스트 러너를 사용해 다른 브라우저 및 플랫폼에서도 실행된다. 인턴은 젠킨스(Jenkins) 및 트래비스CI(TravisCI)와 같은 CI/CD 시스템과도 통합되며 그런트(Grunt) 작업이 함께 제공되므로 그런트 워크플로에 추가할 수 있다.
인턴은 깃허브에서 다운로드할 수 있다.
제리스크립트(JerryScript)
제리스크립트는 IoT 디바이스를 위한 가벼운 자바스크립트 엔진이다. 삼성이 개발했으며 RAM과 ROM 용량이 작은 마이크로컨트롤러에서 실행된다. 온디바이스 컴파일 및 실행을 지원하며 주변기기 액세스를 구현한다. 그 외의 특징은 다음과 같다.
- ECMAScript 5.1 규격 준수
- ARM Thumb-2 명령어 세트용으로 컴파일할 경우 바이너리 크기 160K
- 낮은 메모리 소비에 맞게 최적화
- 애플리케이션에 손쉽게 내장하기 위한 용도의 C API
제리스크립트의 구성요소에는 파서와 VM이 포함된다. 파서는 구문 트리를 구축해 추상화하는 과정 없이 자바스크립트 소스 코드를 바이트코드로 변환한다. VM은 바이트코드 명령어를 실행한다.
제리스크립트는 깃허브에서 다운로드할 수 있다.
노드 레드(Node-Red)
IBM이 만든 노드 레드 프로젝트는 Node.js를 기반으로 하는 플로우 기반 프로그래밍 환경을 제공하며, 주로 IoT 애플리케이션에서 사용된다. 디바이스와 API, 온라인 서비스를 연결하기 위한 툴을 제공한다. 그 외의 노드 레드 특징은 다음과 같다.
- 플로우 연결을 위한 브라우저 기반 편집기
- 편집기에서 자바스크립트 함수를 작성하는 기능
- 내장된 라이브러리를 통해 함수, 템플릿, 흐름을 저장해서 재사용 가능
- JSON을 사용해 흐름을 저장할 수 있으며, 저장된 흐름을 가져오고 내보내 공유 가능
노드 레드는 라즈베리 파이, 비글본 블랙(BeagleBone Black)과 같은 디바이스를 지원하며 도커에서 실행할 수 있다. 또한 아마존 웹 서비스 클라우드에서도 사용 가능하며, IBM 클라우드에서 보일러플레이트(boilerplate) 애플리케이션으로 사용할 수 있다.
노드-레드는 NPM을 통해 다운로드할 수 있다. 리눅스에서는 sudo npm install -g –-unsafe-perm node-red를 사용하고, 윈도우에서는 Node.js를 설치한 후 npm install -g –unsafe-perm node-red를 사용하면 된다.
웹힌트(Webhint)
웹용 린팅 툴로, 코드에서 베스트 프랙티스와 일반적인 오류를 확인해 사이트의 접근성과 속도, 보안을 강화하는 데 도움을 준다.
마이크로소프트 에지 브라우저 팀이 처음 개발했으며, 현재 크롬 및 에지 브라우저만 지원하지만 향후 파이어폭스도 지원할 예정이다. 개발자는 웹힌트용 커넥터를 개발해서 브라우저 지원을 추가할 수 있다 또한 WHATWG DOM의 JDSDOM 구현과 HTML 표준을 지원하므로 Node.js와 함께 사용할 수 있다.
웹힌트는 NPM을 통해 다운로드할 수 있다. npm install -g –-engine-strict hint
editor@itworld.co.kr