메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

디노 첫걸음

최신 자바스크립트 런타임 알아보기

한빛미디어

번역서

판매중

  • 저자 : 페르난도 돌리오
  • 번역 : 우정은
  • 출간 : 2021-03-10
  • 페이지 : 160 쪽
  • ISBN : 9791162244012
  • 물류코드 :10401
  • 초급 초중급 중급 중고급 고급
4.6점 (21명)
좋아요 : 18

자바스크립트의 새로운 보안 런타임, 디노의 모든 것 

 

노드(Node.js) 창립자 라이언 달이 노드의 단점을 보완하는 새로운 런타임 ‘디노’를 만들었다. 노드의 대안으로 떠오르는 디노의 탄생 배경부터 설치 방법, 타입스크립트 소개, 디노를 활용한 예제까지 다룬다. 노드의 npm이 가진 치명적인 보안 문제를 강화하는 방법과 빌드 프로세스를 수동으로 설정하지 않고도 타입스크립트로 애플리케이션을 개발하는 방법을 배운다. 패키지 관리자에 의존하지 않고 모듈을 생성하고 사용하는 방법도 알아본다. 이 책을 읽고 나면 자신만의 디노 애플리케이션을 만들고 테스트할 준비를 마칠 수 있다.

 

 




장별 요약

  • 1장: 디노의 탄생 배경과 디노로 어떤 문제를 해결하는지 살펴봅니다. 
  • 2장: 타입스크립트가 무엇이며 디노 백엔드 개발에 타입스크립트를 활용하는 방법을 설명합니다. 
  • 3장: 디노가 보안성을 어떤 방식으로 강화했는지 알아봅니다.
  • 4장: 중앙화된 모듈 저장소인 npm 없이 url로 모듈을 자유롭게 임포트하는 법을 설명합니다. 
  • 5장: 디노 설치 시 기본으로 제공하는 표준 라이브러리 모듈부터 흥미로운 모듈 몇 가지를 소개합니다. 
  • 6장: 디노로 만든 예제를 살펴보고 실전에 활용하는 방법을 알아봅니다.

 

 

주요 내용

  • 디노로 애플리케이션 구축하기
  • 타입스크립트로 백엔드 애플리케이션 구축하기
  • 패키지 관리자 없이 모듈 처리하기
  • 사용 권한과 기본 동작 설정하기

 

페르난도 돌리오 저자

페르난도 돌리오

16년 차 소프트웨어 개발자. API, 웹 서비스, SPA, Node.js 응용프로그램, PHP, 루비, 자바스크립트 HTML/CSS 등 수많은 웹 프로젝트에 참여했다. 웹에 SOAP의 바람이 불었을 때나 XML이 마법사처럼 AJAX의 X 역할을 처리할 때도 현업에 종사했다. 지난 몇 년간 Node.js를 사용했고 Node.js로 REST API를 설계하는 기술부터 최적의 디자인 패턴을 구현하는 방법까지 다루는 수많은 책과 기사를 집필했다. 현재 기술 관리자로 일하며 백엔드 개발에 사용되는 자바스크립트의 유연함과 강력함을 찬양하는 열렬한 자바스크립트 전도사다.

우정은 역자

우정은

인하대학교 컴퓨터공학과를 졸업하고 LG전자, 썬 마이크로시스템즈, 오라클 등에서 모바일 제품 관련 개발을 했다. 뉴질랜드 웰링턴에 있는 Xero에서 모바일 앱을 개발하다가 현재는 DevOps 팀에서 새로운 인생을 즐기고 있다. 2010년 아이폰의 매력에 빠져들면서 번역과 개발을 취미로 삼고 꾸준히 서적을 번역한다. 옮긴 책으로는 『플러터 인 액션』, 『처음 배우는 스위프트』, 『실전 자바 소프트웨어 개발』, 『모던 자바 인 액션』, 『실무자를 위한 그래프 데이터 활용법』(이상 한빛미디어) 등이 있다.

 

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 마치며

노드의 대안으로 떠오르는 디노 파헤치기

 

자바스크립트의 유일하고도 독점적인 컴파일이었던 노드를 대체할 새로운 런타임이 2020년 5월 공개되었습니다. 그 이름은 디노(Deno). 개발자들 사이에서는 Deno를 두고 이를 데노로 읽을 것이냐, 디노로 읽을 것이냐 말이 많았지만 ‘TSConf 2019’에서 이를 창조한 라이언 달이 로고가 공룡인 이유를 언급하며 디노라고 읽어야 한다고 주장했으니 우리도 디노라고 부르기로 했습니다. 

 

디노는 자바스크립트와 타입스크립트 모두를 지원하는 런타임입니다. 러스트를 주요 언어로 사용했고 Tokio를 비동기 라이브러리로 추가해 구현했습니다. 디노는 노드의 치명적인 문제였던 보안과 중앙 배포식으로 설계된 모듈 시스템을 개선해 개발자에게 더욱 편리한 개발 환경을 선사합니다. 아직 태어난 지 1년도 채 안 된 런타임이지만 커뮤니티와 라이브러리가 빠르게 발전하고 있습니다. 이 책에서 소개하는 예제를 살펴보며 새 런타임이 가져올 무서운 잠재력을 한번 확인해보고, 디노의 매력에 퐁당 빠져보길 바랍니다.



IMG_7389 2.JPG

 

 

 

나는야 자바 스프링 개발자. 토이 프로젝트를 하는데 서비스 규모가 크지 않아 RESTful API를 자바/스프링으로 개발하는 데에 고민이 있었다. 그래서 깔짝깔짝 Node.js를 기웃거리고 있었는데 노마드 코더의 영상(https://youtu.be/6MeB-IWq1I4)을 보고 디노의 존재를 알게 됐다. 설명을 듣고나니 DENO를 쓰지 않을 이유가 없었다.

 

 

뭘 하든 책 한 권 끼고 있어야 하는 나답게 책부터 찾았고 약 150페이지 분량의 가벼운 책 발견. 챕터 1의 제목부터가 '완벽한 디노'다.

 

 

책 리뷰에 디노에 대해 구구절절 읊을 필요는 없을 듯하고, 이 책을 보면서 좋았던 점을 이야기해보자면.

 

 

얇다. DENO를 본격적으로 시작하기 전에 '밑밥 깔기'에 최적화된 책이다. 왜 디노를 사용해야 하는지, 디노는 어떤 장점을 가지고 있는지, 특히 주목해야 하는 부분은 무엇인지를 소개한다. 마지막에는 간단한 예제 프로젝트까지 실려있으니 입문서의 정석스럽다.

 

 

타입스크립트에 대한 짧은 소개가 챕터 2에 실려있다. 자바스크립트에서 타입스크립트로 넘어가려고 각 재고 있던 터라 반가웠다.

 

 

책을 다 보고 느낀 점은 Node.js, JavaScript를 사용하는 개발자가 DENO로 넘어가고자 할 때 밑밥 깔아주기 좋은 책이라는 것?

 

 

디노 1.0은 2020년 5월에 공식 발표 되었고, 창시자 라이언 달은 2021년 3월에 디노 컴퍼니 설립 발표를 했다. 그리고 지금 디노는 1.9. 열일하는 디노. 토이 프로젝트에 한 번 써볼까나.



** 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성한 서평입니다. **

 

인터넷 세상의 큰 물줄기를 바꾼 사건이 있다면, 그 첫번째는 아마도 ajax가 세상에 나온 사건이었을 겁니다.

ajax가 페이지 단위로 서버의 데이터를 가져오던 웹의 개념을 완전히 바꾸었죠.

그리고 그 다음은 v8엔진입니다. 어떤 유능한 개발자 집단이 다음 프로젝트를 고민하고 있다는 소문을 전해 들은 마이크로소프트와 구글이 그들에게 러브콜을 했는데요. 마이크로소프트는 본사 근처로 이주할 것을 요청했지만, 구글은 근처에 새로운 사무실을 차리고 만들고 싶은걸 만들어달라고 했다는군요.

v8엔진은 인터프리터언어인 자바스크립트에 컴파일 개념을 도입해서 실행속도를 크게 향상시켰습니다.

그다음 사건은 아무래도 node가 세상에 나온 사건이었습니다. 원래 자바스크립트 자체가 클라이언트 쪽이나 서버쪽 양쪽에서 사용될 수 있도록 설계되었다고는 이야기가 전해지지만, 사실 서버쪽에서 자바스크립트를 적극적으로 사용할 수 있는 획기적인 솔루션이 없었거든요.

node는 그걸 해냈습니다.

node가 세상에 나온다음 자바스크립트는 더 많은 응용분야에서 사용되는 강력한 언어로 탈바꿈했고, 극단적인 전성기를 지나고 있습니다.

하지만, node 세상에 내 놓은 "라이언 달"은 원래 노드에서 이루고 싶었던 몇가지 개념과 현재 노드가 취약한 부분에 대해서 일종의 빚을 갚고 싶었던것 아닌가 싶습니다.

그래서 node의 스펠링의 앞뒤를 바꾼 de+no라는 걸 만들기 시작했습니다.

이 책은 그 deno에 대해서 설명하고 있는데요. 이미 원숙한 플랫폼 라이브러리로 성장하고 있는 디노에서 "라이언 달"이 노드에 주고 싶었던 변화들만을 주제로 설명하고 있습니다.

타입스크립트, 보안, 패키지 처리 방식이 그것인데요. 다른 IT책들에 비해 투텁지 않은 분량이지만, "라이언 달"이 노드의 창시자로서 후회했던 것들을 디노에서 어떻게 보완해주었는지는 완벽하게 설명하고 있습니다.

디노의 첫걸음은 160페이지의 얇은 구성으로 되어 있습니다. 디노에 대해서 간략하게 소개하고 있는만큼

이동중이나, 휴식중에 간단하게 읽어 넘길수 있도록 되어 있습니다. 디노가 어떤 런타임인지, 어떤 특징이 있는지 

궁금한 사람들이 손쉽게 읽을 수 있도록 소개하고 있어서 부담없어 좋았던것 같습니다. 디노의 특장점 설명부터,

주요 언어인 타입스크립트 문버에 대한 설명, 그리고 기존 외부 모듈을 연결하는 방법에 대해서도 간략하게

설명하고 있습니다.  자세한 문법을 습득하기 위한 그런 책이 아니라, 디노에 대해서 간략하게 소개하면서

흥미를 느낄 수 있을 정도로 간략하게 되어 있습니다.

백엔드 언어를 공부하고 싶은 프론트 개발자, 자바스크립트에 익숙한 개발자, 노드, 자바 개발자들도 디노에 대해서

익히고 체험할 수 있는 좋은 책이지 싶습니다. 어떤 새로운 런타임에 대한 관심을 충족시키기엔

충분한 서적이지 싶습니다.

 

총평은 이렇습니다.

디노의 첫 한글 소개서

디노라는 생소한 런타임을 소개하면서, 많은 개발자들이 입문할 수 있는 포문을 열 수 있는 책이 되지 않을까

기대해 봅니다.

디노(DENO) 첫걸음

 

백엔드를 자바스크립트로 구현하는 것을

적은 노력으로 엄청난 결과물을 만들어내며

안정적으로 지원하고 있는

노드도 너무 좋은 언어라 생각했는데

그 노드를 만든 사람이

노드를 포기하고 디노를 선택했다는 것만으로도

디노를 시작해야 하는 필요성은 충분한 것 같다.

 

 

디노첫걸음.jpg

 

타입스크립트를 주 언어로 사용하는

디노를 지원하는 라이브러리 수가

폭발적으로 증가하고 있는 상황에서

디노가 제공하는 핵심적인 내용이 압축되어 있고,

부담 없이 빠르게 읽을 수 있는

많지 않은 페이지의 책이라 더욱 좋았던 것 같다.

 

노드가 자체적으로 해결할 수 없는

기본적인 문제들 때문에 내부 구조적인 문제가 있다는

생각에서부터 출발한 것이 디노의 시작이었다.

 

기존 노드의 기술스택을 변경해서

러스트를 주요 언어로 사용하고

비동기 라이브러리를 추가해서

이벤트 기반의 비동기 아키텍처를 구성했다.

 

그러면서 문제라고 생각하는 것들을

완벽하게 해결한 것들에 대해 설명해주며

보안, NPM의 제거등은 별도로 기술하며

디노가 몰고 온 자바스크립트 생태계의 주요 변화들을 알려준다.

 

후반부로 가면 실제 디노의 표준 라이브러리들과

이를 이용한 예제 프로젝트로

디노의 멋진 향연의 하이라이트를 장식한다.

 

 

아직 노드 NPM에서 제공하던

자바스크립트로 만들어진 수많은 라이브러리들을

모두 디노에서 사용할 수는 없지만

디노의 미래가 노드의 그것보다 더욱

크게 우리에게 영향을 줄 것이라는

확신이 돌도록 하는 책이었다.

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 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 개발자라면, 무릇 읽어보아야 할 책이라고 생각합니다. 또한, 그 시점은 빠르면 빠를수록 좋을 것 같네요. :)

 

deno. node 의 철자 순서를 바꾸면 deno가 된다.

node 창시자가 아쉬움이 있어서 deno를 만들었다고한다.

처음에는 발음에 대한 혼동이 많았다고 한다.

이후에 deno를 만든 라이언 달이 "디노"라고 하고서 부터는 다들 "디노"라고 부른다고 한다.

 

디노로 타입스크립트를 어떻게 활용하는지는 온라인 플레이 그라운드를 이용하면 된다.

online.swiftplayground.run/


개발자가 아니다보니 다른건 잘 모르겠으나 창시자가 node js를 만들고나서 아쉬웠던점은 여러가지가 있었는데 

그 중 보안에 관심이 생겼다.


그래서 책에서 보안관련된 내용을 중점적을 봤다.


- 보안성- 

스마트폰에서 앱을 설치하고 실행하면 특정 권한에 대해 요청을 한다.

이렇듯 사용자의 허락없이 앱이 민감한 정보에 접근할 수 없는 허들이 존재한다.

 

노드에서는 npm에 올라온 모듈을 무조건 신뢰할수밖에 없다고 한다.(코드 실행 제어가 안된다고함. 왜인지는 모르겠음)


예제로 주어진 노드를 실행하면 생각지 못한 파일까지 접근하여 출력하지만

해당 코드를 디노로 구현하여 실행하면 권한이 없는 파일은 읽을 수 없도록 한다.


-보안강화-

모든 권한에 대해 필요한 경우 플래그를 통해 권한이 필요한지 추가하여 코드 진행을 한다.

이건 안드로이드 개발할때 해당 앱에 대한 권한이 필요한지 xml에 넣는거랑 비슷한거같다,


-보안플래그-


allow-all : 말그대로 모든것을 허용. 해당하는 일이 정확하게 알지 못한다면 사용하지 않는것이 좋다고함.

allow-env : 시스템 환경변수 접근할때 사용

allow-hrtime : 정밀한 시간을 측정할때 사용 ex) 10ms > 10.551234 ms

allow-net : 화이트리스트방식으로 네트워크 인터페이스 접근을 허용함. ex) allow-net=tistory.com,daum.net

allow-plugin : 외부 플러그인 사용. 아직은 실험기능이라고함. 

allow-read : 디스크 입출력 허용.

allow-run : 서브스크립트 실행. 권한상승이 될수 있으므로 신중하게 사용해야됨.



-사용가능한 권한 확인-

백엔드 프로젝트를 구현할때 누군가 충분한 권한없이 실행하려고 한다면 전체 프로그램이 마비된다.

디노는 필요한 권한이 없으면 permission denied 예외를 일으킨다.


Deno.permissions로 디노를 실행하기전에 필요한 권한을 획득했는지 확인 할 수 있다.

.query로 확인

.request는 확인 후 권한요청까지 할 수 있다.


node를 잘모르지만 deno에서 강화, 변경되는것을 보니 node로 개발된 시스템에 문제점이 많을수 있겠구나 싶다.

node로 된 CTF문제들이 있는지 찾아봐야겠다.


2009년 개발되어 자바스크립트를 안정적으로 지원했던 백엔드 런타임은 node가 유일했다고 한다.

그 창시자가 2020년에 deno를 만들었는데 과연 백엔드 시장에는 어떤 변화가 생길지 궁금하다.



"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

 

 

 

 

 

디노는 노드의 창시자인 라인언 달이 만든 자바스크립트 런타임 환경이다.

 

책에서는 위와 같이 Deno 의 탄생 배경을 설명해주며 다양한 이야기를 섞어주는데,

관련 유투브나 자료들이 많아서 Node 및 자바스크립트 생태계의 발전을 볼 수 있어서 흥미로웠다.

 

 

 

Deno 가 무엇인지, 어떻게 돌아가는지 확인해 보고자 찍먹 해보려는 개발자 분들에게 추천하고 싶은 책이다.

IMG_1674.JPG

 

 

자바스크립트로 백엔드를 구현하는 Node가 나오고 많은 시간이 흘렀다. Node가 등장하고 자바스크립트 언어로 프론트엔드, 백엔드 모두를 할 수 있다는 것에 많은 사람들이 열광했다. 그런 Node를 개발한 라이언 달이 새로운 자바스크립트 런타임인 Deno를 만들었다.

 

한빛미디어에서 나온 책 "디노 첫걸음"은 최신 자바스크립트 런타임인 Deno를 훑어보기에 좋은 책이다. 160쪽의 비교적 얇은 서적이기 때문에 가지고 다니면서 읽기에도 좋다. 디노가 타입스크립트를 기본으로 사용하기 때문에 저자는 챕터2를 할애하여 타입스크립트 기초를 알려준다. 타입스크립트를 알고 있는 독자라면 이부분을 건너뛸 수 있다.

 

노드의 문제점들을 해결하기 위해 나온 것이 디노이기 때문에 책의 많은 부분이 노드와 비교해 좋아진 부분들을 소개한다는 느낌을 받았다. 노드에 비해 강화된 보안과 기본으로 제공하는 표준 라이브러리들, 외부모듈을 사용하는 방식등이 노드에 비해 어떻게 바뀌었는지 설명해준다. 예제 프로젝트의 개수가 적은 점이 아쉽지만 디노라는 새로운 기술을 접하고 출발하기에는 부족함이 없다고 생각한다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

# DENO 디노 첫걸음

- 한빛미디어

- 2021.03.10 출간

- 정가 17000

DENO의 도서가 나왔습니다!!

도서는 크지 않은 사이즈에 페이지수도 160p밖에 되지 않아요.

그래서 정말 가볍게 읽기 좋더라고요.

대신, 가볍게 읽을 수 있는 만큼. 깊은 내용을 읽기는 조금 힘들다는 것..!!

그래도 낯선 디노와 안면을 트기에, 부담스럽지 않은 도서였습니다.

디노 첫걸음은 말그래도 이렇게 디노의 탄생 배경부터 시작해서. 가볍게 시작할 수 있습니다.

영구적인 기술 부채.. 이 단어가 뭐가 이렇게 멋있게 느껴지는지..

기술 부채 ..!!

도서는 이렇게 디노를 만들었던 이유.

디노가 줄 수 있는 해결책에 대해 이야기합니다.

디노에 대해서 설명을 하고 간단하게 예제 프로젝트를 진행하는 구성으로 되어있습니다.

그 모든 것을 다 하고나면, 책은 이렇게 마무리를 짓습니다.

디노라는 완전히 새로운 기술을 접하고 호기심을 얻었기를 바라며

: 정말.. 더 공부하고 싶어지게 된 것.. 인정.. ㅇㅇ

처음 디노에 관한 책이 나왔다고 해서 사실 정말 궁금했습니다.

워낙 디노에 대한 기초지식 없어서 읽어도 괜찮을까 생각했는데.

생각보다 책의 난이도가 쉽고 깊지 않아서 참 좋았던 것 같습니다.

쉽게, 디노를 접하고 싶다면.

가볍게, 디노의 맛을 보고 싶은 분이 있다면.

추천합니당 :)

우리 모두 열심히 공부하면서, 점점 성장해가요!!

#디노첫걸음 #한빛미디어 #나는리뷰어다2021 #솔직하게쓴리뷰

 



"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

최근에 주 언어를 javascript로 전향하고 나서 한번에 배워야 할게 산더미처럼 늘어나서 

정신이 없던 와중에 Typescript라는 것을 알게 되었고, 자바스크립트에서 객체지향의 개념을 

사용할 수 있다는 점이 자바를 쭉 해왔던 나로서는 무척이나 친근하게 느껴졌다. 

이제 어느정도 Vue에 익숙해졌다고 자부하고 있는 시점에서 디노라는 것을 알게 되었고 

이번달 리뷰 도서로 소개하게 되었다.

 

 

먼저 디노를 설명하기 전에 자바스크립트 런타임에는 전통적인 Node.js라는 것이 있다.

 

노드는 자바스크립트를 사용한 런타임 환경이다.

 

자바 진영에서 웹 개발을 했을때는 아파치 톰캣을 이용해 웹서버를 띄웠다면

 

자바스크립트 진영에는 노드를 통해 서버를 실행시킬 수 있다.

 

그러나 창시자인 라이언 달 마저도 노드에 대한 10가지 아쉬움을 발표했고

 

기존의 노드를 개선한 디노를 탄생시켰다.

 

 

대상 독자

 

자바스크립트를 사용하는 웹개발자 또는 웹 개발에 관심이 있는 누구나?

 

 

구성

 

챕터01 완벽한 디노

 

챕터02 타입스크립트 소개

 

챕터03 안전한 생활

 

챕터04 npm없는 세상

 

챕터05 기존 모듈

 

챕터06 예제 프로젝트

 

 

 

기준 버전

 

2021년 4월16일 기준 v1.9.0

 

 

내용

 

일단 한번 훑어 본 느낌은 디노의 탄생 배경과 메인 언어인 타입스크립트에 대한 소개, 보안성, 모듈 사용법과

 

몇가지 예제들이 있다. 음... 뭔가 진짜 기초적인 내용들만 설명을 해 놓은 느낌이다. 그래서 나같은 입문자들이

 

개념을 정립하는데 도움은 주나 그 이상의 것은 직접 검색하여 찾아보게 된다. 윈도우 버전에서 설치할 때

 

책에는 없는 오류가 발생해서 좀 헤맸었다. 그래도 한글로 된 기초 번역서가 있다는 것에 매우 감사하게

 

생각하고 있다. 디노 도큐먼트 언어가 영어만 있어서 개발 공부도 하고 영어 공부도 같이 하면 물론 좋지만

 

계속 보다보면 한글을 읽을때 보다 금방 지치고 페이지 번역에 손이 가기 마련이다.

 

 

정리

 

그래서 이 책에 대한 결론은 디노에 대해 기초 개념을 습득하고 설치, 간단한 실습을 하기엔 딱 좋은 책이다. 그 이상의 지식은 인터넷을 뒤져서 찾아야 한다. 아직 디노가 세상에 나온지 얼마 안됐지만, 벌써 버전이 1.9.0까지 올라갔으니 머지않아 노드 대신 디노를 사용하는 날이 오지 않을까 생각한다. 그러기 위해 미리 맛을 보는것도 좋다고 생각한다. 그리고 디노 이미지가 매우 귀엽다.

 

 

장점

 

1. 얇고(160p), 작다

 

2. 영어가 힘든 디노 입문자들이 보기 좋은 책이다.

 

 

단점

 

1. 얇은거에 비해 가격이 좀 나간다. 17,000원

 

근데 개발서적은 다 비싸니까 어느정도 이해는 된다.

 

 

이상 리뷰를 마치겠습니다.

 



 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

KakaoTalk_20210418_202130949.jpg

 

 

 

요즘에 Node.js로 개발을 하고 있습니다. 주 언어는 아니지만 직장에서 Node.js로 된 프로젝트를 맡게 되어서 공부해가며 개발중이었 지요. 이렇게 Node.js에 흥미를 느끼고 공부를 하는데 Deno를 알게 되었고 언제 한번 책으로 접해봐야겠다고 생각했는데 마침 Deno에 대해 간단하게 공부해 볼 수 있는 책이 리뷰 이벤트로 나와서 신청하게 됐습니다.

 

 

 

이 책의 구성

 

- 탄생 배경

- 디노 맛보기

- 멋진 기능 살펴보기

- 타입 스크립트란

- 형식 살펴보기

- 인터페이스와 클래스

- 타입 스크립트 믹스인

- 보안 강화

- 사용 가능한 권한 확인

- 외부 모듈 사용

- 디노 표준 라이브러리

- 외부 모듈

- 흥미로운 모듈

- 디노 러너

- 응용프로그램 테스트

- 채팅 서버

 

 

 

책의 목차를 보면 딱 Deno를 처음 접하는 분들께 알맞다는 걸 볼 수 있습니다.

 

 

Node.js라는 멋진 기술과 생태계가 있는데 왜 Deno가 나와버렸는지부터 설치, 맛보기, Node.js 와 비교했을 때의 장점을 알 수 있고

 

 

Deno의 주 언어로 사용된 타입 스크립트에 대해서도 알 수 있습니다.

 

 

그리고 가장 중요하다고 생각하는 작은 프로그램 만들기까지

 

 

이처럼 Deno를 빠르고 간단하게 알아볼 수 있어서 Deno에 대해 궁금했지만 아직 접해보지 않는 분들에게

 

 

아주 알맞고 친절한 책입니다.

 

 

 

 

 

 

각 챕터 마지막엔 마치며라는 항목이 있어서 내가 공부한 챕터를 잘 정리할 수 있습니다.

 

 

 

다만 공부한 부분의 많은 내용을 함축해서 정리해 줬으면 하는 아쉬움이 있습니다.

 

 

 

 

이렇게 설치하기부터 간단한 프로그램 개발까지 내용이 잘 정리되어 있어서 처음 접하는 분들께 군더더기 없이 깔끔하고 간단한 책이라고 생각합니다.

 

 

 

마지막으로

 

 

 

물론 Node.js 가 아주 강력한 기술이고 앞으로 Deno 가 그 자리를 대신할 수 있을지는 모르지만 Node.js 가 아쉬웠던 부분을 개선해서 만든 게 Deno임으로 확실히 공부해 볼 만한 가치가 있는 자바스크립트 런타임에는 틀림없다고 생각합니다. 그 시작을 디노 첫걸음과 함께라면 더욱 쉽게 이해하며 접할 수 있을 것입니다.

 

[나의 한줄 추천사]

Nodejs 배우기 늦었다면 Deno 시작해보라.

[ 추천 이유]

백엔드로는 주로 RestFul API 개발용으로 현재는 많이 사용되는 같다. 진보된 타입스크립트로 새로운 Nodejs 배우고 싶다면 이 책을 보면 된다.

[내가 찾고자 했던 질문과 대답들]

1. Nodejs 무엇이 문제였나?

    - 기본적인 보안이 없으므로 사용자 컴퓨터의 특정 경로에 접근할 있다.

    - 모듈을 시스템안에 가지고 가는 중앙 집권적인 문제점이다.

    -  index.js 암묵적 동작부분도 문제이다.

2.Deno 어떻게 설치하나?

   - brew install deno

 

(base) byc3230ui-MacBookPro:~ byc3230$ deno

Deno 1.6.0

exit using ctrl+d or close()

> console.log("hello deno")

hello deno

 

3.Deno 기능들은 어떤게 있나?

   - 타입스크립트 이용(*.ts) -> deno run *.ts -> 컴파일 된후 -> 결과값이 확인 

   - npm 패키지 관리자가 사라지고, url import 하면 (<—Go 영향을 받음)

   - 내용이 캐시됨에 따라서 속도상의 문제가 없고, 만약 내용이 바뀌면 컴파일 해서 다시 캐시에 가지게 된다.

   - deno run 시킬때 플래그를 달아서 실행 접근성을 제어할수 있다. (Ex) deno run —allow-read 

 

4. RestFul API 개발은 어떻게 하나?

    - drash 통해서 API 개발 가능하다

      참고 Url : https://github.com/drashland/deno-drash

5. 좀더 Deno 알고 싶다면?

    - https://www.inflearn.com/course/%EB%94%B0%EB%9D%BC%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EB%94%94%EB%85%B8-%EA%B8%B0%EB%B3%B8#

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


자바스크립트를 지원 하는 백엔드 런타임인 Node.js 가 나온지도 벌써 11년이다. 그동안 다수의 버전이 릴리즈 되었고 (현재 최신 버전은 15.14) , NPM 에는 100만개 이상의 패키지가 등록 되어 있지만 노드의 아버지인 라이언 딜은 2020년 5월 새로운 백엔드 기술을 개발했다.

 

 

deno_1.png

 

 


이름은 NODE 를 뒤집어 놓은듯한 DENO.


책에서는 라이언 딜이 DENO 를 탄생시킨 배경과 설치 부터 시작 하는 주요 사용법, 또한 DENO 의 주 언어인 타입스크립트에 대해서 소개 하고 있다. 


가장 흥미롭게 읽은 부분은 DENO 의 보안 강화 부분이다.

스크립트를 실행하는 OS 가 보안을 처리하도록 하지 않고 사용자가 직접 허용할 권한을 지정하도록 강제 하는 부분은 아이폰의 개인 정보 보호 기능을 통해서 익숙한 내용인데, 서버에서 스크립트를 실행 하는 과정에서도 이에 대한 제약을 할 수 있는 부분이 아주 흥미로웠다. 내가 잘 알지못하는 모듈들이 내가 허용하지 않은 작업을 하지 못하게 하는 것은 사실상 왜 여태까지 그런 제약이 없었는지 싶을 정도 이다. 그리고 실행방법도 아주 간단하다. 단순히 스크립트 시작 부분에 플래그를 추가 하기만 하면 된다.


DENO 가 Node.js 를 대신할지에 대한 여부는 여러 내용들을 읽어봐도 알기가 어렵다. 하지만 백엔드 런타임을 새로 배워야 한다면 DENO 로 시작 하는 것도 나쁘지 않을듯 하다.


책의 마지막에서 언급 하지만 이 책을 번역하는 2021년 1월에는 DENO 의 버전이 1.7.1 이었다. 현재 이 리뷰를 쓰는 시점의 DENO 의 버전은 1.9.0 이다.


DENO 개발팀은 얼마나 열심히 일하고 있는 것인가.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

최신 자바스크립트 런타임인 디노(Deno)를 소개하는 '디노 첫걸음'을 읽어 보았습니다.
책에서 설명하는 내용이 무엇인지 보고 직접 실행해 보며 디노를 살펴보려고 합니다.

 

 

개요

  1. 디노의 배경
  2. 타입스크립트
  3. npm 없이 외부 모듈 사용하기

1. 디노의 배경

자바스크립트를 백엔드로 구현한다고 하면 Node.js를 보통 생각하곤 했습니다.
그런데 노드가 해결하지 못하는 문제점이 몇 가지 있었습니다.
첫 번째는 보안이 취약한 부분을 해결하지 못했다는 것입니다. 그리고 npm으로 외부 모듈 사용 시 node_modules에 저장하는 방식이기 때문에 무거워지는 문제가 있었습니다. 아래와 같은 유머 사진이 있을 정도로 말이죠

 

 

요즘 프레임워크들의 추세인지, 온라인에서 간단히 테스트 가능한 플레이그라운드가 디노에도 있습니다.
deno playground 입력 시 쉽게 찾을 수 있었고, 링크에서 테스트해보았습니다.
개발자 도구에 간단한 코드를 작성하듯이 작성하기에 좋을 것 같습니다.

 

 

이 외에 개인이 만든 다양한 플레이그라운드가 있으니 기호에 맞게 찾아 사용할 수 있겠습니다. 안정화되지 않은 기능도 사용해 볼 수 있다고 합니다.

맥 사용자라면 brew install brew 명령어로 설치가 가능합니다. 설치 후 deno를 입력하면 콘솔로 코드를 입력할 수 있습니다.

 

 

2. 타입스크립트

디노에서 가장 좋다고 느껴졌고, 표준화가 되어가고 있다는 것을 느끼게 해 준 부분입니다.
타입스크립트가 기본으로 적용되어 있는 것입니다. 플레이그라운드에서도 기본 설정으로 두면 타입 추론이 자동으로 되지 않는 부분에 타입을 지정하라는 에러를 발생시킵니다.
타입스크립트를 사용하기 않으면 협업에서 코드를 파악하는 데에 있어 어려움이 있기 때문에 필요성이 높아지고 기본으로 사용하는 기업들도 많아 이런 흐름을 반영한 것 같습니다.
책에는 타입스크립트를 사용할 때 알면 좋은 핵심 문법도 담고 있어서 익숙하지 않은 사람도 익히는 데에 도움이 될 것입니다.

 

 

3. npm 없이 외부 모듈 사용하기

기존의 npm 방식에서는 npm install ... 로 패키지를 설치하고 그것을 import하여 사용했었습니다. 디노에서는 외부 코드를 url로 import할 수 있습니다.
npm을 사용할 때 필요했던 패키지를 배포하고 내려받는 과정이 없어진 것입니다. 아래와 같이 index.ts 파일에서 객체를 import해 사용할 수 있습니다.

	import {  add,  multiply,} from "https://x.nest.land/ramda@0.27.0/source/index.js";

github에 올라간 코드를 Raw링크로 얻을 수 있는데 이것으로도 외부 모듈로 되어 import할 수 있습니다. 아래는 간단한 로그를 찍는 함수 로우 주소를 import하여 사용해 본 결과입니다.
처음 한 번만 다운로드하고 그 이후부터는 캐시되어 사용됩니다. package.json으로 버전 관리도 가능하니 개인 프로젝트에서 모듈을 분리하여 사용하거나 외부 모듈을 불러서 사용하기에 편리할 것 같습니다.

 

 

결론

디노 첫걸음을 읽으며 알 수 있었던 탄생 배경, 장점, 특징을 간단히 실행해 보며 알아보았습니다. 백엔드에서 서버 개발하는 것을 중심으로 나와 있어서 프론트엔드도 검색해 보았는데요. Alphe라는 프레임워크가 디노에서 리액트를 사용할 수 있게 해준다고 합니다. 아직은 실험적인 부분이 있어 보이지만 추후 다운받아 장단점이 무엇인지 사용해 보아야겠습니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다

 

디노 첫걸음 - 한빛미디어

 

나는 리뷰어다에 당첨되고 3번째 받은 책으로 "디노 첫걸음" 책을 받게 되었다.

도대체 "디노는 뭐야?"라는 생각으로 책을 신청해서 받아봤다.

Deno는 node.js 에서 node 를 거꾸로 읽은거라는것을 알게 되어 조금 흥미로웠다

 

나는 10년전에 node.js를 스터디 한적이 있었다. 그때만 해도 새로운 기술로 자바스크립트로 서버사이드를 개발할 수 있다는

조금은 신기한? 기술로만 알고 있었는데, "과연 이게 성공할까?"라는 생각만 가지고 있었는데,

10년이 지난 지금 더 나은 버전인 디노라는 기술이 나왔다는게 세월의 흔적을 옂볼 수 있는 계기가 된것 같아 조금은 설례였다.

 

먼저 책은 아주 작고 이쁘게 잘 나왔다. 일반적인 개발서적이라 함은 두껍고 무거운 책들이 일반적인데 이책은 그렇지 않고

언제 어디든 들고 다니면서 읽을수 있도록 아주 귀엽게 잘 나온거 같다.

그래서 큰 거부감 없이 쉽게 읽어 나갈 수 있었던거 같다.

 

디노.jpg

 

 

먼저 1장은 디노의 탄생배경이 나오는데, node.js의 탄생배경은 개발자가 자바스크립트로만 서버와 프론트를 모두 개발할 수 있게 해서

개발자의 단가를 줄이자. 정도로 알고 있었다. 하지만 디노는 이런 노드의 잘못된 설계 및 보안에 좀 더 치중한 언어라는 것을 알수 있었다.

 

2장에서는 타입스크립트의 간략한 소개가 나온다. 난 타입스크립트를 개발해 본적이 없지만 간단한 OOP프로그램 기술이라는 정도로 훓고 넘어갈 수 있었다.

 

3장에서는 디노에서 강화된 보안 부분에 대한 얘기가 나오고 4장에서는 npm 없는 세상이라는 주제가 나오게 된다.

이러한 것들이 디노의 개발 사상이라는 것이 강조되고 있으며, 꽤 재미있는 주제 이기도 했다.

 

5장은 기존 모듈을 활용하고 외부모듈을 활용할 수 있는 라이브러리에 대한 얘기가 나오며,

6장은 디노를 이용해 간단한 채팅서버를 만들어 보는 프로젝트가 나온다.

 

이책은 개발자들이 개발언어를 배우기 위한책이라고 보단, 나처럼 이제 개발은 어느정도 손을 떼고

프로젝트 PM이나 컨설턴트로서 새롭게 나오는 기술이 뭐가 있는지 정도를 파악하는데 아주 좋은 책인거 같다.

 

여기에 흥미가 생기는 개발자들은 조금 더 깊이있는 책들을 선택해서 봐야 할것 같고, 어떤 기술이구나 정도를 파악하려는 분들께는

아주 좋은 책이다.

 

node.js를 개발 하시는 분들이 이 책을 본다면 deno로 전향하는데 도움을 줄 수 있지 않을까?

 

이것으로 서평을 마친다.

 

KakaoTalk_20210417_173236388.jpg

 

 

요즘 Node.js의 대체제로 아주 힙하고 핫한 디노 책이 나와서 신청했다.

Node.js는 자바스크립트 V8엔진을 브라우저에서 때어내어서 독립적으로 실행할 수 있도록 만든 것이다. V8이 너무 잘 만들어졌다보니 독립적으로 실행시켜도 너무 좋은 것이다. 그래서 서버사이드나 다양한 곳에 많이 쓰이게 되었다. 노드를 만든 사람이 노드의 문제점을 스스로 고친 새로운 자바스크립트 런타임인 디노에 대해서 아주 간단하고 짧은 예제를 수록한 책이다.

책 분량이 160페이지 밖에 안되는 아주 간단한 책이다. 기존 Node의 문제점과 어떻게 개선되었는지, 그리고 어떤 Ecosystem을 가지고 있는지를 설명하고 간단한 예제 프로젝트를 하나 만들고 끝난다.

디노를 한번 찍먹 해보고 싶다면 괜찮은 책인 것 같다. 분량도 상당히 얇고 가볍기 때문에 기존의 Node.js나 JS에 대해서 이해하고 있다면 금방 읽을 것이다.

최근에 JS로 할 수 있는 웹 프론트/백을 한번 슥 공부해본적이 있었는데, 그때 백엔드 만들때 Node.js를 썼었다. deno로도 자바스크립트 백엔드 서버를 한번 만들어보고 싶다. 물론 시간을 내어야 하는데...

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이 글은 2021년 4월 한빛미디어에서 진행하는 <나는 리뷰어다> 프로그램에 참여하게 되어 책을 제공받아 글을 작성하였습니다.

디노 첫걸음 책 표지 (출처: 한빛미디어)

Deno는 JS Fest 2019 Spring 컨퍼런스에서 공식 발표 이후 2020년 5월 13일 1.0버전을 공식적으로 출시로써 기존 Node.js 개발자들을 놀라게 하였다. Deno는 Node.js에서 제기 되었던 npm의 중앙 배포 방식 문제와 보안 문제등을 개선하였다.

이 책은 Deno을 사용하여 서버을 구현하는 방법이 아닌 Deno에 대해 소개하고 Deno을 사용하여 간단한 채팅 서버 구현 예제을 통해 직접 

체험을 해 볼 수 있다.

목차

CHAPTER 01 완벽한 디노
CHAPTER 02 타입스크립트 소개 
CHAPTER 03 안전한 생활
CHAPTER 04 npm 없는 세상
CHAPTER 05 기존 모듈
CHAPTER 06 예제 프로젝트

책의 목차는 다음과 같다.

책의 챕터는 총 6개의 챕터로 나누어져 있으며 총 153페이지로 상당히 얇은 책이다.

이 책은 제목에서 알 수 있듯이 Deno을 처음 접해보기 위한 기본서 라는 느낌을 받았고 실제로 책을 보면서도 완전한 기본서라고 느꼈다.

 

하지만 Javascrip와 비동기에 대한 지식이 없을 경우 책의 내용이 다소 어려울것으로 예상된다.

예상 독자

1.  Javascript와 Typescript에 대한 기본기가 있는 사람
2. Node.js 개발자

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이 책은 제가 이틀간 출퇴근하면서 읽었습니다.

그만큼 부담이 적지만, 그만큼 디노를 깊게 다루지는 않습니다.

하지만 '첫걸음'이라는 목적에 충실한 책이라고 할 수 있죠.

디노를 알고 지속적인 관심을 갖게 하기에 딱 좋은 책입니다.

 

DSC_4114.JPG

 

디노는 2020년 5월 1.0버전이 나왔고 지금은 1.9입니다.

보완해야 할 것이 많았고 앞으로도 많겠지만

디노가 노드를 넘어설 것은 분명해 보입니다.

노드를 공부하는 이들, 실전에 활용하는 이들에게

디노는 아는 것이 중요하겠죠.

 

'노드 첫걸음'은 이에 적합한 책이라고 할 수 있습니다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

 

배송온 책을 받아들고 조금 놀랐는데, 손바닥 보다 조금 큰 정도의 작은 크기와 200 페이지도 되지 않는 얇은 두께는 평소 봐 오던 보통의 IT서적 -배게로 쓰기 좋은 크기와 두께- 와 달라 책이 잘 못 왔나 생각했을 정도였습니다. 그런데 막상 책을 읽어 보니 가볍고 들기 좋은 크기라 마치 전자책을 보는 기분으로 편하게 볼 수 있었습니다. 책의 내용도 외형만큼이나 편하고 쉽게 볼 수 있었습니다. 기존 Node.js 의 문제점과 타입스크립트를 간단히 소개하고, DENO는 어떻게 기존 문제점을 개선하고 있는지, DENO를 이용해 어떻게 어플리케이션을 작성하는지 예제를 통해 쉽고 편하게 소개하고 있습니다. 편하게 읽는 도중 가끔 번역이 아쉬운 부분이 있지만 문제될 수준은 아닙니다.

 

쉽고 읽기 편하다고 했지만, 이 책은 주로 Node.js 사용 경험이 있는 분이 빠르게 DENO를 사용할 수 있도록 해 주는 내용을 담고 있어 관련 지식이 없는 초심자가 보기에는 어려울 수 있을 것으로 생각됩니다. Node.js를 사용중인데 DENO 도입을 고려하는 분들께 추천합니다.

DENO

디노 첫걸음

페르난도 돌리오 지음우정은 옮김

저자 페르난도 돌리오는 Node.js REST API를 설계하는 등 다양한 프로그래밍 언어를 다룬 경험을 갖고 있는 개발 전문가로서 디노라는 런타임을 소개하고있다.

디노의 특이점은 노드 개발자인 라이언이 노드를 포기하고 디노를 개발했다는 점이다.

디노 탄생 배경을 살펴보면라이언은 노드가 적절히 해결하지 못하는 다양한 문제(보안이 취약한 플랫폼모듈 시스템의 문제다른 사소한 문제)가 있음을 알게 되었고 이는 영구적인 기술 부채로 남았다고 한다.

 

보안이 취약한 플랫폼

라이언은 노드가 안전하지 못한 플랫폼이며 이를 잘 이해하지 못한 개발자가 불필요한 실행권한을 부여하거나 안전하게 보호되지 않는 시스템 서비스에 접근하는 코드를 구현하면서 보안 구멍이 만들어진다는 것을 깨달았다.

즉 노드로 특정 URL TCP로 요청을 보낼 수 있는데 이를 완벽하게 제어하지 못한다면 요청을 받는 쪽에 문제가 생긴다호스트 컴퓨터의 네트워크 서비스 사용을 막는 장치가 아무것도 없기 때문이다적어도 노드에는 그런 보호 장치가 없다.

2018년에 아주 유명한 노드 모듈 저장소가 소셜 해킹(모듈 개발자가 해커에게 속아 코드 접근 권한을 줌)을 당했는데 해커는 누군가가 가진 비트코인 지갑의 코인을 훔치는 코드를 숨겨놓은 상태였다노드에는 기본적으로 보안이 없으므로 이 모듈은 사용자 컴퓨터의 특정 경로에 접근할 수 있었다(모듈이 의도한 기능이 아님에도). 만약 모듈이 어떤 경로를 읽으려 했을 때 사용자에게 이를 허용할 것인지 묻는 알림창이 나타난다면 이는 큰 위협이 되지 못한다.

 

모듈 시스템의 문제

모듈 시스템에도 문제가 있었다라이언은 비동기 I/O, 이벤트 방출기 등의 기능은 공을 들여 잘 만든 데 비해 내부 설계는 즉흥적으로 이루어졌다고 생각했다.

노드 생태계에서 npm을 표준 패키지 관리자로 사용한 점을 후회하며 npm의 중앙화되고 비공개적인 저장소 관리방식을 좋아하지 않았다라이언은 브라우저가 의존성을 임포트하는 방식이 더 깔끔하고 쉽게 유지보수할 수 있다고 생각했다.

 

다른 사소한 문제

확장자를 지정하지 않고 로컬 모듈을 요청하는 기능처럼 노드에는 다른 사소한 문제도 있었다.

 

결국 라이언은 본인이 만들거나 참여했던 많은 기능을 더 제대로 만들고 싶다는 후회를 동기로 전환해 디노를 탄생시켰고 새로운 런타임의 설계를 이끌기 시작했다.

 

새로운 기술은 언제나 흥미롭지만사용자입장에서는 불안정한 기능빈약한 커뮤니티 등은 큰 걸림돌이 된다이러한 문제는 걱정하지 않아도 될 것 같다.

현재 디노는 버전업과 디노를 지원하는 라이브러리 수가 폭발적으로 증가하고 커뮤니티 또한 활발하게 움직이는 것을 알 수 있다.

 

이 책은 디노 입문서로 노드 개발자나처음 접하게 되는 누구나 쉽게 이해할 수 있도록 개발과 노드의 문제점을 해결하는 과정의 사례를 들어 설명하고 있는 특징이 있다.

 

마지막 장에서 저자가 구현한 예제를 다양한 주제로 제시하고 있다.

이 책은 150페이지로 편집되고관련 참고 사이트를 각주로 달아놓아 혼자 따라가며 살펴보게 배려해 놓았다짬을 내어 읽어보고 새로운 런타임 기법을 익혀보시길!!!

특히 백앤드 개발자들의 골치거리인 보안 문제의 해결을 위해자바스크립트의 새로운 보안 런타임 디노의 모든 것을 이해하고 안전한 시스템 개발 전문가로 발전 하기를!!!!

 

  "한빛미디어 <나는 리뷰어다활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 
 
디노 첫걸음 저자 페르난도 돌리오 지음, 우정은 출판 한빛미디어 발매 2021.03.10.

디노는 노드 제작자 라이언 딜이 만든 새로운 자바스크립트 백엔드 플랫폼이다.

보통 디노하면 공룡이 생각나는 데 저자이름도 페르난도 돌리오 라고 비슷한 느낌이 든다.

노드가 10년 넘게 자바스크립트 진영의 확고한 플랫폼으로 자리매김했었는 데 왜 디노를 더 만들었는가 의문이 들기도 했다. 하지만 이 책을 보니 확실히 이유를 알 수 있었다.

노드는 타입스크립트를 바로 사용할 수 없고 타입스크립트컴파일러를 통해서 한번컴파일하고 나서 자바스크립트로 활용한다. 이런 단점이 디노가 나오게 된 배경이기도 했지만 기본 설치된 표준 라이브러리가 따로 없고 npm패키지를 통해 받은 라이브러리를 주로 콜백 형태로 연결해서 사용을 한다. 물론 훌륭한 개발자라면 npm패키지를 통해 받았다고 하더라도 본인의 설계에 맞춰서 보안 시큐어 등을 추가로 구현하겠지만 대부분의 사용자는 그냥 사용하는 것이 문제다.

디노는 기본 표준 라이브러리가 어마어마하며 기본으로 접근 권한 허용을 별도로 설정하도록 되어 있어서 보안성이 탁월하게 좋은 플랫폼이다.

이 책을 읽다 보면 디노에 대해서만 아는 것이 아니라 자바스크립트와 타입스크립트뿐만 아니라 보안과 다양한 데브옵스 마이크로 서비스에 대한 지식도 얻을 수 있다.

무엇보다도 저렴한 가격에 한손에 쏙 들어오는 첫걸음 시리즈는 가성비가 매우 좋은 책이다. 사전지식이 없어도 1주일만 읽으면서 따라해보면 내용을 완벽히 이해할 만큼 설명이나 예제가 쉽게 잘 구성되어 있다.

책에서 다양한 개발환경 구성과 설치방법 및 무설치 실행환경등을 소개해 주고 있어서 어디서나 실습을 해 볼 수 있다. 물론 노드가 10년 넘게 쌓아온 기존코드들과 노드의 모든 장점을 다 대체할 거라고는 생각할 수 없지만 머지않아 충분히 대체하리라 보이는 플랫폼이다.

웹 백엔드 개발자가 아니어도 전공자가 아니어도 홈페이지 하나정도는 만들어보고 싶었을 수 있다. 심지어 책에 나오는 모든단어가 처음 보는 단어라고 할 지라도 읽어보는 데 전혀 문제가 되지 않는다. 속물같아 보일수도 있지만, 이 가격에 이 정도 책이면 나름 훌륭한 선택이라고 생각한다. 그리고 이 책은 언제가 될지 모르겠지만 언젠가는 꼭 도움이 되리라고 기대한다.

 
 
디노 첫걸음 저자 페르난도 돌리오 지음, 우정은 출판 한빛미디어 발매 2021.03.10.

디노는 노드 제작자 라이언 딜이 만든 새로운 자바스크립트 백엔드 플랫폼이다.

보통 디노하면 공룡이 생각나는 데 저자이름도 페르난도 돌리오 라고 비슷한 느낌이 든다.

노드가 10년 넘게 자바스크립트 진영의 확고한 플랫폼으로 자리매김했었는 데 왜 디노를 더 만들었는가 의문이 들기도 했다. 하지만 이 책을 보니 확실히 이유를 알 수 있었다.

노드는 타입스크립트를 바로 사용할 수 없고 타입스크립트컴파일러를 통해서 한번컴파일하고 나서 자바스크립트로 활용한다. 이런 단점이 디노가 나오게 된 배경이기도 했지만 기본 설치된 표준 라이브러리가 따로 없고 npm패키지를 통해 받은 라이브러리를 주로 콜백 형태로 연결해서 사용을 한다. 물론 훌륭한 개발자라면 npm패키지를 통해 받았다고 하더라도 본인의 설계에 맞춰서 보안 시큐어 등을 추가로 구현하겠지만 대부분의 사용자는 그냥 사용하는 것이 문제다.

디노는 기본 표준 라이브러리가 어마어마하며 기본으로 접근 권한 허용을 별도로 설정하도록 되어 있어서 보안성이 탁월하게 좋은 플랫폼이다.

이 책을 읽다 보면 디노에 대해서만 아는 것이 아니라 자바스크립트와 타입스크립트뿐만 아니라 보안과 다양한 데브옵스 마이크로 서비스에 대한 지식도 얻을 수 있다.

무엇보다도 저렴한 가격에 한손에 쏙 들어오는 첫걸음 시리즈는 가성비가 매우 좋은 책이다. 사전지식이 없어도 1주일만 읽으면서 따라해보면 내용을 완벽히 이해할 만큼 설명이나 예제가 쉽게 잘 구성되어 있다.

책에서 다양한 개발환경 구성과 설치방법 및 무설치 실행환경등을 소개해 주고 있어서 어디서나 실습을 해 볼 수 있다. 물론 노드가 10년 넘게 쌓아온 기존코드들과 노드의 모든 장점을 다 대체할 거라고는 생각할 수 없지만 머지않아 충분히 대체하리라 보이는 플랫폼이다.

웹 백엔드 개발자가 아니어도 전공자가 아니어도 홈페이지 하나정도는 만들어보고 싶었을 수 있다. 심지어 책에 나오는 모든단어가 처음 보는 단어라고 할 지라도 읽어보는 데 전혀 문제가 되지 않는다. 속물같아 보일수도 있지만, 이 가격에 이 정도 책이면 나름 훌륭한 선택이라고 생각한다. 그리고 이 책은 언제가 될지 모르겠지만 언젠가는 꼭 도움이 되리라고 기대한다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
디노 첫걸음
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
디노 첫걸음
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
디노 첫걸음
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1