Offcanvas

개발자

디노 1.13 출시··· HTTP 서버 API 안정성 강화

2021.09.01 Paul Krill  |  InfoWorld
노드.js(Node.js) 대체재로 개발된 자바스크립트/타입스크립트 런타임의 최신 버전 ‘디노 1.13’이 지난 8월 10일(현지 시각) 출시됐다. 이번 릴리즈는 디노에서 기본적으로 여러 HTTP 트래픽 변형을 지원할 수 있도록 기본 HTTP 서버 API를 안정화했다. 
 
ⓒGed Carroll (CC BY 2.0)

개발팀에 따르면 디노 1.13에서 이 기본 HTTP 서버 API는 안정 상태로 제공된다. 이를 통해 디노에서 HTTP/1.1 및 HTTP/2 트래픽을 지원할 수 있게 됐다는 설명이다. 해당 시스템은 하이퍼 웹 서버를 자바스크립트 API로 표시한다. 단, 현재 std/http를 사용한다면 다음 릴리즈에서 std/http가 제거될 예정이므로 기본 HTTP 서버로 업그레이드하는 것이 좋다고 개발팀은 권고했다. HTTP 서버 API는 지난 4월 디노 1.9에서 도입됐다. 

디노 설치 방법은 이곳에서 확인할 수 있다. 이 밖에 디노 1.13의 새로운 기능 및 개선사항은 다음과 같다. 

self.structuredClone 함수가 추가됐다. 이는 관용적 비동기 API에서 웹 작업자와 메시지포트(MessagePort) 간 메시지를 전달하는 데 사용되는 구조화된 복제 알고리즘을 표시한다. 이 알고리즘은 자바스크립트 값을 딥 클론할 수 있고 순환 객체 참조를 지원한다. 

• TLS와 관련해 디노에서 신뢰하는 인증기관을 전환할 수 있는 DENO_TLS_CA_STORE 환경 변수가 도입됐다.  

–-unsafely-ignore-certificate-errors 플래그가 추가됐다. 이를 사용하면 SSL 인증서 확인을 비활성화할 수 있다(단, 개발팀은 이 설정이 위험하기 때문에 인증서 오류를 무시하는 데 사용해서는 안 된다고 언급했다).

• 웹크립토(WebCrypto) API에 기능이 추가됐다. 예를 들면 crypto.subtle.verify는 이제 해시 기반 메시지 인증 코드(Hash-based Message Authentication Code; HMAC) 키에서 생성된 서명 확인을 지원한다. 

• 디노 언어 서버 및 VS 코드 확장이 업데이트됐다. 이를테면 이제 자바스크립트 및 타입스크립트 파일에 코드 작업을 리팩토링할 수 다. 이는 코드를 함수 및 상수로 추출하거나 코드를 새 파일로 이동하는 것과 같은 일반적인 작업에 리팩토링을 제공한다. 언어 서버에서 편집기를 통해 설정할 수 있는 deno.cache 설정도 추가됐다. 

• 레플(REPL)의 경우 이제 함수, 클래스 또는 타입스크립트 유형 앞의 내보내기(export) 키워드가 무시된다. 이는 모듈에서 레플로 코드 조각을 복사하여 붙여넣기할 때 유용하다는 게 개발팀의 설명이다. 또한 사용자가 레플로 이동하기 전에 JS 런타임에서 코드를 실행하기 위한 —eval 플래그가 추가됐다. 

Deno.permissions API가 업데이트됐다. ‘읽기’, ‘쓰기’, ‘실행’ 권한을 쿼리할 때 문자열 외에 URL도 허용한다. 

• 기본 플러그인 시스템이 디노에서 직접 러스트(Rust) 이외의 언어로 작성된 라이브러리를 호출할 수 있도록 해주는 일반적인 FFI(Foreign Function Interface)로 대체됐다. 

• V8 자바스크립트 엔진이 버전 9.3으로 업데이트됐다. 

디노는 노드.js 런타임의 안전한 대체재로 개발됐다. 디노 1.0 릴리즈는 지난 2020년 5월 공개됐으며, 그 이후 여러 포인트 릴리즈가 발표됐다. ciokr@idg.co.kr





 
추천 테크라이브러리

회사명:한국IDG 제호: CIO Korea 주소 : 서울시 중구 세종대로 23, 4층 우)04512
등록번호 : 서울 아01641 등록발행일자 : 2011년 05월 27일

발행인 : 박형미 편집인 : 천신응 청소년보호책임자 : 한정규
사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.