2020 년 5 월 Deno 1.0이 공개되었으며, 이는 매우 인기 있는 대화 주제였습니다. 소란이 무엇인지 궁금하다면 올바른 장소에 왔습니다!
이 기사에서는 Deno가 무엇인지에 대해 간략히 설명하겠습니다. 주요 기능을 살펴보고 이 새로운 도구를 배우려는 이유를 묻습니다.
https://www.sitepoint.com/deno-introduction
Deno란?
그래서 그것은 무엇이며, 왜 만들어 졌습니까? JavaScript 및 TypeScript 런타임이므로 어느 언어로든 프로그램을 작성하고 명령 줄에서 실행할 수 있습니다. 브라우저 내에서 실행되는 JavaScript와 달리 Deno 프로그램은 파일 시스템 및 환경 변수와 같은 호스트 컴퓨터의 리소스에 액세스 할 수 있습니다.
Node.js에 대해 알고 있고 Deno가 비슷한 소리를 낸다고 생각한다면 옳을 것입니다. Deno는 Node의 제작자 Ryan Dahl의 아이디어로, Node의 디자인 결함으로 간주되는 것을 다루기 위해 Deno를 만들었습니다.
이 프로젝트의 목표는 기본적으로 안전한 스크립팅 환경을 제공하여 TypeScript를 일급 언어로 취급하며 가능한 한 브라우저와 호환되는 (실용적인 경우) 브라우저 환경을 제공하는 것입니다.
보안 기능
Deno는 기본적으로 안전하게 설계되었습니다. 모든 코드는 기본적으로 안전한 샌드 박스에서 실행되므로 프로그램이 네트워크 또는 파일 시스템에 액세스 할 수 있도록 명시적인 권한을 부여해야 합니다.
다음 명령 줄 플래그를 사용하여 프로그램에 권한을 부여 할 수 있습니다.
일류 TypeScript 지원
앞에서 언급했듯이 Deno는 JavaScript와 TypeScript를 모두 실행할 수 있습니다. 또한 TypeScript는 일류 언어로 지원합니다. 즉, 추가 빌드 단계없이 TypeScript 코드를 로드하고 실행할 수 있습니다. 먼저 코드를 JavaScript로 변환하기 위해 추가 도구를 설정할 필요가 없습니다.
물론 TypeScript는 최신 JavaScript의 수퍼 세트이므로 원하는 경우 오래된 JS로 코드를 작성할 수도 있습니다! Deno는 ES 모듈 가져 오기와 같은 개발자에게 친숙한 기능을 지원합니다
외부 코드 사용
Ryan이 대화에서 언급 한 것처럼 Deno의 목표 중 하나는 패키지 관리자가 필요하지 않은 것입니다. Node.js 및 PHP (각각 npm 및 composer 패키지 관리자를 사용)와 같은 런타임 / 언어와 달리 Deno에는 패키지 관리자가 없습니다.
대신 외부 패키지를 URL을 통해 직접 가져옵니다.
import { Client } from "https://deno.land/x/mysql@2.2.0/mod.ts";
스크립트를 처음 실행하면 Deno는 모든 가져 오기를 가져오고 컴파일하고 캐시하므로 후속 시작이 매우 빠릅니다. 분명히 가져 오기를 다시 가져 오도록 할 수 있는 경우가 있으며, cache 부속 명령을 사용하여 이를 수행 할 수 있습니다.
deno cache --reload my_module.ts
패키지 호스팅
Deno는 이와 같은 패키지 레지스트리를 제공하지 않지만 사용 가능한 써드 파티 모듈 목록이 있습니다. 이 서비스는 모듈의 GitHub 저장소에 매핑되는 표준화 된 버전 화 된 URL을 제공합니다. 이름으로 패키지를 검색하고 간단한 설명을 보고 클릭하여 패키지 추가 정보를 볼 수 있습니다.
표준 라이브러리
Deno는 Golang에 기반을 둔 표준 라이브러리를 제공하며 외부 라이브러리가 없는 고품질 표준 모듈 세트를 제공합니다.
표준 라이브러리의 패키지는 Deno와 함께 설치되지 않습니다. 오히려 이전 섹션에서 보았듯이 온라인에서 사용할 수 있으며 연결되어 있습니다. 모듈은 버전이 지정되어 있으므로 특정 버전의 사용법에 코드를 고정 할 수 있습니다.
import { copy } from "https://deno.land/std@0.50.0/fs/copy.ts";
즉, 표준 라이브러리의 모듈을 사용하여 작성한 코드는 이후 버전에서도 계속 작동해야 합니다.
라이브러리에는 명령 행 및 HTTP 기반 애플리케이션을 모두 빌드 하는 데 필요한 다양한 헬퍼 및 유틸리티가 포함되어 있습니다.
Deno 설치
Deno는 의존성이 없는 단일 실행 파일로 제공됩니다. 릴리스 페이지에서 바이너리를 다운로드하거나 아래 설치 관리자를 사용하여 설치할 수 있습니다.
셸 (macOS, Linux) :
curl -fsSL https://deno.land/x/install/install.sh | sh
PowerShell (Windows):
iwr https://deno.land/x/install/install.ps1 -useb | iex
Homebrew (macOS):
brew install deno
업그레이드
설치 한 후에 Deno는 다음 명령을 사용하여 최신 릴리스로 자체 업그레이드 할 수도 있습니다.
deno upgrade
또는 특정 버전으로 업 / 다운 그레이드 할 수 있습니다.
deno upgrade --version 1.0.1
미래는 밝다
Deno 매뉴얼은 "이전에는 Bash 또는 Python으로 작성된 유틸리티 스크립트를 대체 할 수 있는 훌륭한 도구"라고 제안합니다. 이것은 확실히 사실이지만 Node.js가 현재 널리 사용되는 동일한 사용 사례에 점점 더 많이 사용될 것으로 예상됩니다. 이미 많은 Express / Koa와 유사한 프레임 워크가 형성되어있어 점점 더 많은 타사 모듈을 사용할 수 있게 되면서 유형 안전 REST API를 구축 할 수 있습니다.
Node.js를 잊고 Deno를 배우기 시작해야 합니까? 업계의 현재 의견은 Node.js가 곧 사라지지 않을 것이지만 Deno는 분명히 볼 기술입니다.
데노 재단
Deno Foundations 컬렉션으로 Deno를 배우십시오. 우리가 게시 할 때 모든 Deno 커버리지를 여기에서 찾을 수 있으며 초보자에게 가장 도움이 되는 방식으로 구성되어 있습니다.
데노 기초
등록된 댓글이 없습니다.