본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 2021> 프로그램의 일환으로, 무상으로 도서를 증정 받고 작성된 리뷰임을 고지합니다.
JS를 다루는 개발자라면 결코 모를 수 없는 Node.JS, 그리고 그것을 개발한 Ryan Dahl은 2019년에 공식 석상에서 Deno를 발표했습니다.
Deno는 Node의 앞뒤, 두 글자씩을 서로 뒤바꾼 Node의 애너그램이기도 한데요. 이처럼 Deno는 Node를 대체하기 위하여 새롭게 만들어졌습니다.
보안 문제를 비롯하여 중앙집중적인 모듈 시스템의 문제, 불필요한 여러 요소 등, 라이언 달은 2018년 컨퍼런스에서도 이러한 문제들을 언급하며, Node.JS에 관해 후회하는 10가지를 발표했다고 하는데요. 이후 발표된 Deno는 사실상 Node.JS의 여러 문제점을 해결한 2세대 런타임으로 등장하게 되었습니다.
150 페이지 남짓한 본문은, 정말 부담없는 분량입니다.
게다가, 이 얼마 안 되는 분량에 핵심 요소는 그득 그득 채워져 있습니다.
챕터는 아래와 같습니다.
CHAPTER 01 완벽한 디노
1.1 탄생 배경
1.2 디노 맛보기
1.3 멋진 기능 살펴보기
1.4 마치며
CHAPTER 02 타입스크립트 소개
2.1 타입스크립트란
2.2 형식 살펴보기
2.3 인터페이스와 클래스
2.4 타입스크립트 믹스인
2.5 마치며
CHAPTER 03 안전한 생활
3.1 보안 강화
3.2 사용 가능한 권한 확인
3.3 마치며
CHAPTER 04 npm 없는 세상
4.1 외부 모듈 사용
4.2 마치며
CHAPTER 05 기존 모듈
5.1 디노 표준 라이브러리
5.2 외부 모듈
5.3 흥미로운 모듈
5.4 마치며
CHAPTER 06 예제 프로젝트
6.1 디노 러너
6.2 응용프로그램 테스트
6.3 채팅 서버
6.4 마치며
CHAPTER 01 완벽한 디노
1.1 탄생 배경
1.2 디노 맛보기
1.3 멋진 기능 살펴보기
1.4 마치며
CHAPTER 02 타입스크립트 소개
2.1 타입스크립트란
2.2 형식 살펴보기
2.3 인터페이스와 클래스
2.4 타입스크립트 믹스인
2.5 마치며
첫 번째 챕터에선 Deno의 존재 의의부터, 필요성, 그리고 간략한 사용까지 경험해보게 됩니다. 만약 Node.JS를 충분히 사용해보신 개발자라면, 해당 파트에서 이미 감이 잡히셨을 것 같습니다. 이후 두 번째 챕터에선 타입스크립트를 살펴보게 되는데요. 당연히 세세한 부분까지 알 수는 없지만, 적어도 Deno에 필요한 타입스크립트의 특성은 충분히 설명하고 있다고 하네요. 저 역시 타입스크립트를 사용해본 경험은 없었는데, 짧게 마련된 해당 파트를 읽는 것 만으로도 여러가지 흥미로운 것들을 배울 수 있었습니다.
CHAPTER 03 안전한 생활
3.1 보안 강화
3.2 사용 가능한 권한 확인
3.3 마치며
CHAPTER 04 npm 없는 세상
4.1 외부 모듈 사용
4.2 마치며
다음 세 번째 챕터는 Deno를 통해 어떻게 보안을 강화할 수 있는지, 기존 Node와의 차이점과 함께 살펴보게 됩니다. Deno는 필요 권한을 직접적으로 명시하도록 하여, 라이언 달의 의도와 같이, Node의 취약점을 개선할 수 있었습니다. 또한, 그가 느꼈던 Node의 중앙집중적 모듈 관리의 문제점 역시, 네 번째 챕터, 'npm 없는 세상'에서 살펴볼 수 있습니다. 더 이상 npm과 같은 패키지 매니저를 사용할 필요 없이, 브라우저가 필요한 모듈을 가져와서 사용하는 방식으로 변경된 것입니다.
CHAPTER 05 기존 모듈
5.1 디노 표준 라이브러리
5.2 외부 모듈
5.3 흥미로운 모듈
5.4 마치며
CHAPTER 06 예제 프로젝트
6.1 디노 러너
6.2 응용프로그램 테스트
6.3 채팅 서버
6.4 마치며
다섯 번째 챕터는 디노의 표준 라이브러리를 중심으로 실제 개발에 관한 몇몇 예시를 살펴보고, 마지막 여섯 번째 챕터에서 본격적인 심플 프로젝트를 진행하게 됩니다. 몇 페이지 남짓한 분량으로, 마지막에는 소켓을 사용하는 채팅 서버 예제까지 진행하게 되는데요. 이 부분은 생각보다 훨씬 흥미로웠습니다.
일반적인 개발서적의 절반 분량도 안 되는 얇은 책이지만, 그래서인지, 오히려 더 좋았다는 생각입니다. 수백 페이지에 달하는 도서를 읽다보면 머리가 지끈거리고, 아파오기 마련입니다. 통독하기 어려운 것은 당연지사이고, 상당수의 책은 결국 백과사전처럼 그때 그때 필요할때 꺼내지는 신세로 전락하고 맙니다.
이러한 부분에서, Deno를 소개하고, Deno의 매력을 느끼게 하는 정도에 아주 적합한 분량과 내용이었다고 생각합니다. 비록 당장 Node를 사용하는 개발자들이 전면적으로 Deno로 이주하는 것은 어렵겠지만, 소프트웨어 시장을 주도하는 Google과 같이, Node의 창시자가 만들어낸 Deno 역시 언젠가는 JS 백엔드 런타임 시장을 전면적으로 독차지하게 될 것입니다.
JS 개발자라면, 무릇 읽어보아야 할 책이라고 생각합니다. 또한, 그 시점은 빠르면 빠를수록 좋을 것 같네요. :)