{{ bookSummary.author }} 지음 {{ bookSummary.publishingCompany }} | {{ bookSummary.date }}
{{ bookSummary.bookType }}
웹 애플리케이션 개발로 배우는 Node.js 원리와 실무 가이드
한빛미디어
번역서
판매중
책소개
Node.js로 경험하는 웹 애플리케이션 실전 개발 노하우Node.js는 웹 애플리케이션 개발의 필수로 자리 잡고 있습니다. 자바스크립트 기반으로 프런트엔드와 백엔드를 같은 언어로 개발할 수 있는 것이 장점입니다. 이 책은 애플리케이션 개발의 프런트엔드부터 백엔드까지 경험할 수 있도록 구성했습니다. Node.js뿐만 아니라 자바스크립트 문법, 익스프레스를 활용한 웹앱, CLI 도구 개발, npm을 이용한 라이브러리 관리, 리액트와 익스프레스로 프런트엔드/백엔드 개발 및 운영까지 사실상 최신 프런트엔드, 백엔드 전반을 개괄적으로 살펴봅니다. 실무 경험과 노하우도 함께 실어 ‘왜’ 그렇게 구현해야 하는지를 배우며 개발자로서의 경험치를 넓힐 수 있습니다.
저자소개
이토 고타
2013년 야후 주식회사에 입사하여 정보시스템과 플랫폼 분야에서 기획·개발·운영 업무를 맡았다. 또한 야후 내부의 스페셜리스트 인증 제도인 블랙벨트(黒帯, 웹 프런트엔드 분야)를 취득했으며, 사내 조직에서 기술 및 개발 지원, OSS에 대한 피드백 등에 참여했다.2022년부터 RPG테크 유한책임회사에 참여하여 스타트업 및 신규 사업 개발, 어드바이저 업무 등을 담당하고 있다.지은 책으로 『動かして学ぶ!Slackアプリ開発入門(움직이며 배운다! 슬랙 애플리케이션 개발 입문)』이 있으며 웹 미디어나 잡지에도 글을 쓴다.
김모세
최근작
목차
1. 처음 만나는 Node.js_1.1 언어로서의 Node.js 특징_1.2 프런트엔드/백엔드 모두에 필요하게 된 Node.js2. 자바스크립트/Node.js의 문법_2.1 개발 환경 도입_2.2 자바스크립트 기초_2.3 자바스크립트와 상속_2.4 자바스크립트와 this_2.5 ES6 이후의 중요한 문법3. Node.js와 모듈_3.1 CommonJS 모듈_3.2 ECMAScript 모듈_3.3 모듈 사용 구분_3.4 표준 모듈_3.5 npm과 외부 모듈 불러오기4. Node.js에서의 비동기 처리_4.1 동기 처리와 비동기 처리_4.2 콜백_4.3 프로미스_4.4 async/await_4.5 스트림 처리_4.6 AsyncIterator_4.7 에러 핸들링 정리_4.8 Top-Level Await5. CLI 도구 개발_5.1 Node.js의 개발 흐름_5.2 인수 처리_5.3 라이브러리 도입 및 CLI에서의 적용_5.4 Node.js의 린트_5.5 Node.js의 테스트6. 익스프레스를 이용한 REST API 서버/웹 서버_6.1 익스프레스 기초와 도입_6.2 익스프레스의 필수 기능_6.3 포괄적인 에러 핸들링_6.4 데이터베이스 연동_6.5 뷰 템플릿_6.6 정적 파일 송신_6.7 라우팅과 파일 분할에 대한 사고방식_6.8 스타일 분할 실전_6.9 핸들러 테스트_6.10 AsyncIterator 테스트_6.11 실패 시의 테스트_6.12 핸들러 단위의 분할과 테스트 용이성_6.13 Node.js 애플리케이션 배포_6.14 Node.js와 도커_6.15 클러스터를 이용한 성능 향상7. 프런트엔드/백엔드 개발_7.1 프런트엔드와 백엔드를 모아서 개발하기_7.2 단일 저장소_7.3 애플리케이션 구성_7.4 프런트엔드 개발의 사고방식_7.5 리액트의 기본 기능_7.6 브라우저 이벤트 처리_7.7 컴포넌트 분할_7.8 API로 가져온 값을 표시하기_7.9 API를 호출해 값을 업데이트하기_7.10 클라이언트 사이드 라우팅_7.11 프런트엔드 애플리케이션 배포_7.12 프런트엔드 테스트8. 애플리케이션 운용과 개선_8.1 패키지 버전 업데이트_8.2 단일 저장소에서 공통 라이브러리를 관리하기_8.3 애플리케이션 실제 운용 시의 주의점_8.4 성능 측정과 튜닝
1. 처음 만나는 Node.js_1.1 언어로서의 Node.js 특징_1.2 프런트엔드/백엔드 모두에 필요하게 된 Node.js2. 자바스크립트/Node.js의 문법_2.1 개발 환경 도입_2.2 자바스크립트 기초_2.3 자바스크립트와 상속_2.4 자바스크립트와 this_2.5 ES6 이후의 중요한 문법3. Node.js와 모듈_3.1 CommonJS 모듈_3.2 ECMAScript 모듈_3.3 모듈 사용 구분_3.4 표준 모듈_3.5 npm과 외부 모듈 불러오기4. Node.js에서의 비동기 처리_4.1 동기 처리와 비동기 처리_4.2 콜백_4.3 프로미스_4.4 async/await_4.5 스트림 처리_4.6 AsyncIterator_4.7 에러 핸들링 정리_4.8 Top-Level Await
5. CLI 도구 개발_5.1 Node.js의 개발 흐름_5.2 인수 처리_5.3 라이브러리 도입 및 CLI에서의 적용_5.4 Node.js의 린트_5.5 Node.js의 테스트6. 익스프레스를 이용한 REST API 서버/웹 서버_6.1 익스프레스 기초와 도입_6.2 익스프레스의 필수 기능_6.3 포괄적인 에러 핸들링_6.4 데이터베이스 연동_6.5 뷰 템플릿_6.6 정적 파일 송신_6.7 라우팅과 파일 분할에 대한 사고방식_6.8 스타일 분할 실전_6.9 핸들러 테스트_6.10 AsyncIterator 테스트_6.11 실패 시의 테스트_6.12 핸들러 단위의 분할과 테스트 용이성_6.13 Node.js 애플리케이션 배포_6.14 Node.js와 도커_6.15 클러스터를 이용한 성능 향상
7. 프런트엔드/백엔드 개발_7.1 프런트엔드와 백엔드를 모아서 개발하기_7.2 단일 저장소_7.3 애플리케이션 구성_7.4 프런트엔드 개발의 사고방식_7.5 리액트의 기본 기능_7.6 브라우저 이벤트 처리_7.7 컴포넌트 분할_7.8 API로 가져온 값을 표시하기_7.9 API를 호출해 값을 업데이트하기_7.10 클라이언트 사이드 라우팅_7.11 프런트엔드 애플리케이션 배포_7.12 프런트엔드 테스트
8. 애플리케이션 운용과 개선_8.1 패키지 버전 업데이트_8.2 단일 저장소에서 공통 라이브러리를 관리하기_8.3 애플리케이션 실제 운용 시의 주의점_8.4 성능 측정과 튜닝
출판사리뷰
프로젝트 투입 전 빠르게 배우는 Node.js 개발 실전 노하우이 책은 자바스크립트는 물론 웹 개발 경험도 없던 저자가 몸소 부딪히며 체득한 Node.js 개발 노하우를 전합니다. 실제 경험을 바탕으로 개발 과정을 설명하기 때문에 현업에서 실수를 줄이고, 문제를 수월하게 대응하는 데 도움이 될 것입니다. 업무에 활용할 수 있는 node.js 개발 노하우를 기초부터 고급 기술까지 체계적으로 다룰 뿐만 아니라 ‘왜 그런 결정을 내리는가’에 대한 배경까지 자세히 설명합니다.자바스크립트 지식이 있는 프런트엔드 개발자라면 Node.js를 활용함으로써 백엔드의 동작과 특성, 프런트엔드와의 차이를 더욱 정확하게 이해할 수 있을 것입니다. 백엔드 개발자라면 백엔드 개발 및 운용 도구로서 Node.js의 특징을 되새기는 동시에 프런트엔드 개발의 특징도 알 수 있을 것입니다.★각 장의 내용1장 Node.js의 특징 - 비동기, 이벤트 주도, 이벤트 루프2장 Node.js 실행 환경을 구축하고 간단한 자바스크립트 문법 다뤄보기 3장 Node.js 모듈(파일 분할)4장 Node.js에서 비동기 처리를 다루는 방법 그리고 에러 핸들링5장 CLI 도구로 간단한 애플리케이션을 만드는 방법과 테스트 작성 방법 6장 Node.js를 이용한 웹 애플리케이션의 기초 - 서버 만드는 방법과 네트워크 처리 7장 프레임워크를 이용해 SPA를 작성하는 방법 8장 실제 Node.js 애플리케이션을 운용할 때 필요한 지식★대상 독자- Node.js를 활용한 애플리케이션 개발이 궁금한 분 - 개발 경력이 있지만 Node.js 개발에 익숙하지 않은 개발자 - Node.js 개발 개념과 원리가 궁금한 개발자 - 개발 영역을 넓히고 싶은 프런트엔드 개발자
프로젝트 투입 전 빠르게 배우는 Node.js 개발 실전 노하우이 책은 자바스크립트는 물론 웹 개발 경험도 없던 저자가 몸소 부딪히며 체득한 Node.js 개발 노하우를 전합니다. 실제 경험을 바탕으로 개발 과정을 설명하기 때문에 현업에서 실수를 줄이고, 문제를 수월하게 대응하는 데 도움이 될 것입니다. 업무에 활용할 수 있는 node.js 개발 노하우를 기초부터 고급 기술까지 체계적으로 다룰 뿐만 아니라 ‘왜 그런 결정을 내리는가’에 대한 배경까지 자세히 설명합니다.
자바스크립트 지식이 있는 프런트엔드 개발자라면 Node.js를 활용함으로써 백엔드의 동작과 특성, 프런트엔드와의 차이를 더욱 정확하게 이해할 수 있을 것입니다. 백엔드 개발자라면 백엔드 개발 및 운용 도구로서 Node.js의 특징을 되새기는 동시에 프런트엔드 개발의 특징도 알 수 있을 것입니다.
★각 장의 내용1장 Node.js의 특징 - 비동기, 이벤트 주도, 이벤트 루프2장 Node.js 실행 환경을 구축하고 간단한 자바스크립트 문법 다뤄보기 3장 Node.js 모듈(파일 분할)4장 Node.js에서 비동기 처리를 다루는 방법 그리고 에러 핸들링5장 CLI 도구로 간단한 애플리케이션을 만드는 방법과 테스트 작성 방법 6장 Node.js를 이용한 웹 애플리케이션의 기초 - 서버 만드는 방법과 네트워크 처리 7장 프레임워크를 이용해 SPA를 작성하는 방법 8장 실제 Node.js 애플리케이션을 운용할 때 필요한 지식★대상 독자- Node.js를 활용한 애플리케이션 개발이 궁금한 분 - 개발 경력이 있지만 Node.js 개발에 익숙하지 않은 개발자 - Node.js 개발 개념과 원리가 궁금한 개발자 - 개발 영역을 넓히고 싶은 프런트엔드 개발자
독자리뷰
여러분은 퇴근 후 무엇을 하시나요? 저는 무언가 만드는 것을 좋아해서 사이드 프로젝트를 계속 진행하고 있습니다. 출퇴근길 버스를 타고 가면서 이런저런 아이디어가 마구 떠오릅니다. 어릴 적 Office Tool을 익히면서 나중에는 나도 이런 툴을 만들어보고 싶다는 꿈을 가지고 있었는데, 지금 퇴근 후의 시간 덕분에 그 꿈을 이루고 있어 정말 행복합니다. 사실 이를 위해 컴퓨터 공학을 전공하게 되었고요.
혼자서 생각한 프로그램을 만들려니 잘 되지 않아, 기초부터 제대로 배우기 위해 대학교에 진학했습니다. 오늘 오픈 채팅방에서 한 어린 친구가 비슷한 고민을 털어놓았습니다. 대학교 4년의 시간이 너무 아까워서 미진학 상태로 취업 시장에 나가보려 한다는 말이었죠. 저도 한때 비슷한 고민을 했었기 때문에, 제 경험을 바탕으로 대학교에 가는 것이 중요하다고 설득했습니다. 대학에 가기 전에는 시간이 아깝고 쓸데없는 시간처럼 느껴질 수 있지만, 막상 졸업하고 나면 대학이라는 곳에서 얻는 깊은 의미와 혼자서는 채울 수 없는 기본기를 다질 수 있다는 사실을 설명했습니다.
다시 본론으로 돌아가서, 대학에서 배운 내용을 바탕으로 현재 프로그램을 개발하고 있습니다. 사용자에게 보여지는 프론트 화면은 이제 어느 정도 감을 잡고 디자인부터 구현할 수 있는 수준에 도달했습니다. 하지만 1인 개발이다 보니 백엔드와 데이터베이스의 필요성을 점점 더 절실히 느끼게 되었습니다. Java 언어 기반의 Spring도 도전해보았지만, 현재 개발 중인 프로그램에 적용하기에는 아직 문턱이 너무 높았습니다. 그래서 생각한 것이 JavaScript 기반의 Node.js를 제대로 배워보자는 것이었습니다. 이미 JavaScript는 React, React Native, Electron 등을 사용하면서 충분히 익숙해진 터라 언어 자체에는 어려움이 없었습니다.
이런 과정을 통해 저만의 프로젝트를 조금씩 완성해 나가고 있는 중입니다. 여러분은 퇴근 후 어떤 시간을 보내시나요? 여러분의 이야기도 궁금합니다.
“업무에 활용하는 Node.js” 는 옛날부터 인터넷을 사용하셨다면, 한때 우리나라에서 대표 검색 포털 중 하나로 주름 잡았었던 야후(yahoo!)에서 기획/개발/운영 업무를 담당하셨던 ‘이토 고타’분이 집필하신 책입니다. 이때만 해도 야후 꾸러기에서 즐겼던 미니 게임들이 재밌었던 시절입니다. 2010년대 이후로는 구글에 점유율 1위를 내주면서 2012년 12월 31일 결국 한국에서 서비스를 종료하였습니다. 이 자리는 현재 네이버와 구글, 다음이 차지하고 있습니다.
저자는 책을 시작하면서 다른 책과는 다르게 목차와는 별도로 각 챕터별로 어떤 내용을 말하고자 했는지 말해주고 있어 좋았습니다. Node.js의 특징을 시작으로 실행 환경 구축, 간단한 자바스크립트 문법을 거쳐 모듈에 대한 설명까지 첫 시작을 우리가 프로그래밍을 할 때 필요한 요소들을 위주로 잘 구성되어 있습니다. 이후에는 프론트엔드와 백엔드를 다룰 때 반드시 이해해야 하는 비동기 처리를 다루고, 실제 애플리케이션을 만들어보면서 Node.js를 어떻게 활용해야 하는 지를 상세하게 잘 설명해주고 있습니다.
그중에서도 6장에서 실제 대중적으로 사용되고 있는 익스프레스를 통해 REST API 서버/웹 서버를 구축해봄으로써 보다 손쉽게 서버를 구축해볼 수 있었습니다. 또한, 단순히 서버를 만드는 것에서 그치는 것이 아닌 실무에 필요한 에러 핸들링이나 레디스를 활용한 데이터베이스 연동 방법, 클러스터를 이용한 성능 향상법 등을 함께 터득할 수 있어 제목과 같이 실무에 필요한 내용들을 습득할 수 있었습니다.
7장에서는 실제 애플리케이션을 만들어보면서 실무에 바로 적용할 수 있는 내용에 초점을 맞췄습니다. 특히나 저는 이중에서도 디렉토리 구성이 마음에 들었습니다. 애플리케이션을 만드는 것은 누구나 쉽게 접근할 수 있습니다. 하지만, 이를 보다 깔끔하고 명확히 작성하기 위해서는 디렉토리 구조도 중요한데 이를 그림과 함께 프론트엔드와 백엔드를 나누어 보여주어 구조를 이해하는데 수월하였습니다.
8장에서는 실제 애플리케이션 운용 시 필요한 내용들을 담고 있어, 본 책에서 만든 애플리케이션에 대한 개선 뿐만 아니라, 실무에서 마주할 수 있는 운용 시 라이브러리는 어떻게 관리해야 하며 주의점, 성능 개선을 위해 필요한 부분들을 차근차근 학습할 수 있었습니다.
마지막으로 책에 대해 한줄로 정리하면 책의 제목처럼 “실무, 즉 업무에 바로 활용할 수 있도록 구성과 짜임이 맞춰져 있어, Node.js를 도입하고자 하는 입문자들에게 권할 수 있는 책”이라고 할 수 있겠습니다.
오늘도 찾아주셔서 감사합니다.
“한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다.”
출처: https://patiencelee.tistory.com/1183 [PatienceLee:티스토리]
나로선 Node에 대해 모르던 기초적인 지식들을 배울 수 있어서 나름 만족스러웠던 책이다. 업무에서 이걸 사용하려면 이런 기능이 필요하고 Node가 필요하다. 이런 전제로 Node를 찾게 된 입장에서는 기본적인 배경도 관심 없고 어떤 콘셉트를 가지고 있는지도 관심이 없다. 그저 원하는 결과만 쉽게 잘 나오면 장땡. 그런 나에게 있어서 업무에 활용하는 node.js의 1장은 기초적이지만 다양한 정보를 접할 수 있는 좋은 시작이었다.
책에서 제공하는 COLUMN도 토막상식같은 느낌의 좋은 정보들이다.
기본적으로 제반 지식이 부족한 경우 이유나 원인을 찾아보기보단 그냥 해결 방법이라 생각되는 정보를 접하고 그대로 따라 해 본 뒤 성공할 경우 그 방식을 유지하게 된다. 나는 cjs나 mjs를 무슨 기준으로 나누는지 모르고 있었는데 CommonJS 모듈을 사용하면 확장자를 cjs로 ECMAScript 모듈을 사용하면 확장자를 mjs로 사용한다는 것을 알게 되었고 얼마 전 Gulp를 5로 설정하면서 차이점을 제대로 이해하지 못하고 있었는데 책을 읽으면서 이해가 되는 부분들이 꽤 생기게 되었다. 점점 ECMAScript 모듈쪽으로 생태계가 바뀌려는 것 같아 보인다.
비동기 처리나 서버관련, 개발, 운용과 개선등 아직 진도를 나가지 못한 부분들이 있지만 뭔가 그동안 비어있던 공간이 채워진 느낌이라 꽤 배가 부른 느낌이다. 기초공사가 부족했다는 것을 알게 되어 개인적으로는 무척 만족스럽다.
한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
프론트엔드와 백엔드가 자바스크립트라는 같은 언어로 개발을 할 수 있는 node.js의 매력을 느낄 수 있었고, node 개발자가 아니므로 책의 내용 모두를 당장은 이해하기 힘들지만, 역시 나중에 제대로 공부해보고싶어졌다.
업무에 활용하는 Node.js는 현대 웹 애플리케이션 개발에 필수적인 Node.js의 전반적인 활용법을 다룬 책이다. 이 책은 Node.js를 중심으로 프런트엔드와 백엔드를 자바스크립트 하나로 개발할 수 있는 효율성을 강조하며, 실전 개발 노하우를 풍부하게 담고 있다.책의 가장 큰 장점은 실무 경험과 노하우를 기반으로 한 실전적인 접근 방식이다. 단순히 기능 구현을 설명하는 것을 넘어, 왜 그렇게 구현해야 하는지를 설명하며 개발자로서의 깊은 이해를 돕는다. 이는 단순히 지식을 전달하는 데 그치지 않고, 독자의 문제 해결 능력과 실무 적용 능력을 향상시키는 데 중점을 둔다.업무에 활용하는 Node.js는 Node.js를 처음 접하는 개발자부터, 실무에서 Node.js를 활용하고자 하는 개발자까지 모두에게 유용한 책이다. 이 책을 통해 Node.js의 기초부터 심화까지 폭넓게 배우고, 실무에서의 활용법과 노하우를 익히며, 자바스크립트 기반의 프런트엔드와 백엔드 개발에 대한 깊은 이해를 얻을 수 있다. Node.js를 통해 웹 애플리케이션 개발의 새로운 지평을 열고자 하는 모든 개발자에게 추천한다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
업무에 활용하는 Node.js #한빛미디어 #업무실용서 #노드JS #node.js
Node.js 기초부터 업무 실용까지 다루고 있는 가이드북. 프런트엔드 개발자라면 들어봤을법한 Node.js업무에 활용을 목표로 나온 책으로 기본부터 프앤/백앤드 개발, 애플리케이션 운영까지 다뤄주고 있다. 자바스크립트 지식이 있는 개발자라면 '업무에 활용하는 Node.js'책을 수월하게 볼 수 있다.- 브라우저에서 ~이렇게 실행된다면, 서버에서는 ~이렇게 처리하고 있다 -개발 개념과 원리를 쉽게 다뤄주고 있기 때문에 프엔 개발자라면 백엔드 개발의 동작방법과 특성, 백엔드 개발자라면 프엔 개발의 특징을 알 수 있는 실전 노하우 책.
특히 처리 과정이나 실행 순서의 도식화를 이용해 이해하기 쉽게 설명한 부분이 최고. 말과 글로만 설명한다면 애매했을 부분을 표와 그림을 함께 삽입해두어 이해하기 한결 수월하다. 애매했던 부분을 정확하게 짚고 넘어갈 수 있는 부분이 아닐까 싶다.
JS정도만 할 줄 알아도, 개발에 대해 어느정도 이해가 있는 새싹 개발자라도, 이 책을 1부터 412까지 넘겨가면서 짚어가면서 본다면 꽤 괜찮은 기본기를 갖추게 될 수 있지않을까. 프로그래밍 책이 기대했던것 보다 재밋는다건 웬 말인가. 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.
이 책의 가장 큰 장점은 Node.js의 기초부터 실전 애플리케이션 개발까지 광범위한 내용을 다룬다는 점입니다. JavaScript 기본 문법부터 시작해 Node.js의 핵심 개념, 비동기 프로그래밍, 모듈 시스템 등을 차근차근 설명합니다. 특히 실무에서 자주 사용되는 Express 프레임워크를 이용한 REST API 서버 구축, 데이터베이스 연동, 그리고 React를 활용한 프론트엔드 개발까지 다루어 풀스택 개발에 필요한 지식을 제공합니다.
책의 구성이 체계적이어서, 초보자도 쉽게 따라갈 수 있을 것 같습니다. 동시에 Docker 활용, 클러스터링을 통한 성능 최적화, 단일 저장소 관리 등 중급 개발자들에게도 유용한 고급 주제들을 포함하고 있어 폭넓은 독자층을 만족시킬 수 있을 것으로 보입니다.
특히 주목할 만한 점은 단순한 기술 설명에 그치지 않고 "왜 그렇게 구현해야 하는지"에 대한 실무자의 노하우를 담고 있다는 것입니다. 이는 독자들이 개발 과정에서 더 나은 의사결정을 할 수 있게 도와줄 것입니다.
또한 코드 품질 관리를 위한 린트 설정, 테스트 작성 방법, 그리고 애플리케이션의 실제 운용과 성능 튜닝에 대한 내용을 다루고 있어, 실제 프로젝트에 바로 적용할 수 있는 실용적인 지식을 제공합니다. 다만, 보안 관련 내용이 더 자세히 다뤄졌으면 하는 아쉬움이 있습니다. 웹 애플리케이션 개발에서 보안은 매우 중요한 요소이기 때문입니다.
전반적으로, 이 책은 Node.js를 이용한 현대적인 웹 개발의 전 과정을 포괄적으로 다루고 있어, Node.js 입문자부터 실무 개발자까지 모두에게 유용한 지식과 인사이트를 제공할 것으로 보입니다. Node.js를 깊이 있게 이해하고 실무에 적용하고 싶은 개발자들에게 강력히 추천합니다.
node.js는 2009년 처음 출시되어서 현재까지 널리 사용 되고 있습니다.
자바스크립트 언어를 1999년 처음 접했었는데 그 당시 자바스크립트 언어는
웹페이지를 만드는데 있어서 스크립트 언어로 클라이언트 부분 기능을 하는데 사용되었었습니다.
주요 서버 관련 기능 부분은 asp나 php, jsp등의 서버 언어등이 주로 사용되었었고
스크립트 언어는 이 언어들에 비해서 크게 중요하다고 생각되지는 않았었습니다.
그렇지만 자바스크립트의 언어의 중요성과 미래가 밝다는 것을 아는 분들도 있었는데요.
예를 들어 자바스크립트 언어로 주식관련 프로그램들이 만들어지기도 하였습니다.
2009년도에 node.js가 나왔으니까
제가 접한 뒤로 약 10여년 뒤 아주 큰 기능의 변화가 생긴건데요.
node.js는 기존 클라이언트 부분만 다뤘던 기능에서
이제는 서버, 웹 애플리케이션, 명령줄 도구 및 스크립트를 만들 수 있는 무료 오픈소스로 나오게 됩니다.
아주 예전에는 서버개발자, 프런트엔드 개발자가 나뉘어 있지는 않았는데요.
뒤에는 두개의 직종으로 보다 세분하게 분류가 되면서 기술 또한 굉장히 다양해지고 기능 또한 막강해진걸 볼 수 있었습니다.
그만큼 학습할 양도 많이 늘어났는데요.
업무에 활용하는 Node.js
이 책 서문에는 다음과 같이 나와 있습니다.
'자바스크립트에 대한 지식이 있는 프런트엔드 개발자라면 Node.js를 활용함으로써 백엔드의 동작과 특성, 프런트엔드와의 차이를 더욱 정확하게 이해하는 동시에 더 넓은 개발 영역으로 발돋음할 수 있게 될 것입니다.'
'업무에 활용하는 Node.js' 책의 구성은 다음과 같습니다.
이토 고마 지음 / 김모세 옮김
1. 처음 만나는 Node.js
node.js의 특징과 자바스크립트와 차이점
2. 자바스크립트/Node.js의 문법
개발환경, 문법 설명
3. Node.js와 모듈
모듈설명, 싱글턴개념, npm과 외부 모듈 불러오기
4. Node.js에서의 비동기 처리
동기, 비동기 처리, 에러 핸들링
5. CLI 도구 개발
템플릿 만들기, CLI 테스트
6. 익스프레스를 이용한 REST API 서버/웹 서버
익스프레스 기초와 도입
데이터베이스 연동
뷰 템플릿
node.js 애플리케이션 배포
7. 프런트엔드/백엔드 개발
리액트 기본 기능
프런트엔드 애플리케이션 배포
테스트 방법 설명
8. 애플리케이션 운용과 개선
패키지 버전 업데이트
애플리케이션 실제 운용시 주의점
성능 측정과 튜닝
실재 업무에서는 예전의 방식대로 웹페이지를 개발하고 있고 유지/보수 하고 있었기에
새로운 기술들을 적용시키는데는 민감하지는 않았었습니다.
asp나 php등을 주로 이용하고 jquery등을 이용하였기에 기능적인 필요성이 많지는 않았었는데요.
추세가 많은 분야에서 node.js를 활용하고 vue, 리엑트, next.js등의 여러 언어등을 사용하고 있어서
어떻게 구현을 하는지 알아두는 것은 무척 중요한 상황이 되었습니다.
애플리케이션 작성 예시 (책 본문 중)
얼마전에 아는 분이 next.js, node.js, mysql을 이용해서 상업사이트를 만든 것을 보았는데요.
기능이 무척 좋았고 어렵게 기능을 구현하는 것이 아니라 이미 많은 부분들이 기능적으로 만들어져 있는 것같이 보였습니다.
그래서 필요한 부분들을 가져와서 사용하면 될 것 같이 보였는데요.
그렇지만 그 학습과정은 무척 양도 많고 쉬운 길은 아닐텐데요.
이번에 소개한 이 node.js를 통해서 실전을 미리 경험해 보는 기회가 되었고
더 많은 경험으로 나아갈 수 있는 기회가 되었습니다.
여러분들도 계신 분야에서 더 실력이 향상되는 기회가 되시기를 바랍니다.
안녕하세요 이번에 한빛미디어에서
Node.js에 대해서 자세하고 많은 내용을 배울 수 있는
"업무에 활용하는 Node.js" 책이 나왔습니다.
앞표지와 뒤표지는 위의 사진처럼 나왔습니다.
검은색 배경에 Nodes.js를 대표하는 초록색으로 이쁘게 꾸며져 있네요
뒤 표시의 추천사를 보면 알 수 있듯이 이 책은 Nodes.js 기초부터 고급 기술까지 다 배울 수 있습니다.
Node.js가 무엇인지부터 시작해서
기초 문법을 배우고 Node.js에 기본이 되는 비동기부터 시작해서 테스트 코드
CLI, express, 성능 튜닝, 모듈 등을 다 배웁니다.
책의 가독성도 좋고 글로만 이해하기 어려운 부분들은 사진에서 볼 수 있듯이
그림으로 아주 자세하게 나와있습니다.
비동기 / 동기, 블로킹 / 논블로킹등이 처음 공부하는 사람에게 어려운 개념인데
이걸 그림으로 잘 설명해 줘서 이해하기 쉽게 되어있습니다.
Node.js를 사용하기 위해서 필요한 javaScript 문법도 알려줍니다.
Node.js에서는 모듈이라는 개념이 있는데 아예 챕터를 따로 빼서 모듈에 대해서도 자세히 알려줍니다.
거기서 제일 유명한(?) npm에 대해서도 알려줍니다.
Node.js는 비동기 및 콜백을 많이 사용하는데 이 부분에 대해서도 자세히 알려주고 있습니다.
프로미스부터 시작해서 async / await까지 설명해 줍니다.
express 프레임워크에 대해서도 소개를 해주고 어떻게 서버 개발을 하는지도 알려줍니다.
서버 개발을 할 때 에러 / 예외 처리가 중요한데 이 부분에 대해서도
포괄적으로 어떻게 처리해야 되는지 잘 알려줍니다.
서버 개발을 하다 보면 Database, Redis 등에 연결하는 것도 필요한 데
이와 관련된 내용들도 수록이 되어있고 뒷부분에는 Docker도 연결하는 방법이 나와있습니다.
책에서는 프런트엔드와 관련된 내용도 같이 다룹니다.
서버뿐만 아니라 화면도 같이 설명해 주고 어떻게 화면에 대한 코드를 짜는지도 알려줍니다.
Node.js에 대해서 처음 배우시거나 얕게 배우신 분들이 읽으면 좋은 책 같습니다.
초급부터 고급까지의 내용이 다 담겨 있기에 차근차근히 책 내용을 따라가다 보면 Node.js에 대해서
많은 이해도를 얻을 수 있다고 생각합니다.
"한빛미디어 < 나는리뷰어다 > 활동을 위해서 책을 제공받아 작성된 서평입니다."
이 책은 Node.js를 배우고자 하는 모든 개발자에게 강력히 추천할 만한 실전 지침서입니다. 실무에서의 경험을 바탕으로 한 설명과 체계적인 학습 방법, 광범위한 내용 덕분에 Node.js를 처음 접하는 개발자부터 이미 경험이 있는 개발자까지 모두에게 큰 도움이 될 것입니다. Node.js로 웹 애플리케이션을 개발하고 운영하는 데 필요한 노하우를 이 책을 통해 배울 수 있습니다.
'업무에 활용하는 Node.js'는 이토고타 개발자가 집필하고, 김모세 엔지니어가 번역한 서적입니다.
이 책은 Node.js에 대한 전반적인 설명뿐만 아니라 프론트엔드와 백엔드의 통합 개발 환경을 다루고 있어, 처음 개발을 시작하는 초보 개발자들에게 매우 유용한 가이드입니다.
이 책을 읽으면서 Node.js의 백엔드와 프론트엔드를 아우르는 전체적인 흐름과 구성을 쉽게 이해할 수 있었습니다.
자바스크립트, Node.js, 그리고 React에 대한 지식이 있는 분들이라면 책을 매우 수월하게 읽을 수 있을 것입니다.
물론, 자바스크립트에 대한 기본적인 지식만 있다면 큰 어려움 없이 따라갈 수 있는 구성으로 되어 있어 초보자도 충분히 학습할 수 있습니다.
'업무에 활용하는 Node.js'는 자바스크립트를 공부하는 독자들이 개발하면서 궁금해할 만한 점들을 중간중간 팁으로 제공하고 있습니다.
예를 들어, bodyParser는 express에 포함되어 있으므로 따로 설치할 필요가 없다는 점이나, express 사용 시
const http = require('http') 를 따로 임포트하지 않아도 된다는 점, 그리고 미들웨어와 핸들러의 차이점 등 검색하지 않아도 될만한 정보들이 책에 잘 정리되어 있습니다. 이러한 팁들은 제가 Node.js를 처음 공부할 때 궁금했던 부분들을 명쾌하게 해소해 주었습니다.
또한, React를 이용한 간단한 프론트엔드 개발 내용도 포함되어 있어, 백엔드와 프론트엔드 개발의 기본적인 흐름을 이해하는 데 큰 도움이 되었습니다. 한빛미디어의 장점 중 하나인 예제 파일 제공 덕분에, 책을 따라 하다가 오류가 발생하더라도 이미 완성된 예제를 확인하며 문제를 해결할 수 있다는 점이 매우 유용했습니다.
총평하자면, '업무에 활용하는 Node.js'는 Node.js를 배우고자 하는 초보 또는 Node.js에 조금은 딥한 이해를 원하는 개발자에게 매우 적합한 책입니다.
이 책은 실무에서 자주 접하게 되는 문제들을 쉽게 이해하고 해결할 수 있도록 돕는 유용한 정보를 제공하며, Node.js와 프론트엔드 개발을 한 번에 이해할 수 있는 좋은 기회를 제공합니다. Node.js를 처음 접하는 분들이라면 이 책을 통해 전체적인 개발 흐름을 이해하고, 실무에 적용하는 데 큰 도움을 받을 수 있을 것입니다.
최근에 진행된 특강에서 Node.js를 메인으로 서버 개발을 하는 개발자를 만났고, 그 경험은 나에게 큰 영향을 주었다. 프론트엔드 개발자로서 백엔드 기술에 대한 이해는 선택이 아닌 필수가 되어가고 있다고 생각한다. 그리고 Node.js는 그 중심에서 매우 중요한 역할을 차지한다고 생각한다(프론트엔드 개발자라서 그렇게 생각하는 것일지도!). 그리고 다가오는 백엔드 개발자의 소통이 필요한 프로젝트에서 효율적인 소통을 위해, Node.js에 대한 기술을 이해하는게 중요하다 생각했고, 이 책을 결정했다.
"업무에 활용하는 Node.js"는 초보자도 부담 없이 접근할 수 있도록 쓰여졌다. 쉬운 언어와 명확한 설명이 돋보이지만, 내용이 다소 간략하게 처리된 부분도 있다. 이는 자바스크립트나 Node.js에 대한 사전 지식이 없는 독자들에게는 이해하기 어려운 부분이라 생각된다. 따라서, 학습을 진행하며 부족한 부분은 직접 추가적인 자료를 찾아보며 보완하는 자세가 필요하단 생각이 들었다.
이 책의 구성은 각 챕터가 독립적으로 이루어져 있어, 특정 주제에 대해 깊이 있게 알고 싶은 독자들이 필요한 부분만을 선택하여 읽을 수 있다. 독자가 자신의 현재 지식 수준과 필요에 따라 유연하게 학습 계획을 세울 수 있게 하는 것이, 이 책을 한 권 구비해놓아도 좋을법한 이유라 생각한다.
개인적으로는 Next.js와 Express.js 등의 프레임워크를 사용해본 경험이 있으나, Node.js의 근본적인 이해 없이는 그저 표면적인 사용에 그쳤다. 이 책은 Node.js의 핵심 개념을 잘 설명해 주어, 기술의 깊이를 더하고 실제 작업에 적용할 수 있는 능력을 키울 수 있게 도와준다고 생각한다.
Node.js에 대한 기본적인 이해를 쌓고 싶은 초보자부터 실무적인 내용을 원하는 경험 있는 개발자까지 모두에게 이 책은 읽어봄직한 책이라 생각된다. 기초적인 내용에서 시작하여 점차 실무 중심의 내용으로 나아가기 때문에, 학습자가 자신의 경험을 바탕으로 필요한 지식을 체계적으로 확장할 수 있을 거란 생각이 들었다. Node.js를 배우려는 모든 이에게 이 책을 추천한다!
이제는 Javascript가 중요해졌다 라고 이야기하기에는 그렇게 된지 너무 오래되어 진부한 표현인 것 같다. Javascript, CSS, HTML 을 이용하여 웹개발을 하는 것은 너무 당연한 일이 되었고, Frontend를 어떻게 개발하는 것이 효율적인지, Backend를 어떻게 개발하면 효율적인지를 알려주는 친절한 책이 많이 나와 있어, 본인이 익혀야 할 필요가 있는 기술들, 흥미가 있는 기술들을 선택적으로 많이 공부하는 경우가 많다. 그래서 많은 책들을 살펴보면 비슷비슷해 보이기도 한다. 한빛미디어에서 출간된 본 도서는 그러면 어떤 부분이 다른 책들과 차이가 있을까? 라는 생각으로 책을 읽기 시작했다.
지금은 그렇지 않지만, 오픈소스에 관심을 많이 가지지 않던 시절에는 문서가 잘 작성된 오픈소스가 많지 않았다. 그런 경우, 감사하게도 제공되는 튜토리얼이 있는 경우, 해당 튜토리얼을 반복 연습하면서 동작 방식을 이해해 갔었고, 이해가 되지 않는 부분이나 튜토리얼에서 이해가 되지 않는 부분들은 구글링을 하거나 또 다른 책을 찾아가며 해결책을 직접 찾아야했기 때문에, 전체적인 개발의 흐름이나 시스템 전반적인 동작의 흐름을 익히기에 개인의 노력이 많이 필요했었는데, 본 도서는 비슷하게 흐름을 이끌어가되, 독자가 궁금해 할만한 내용들을 하나씩 짚어주는 방식으로 설명을 하고 있어 불필요한 시간 낭비를 줄여준다.
이 책은 웹 개발에 있어 node.js를 이용해 frontend와 backend 개발 과정을 하나 하나 튜토리얼식으로 따라하면서 익히도록 가이드를 하고 있다. 책에서 설명하는 단계를 하나 하나 따라하면서 설명을 읽다보면, 전체적으로 이렇게 개발하면 되겠구나 하는 감을 익히기 쉬울 것이다. 그래서, frontend에서 REST API를 통해 받은 입력을 어떻게 처리하는지, 그리고 frontend에서 받은 입력을 backend로 전달해 어떻게 처리하는 지 흐름을 직접 입력해가면서, 이렇게 개발을 하는구나 라고 흐름을 익히게 되면, 그 다음부터는 좀 더 다양한 방법을 찾아 자신만의 기술을 늘려나갈 수 있도록 해 줄 것이다.
책의 장점을 좀 두루뭉술하게 기술했는데, 이 책은 사용된 기술들을 깊이 이해하는 것이 아니라 빠르게 흐름을 익히고 다음 단계로 나가기 위한, 그리고 빨리 개발에 적용해 볼 수 있게 해 주는 책으로 생각된다. 이 책의 저자가 설명하는 Node.js를 제외한 다양한 기술들, Redis, Docker, Nginx, Jquery, React, Next.js, performance tuning 등은 단순히 하나 하나의 기술들인 경우도 있으나, 관련하여 더 깊게 관련된 기술들이 있어서, 웹개발을 이제 막 시작하려는 분들에게는 따라하는 것만으로 벅찰 수도 있을 수 있다. 그래서 이 책의 내용을 반복해서 익힌 후, 궁금한 내용을 하나하나 깊게 공부해 나가기를 추천한다.
그래서 Node.js를 익히면서, 관련되어 나오는 기술들도 함께 깊은 지식을 원하는 분이라면 이 책은 원하는 책이 아닐 수 있음을 언급해 두고 싶다.
아주 오래전에 Node.js를 접하고 최근까지 별로 사용할 부분이 없어서 잊고 있었는데, 이 책을 통해서 최신화할 수 있게 되어서 마음 한편으로 뿌듯하게 생각한다.
Node.js를 처음 접했던게 PC용 테스트 서버를 만드는 것이었다. 데스크톱 pc로 가볍게 돌릴만한 걸 찾다가 node.js를 보고 익혀 어찌어찌 적용했던 기억이 새롭다. 그땐 아무것도 모르고 그냥 사용했었는데 이번에 읽으면서 어떤 부분들이 적용되어 편리했었구나 하는 부분들을 다시금 깨닫게 되어 새로웠다.
상황마다 차이가 발생했던 this. 그 때마다 '이건 무슨 차이지? 왜 매번 다를까?' 하고 고민했던 게 this라는 키워드이다. 다행히 요번에 확실히 알게 되어 기쁘다.
이번에 이해한 내용을 정리하자면, this 키워드는 인스턴스 자체에 대한 참조로 쓸 수 있다. 뭔 말인고 하니 내가 '가방' 이라는 인스턴스를 만들고 가방에 속성으로 펜, 노트, 핸드폰을 넣었다고 치자. 그러면 가방에 들은 속성들을 사용할 땐 가방. 노트, 가방. 펜 이런 식으로 쓰겠지.
그런데 만약 가방이라는 인스턴스 안에서 자기 자신을 부를땐 뭐라 해야 할까? 그럴 때 this를 쓴다. this. 노트, this. 핸드폰 이렇게 가방 인스턴스 안에서 쓰면 this는 당연히 가방이 된다.
만약 가방 인스턴스 바깥에서 this를 쓰면? 그럼 this는 가방 바깥의 어느 영역(?)에 있으니까 가방이 아니라 전역 콘텍스트를 의미하고 global 객체를 가리키는 것이다. 그래서 전역 콘텍스트에서 this. 노트라고 호출하면 당연히 노트 속성은 가방 인스턴스에 있고 global 객체에는 없으니까 undefined라고 에러 나게 된다.
Node.js에서 빼놓을 수 없는게 비동기 처리이고 이 중에서 콜백, 프로미스, async/await 도 빼놓을 수 없는 삼총사이다. 이것도 개념 잡기가 첨에 어려워서 매번 쓸 때마다 그냥 그려려니 하면서 썼는데, 요번에 확실히 알겠더라.
콜백은 말그대로 처리가 다 끝나면 등록된 콜백함수로 회신(콜백) 오는 것이고. 프로미스는 콜백을 여러 번 쓰려면 콜백 안에 콜백 넣고 또 콜백 넣고 해야 하는 것이 번거로워서 성공, 실패 시 then, catch 메서드가 호출되는 객체를 만든 게 프로미스이다. 성공 시 이 걸해라라고 하려면 프로미스. then(). then(). then()... 요런 식으로 성공에 따른 것들을 콜백 없이 주르륵 써주니깐 편리하게 된다. 그렇게 프로미스를 쓰다 보니 조건이나 루프에서 사용하기 불편한 게 나왔고 그래서 나온 게 async/await이다. 기존의 동기 처리처럼 비동기 프로미스 처리를 async로 감싼 함수에서 프로미스 콜에 await만 붙여주면 이전 방식처럼 루프와 분기를 쓸 수 있게 되어 편리해진 거.
비동기 처리의 경우 요렇게 그림으로 설명해 주면 이해가 훨~~ 씬 쉽다. 요번에 책 보면서 헷갈린 부분 있었는데 그림 보다 보니 이해가 됨.
CLI 프로그램을 만드는 과정도 있는데 CLI보다 테스트 프로그램 만드는 게 더 재밌었다. 테스트라는 게 그다지 좋아하지 않아서 대충(?) 개발하고 테스트는 등한시한 게 많았었는데 요번에 읽으면서 그렇게 어렵지도 않고 여러모로 프로그램 완성도 올리는데 좋은 거 같아서 이후에는 잘 써봐야겠다는 생각이 든다.
서평단으로 활동하면서 여러 가지 책을 읽기는 하는데 요번에는 부쩍 재밌었다. 예전 기억도 새롭게 나고 내가 놓친 부분들을 많이 채울 수 있어서 좋았다.
front-end 웹개밸의 한축을 담당하는 node.js는 다이나믹하고, 다루기 쉽다는 느낌을 가지고 있다.이미 다루어본적있는 언어이기에 이렇게 책을 통해서 개로운 지식을 탐구해볼수있는 기회를 각게됨을 항상 고마워하고 있다.이책은 한빛미디어의 다른 입문서처럼 기본 개념(원리), 동작 프로세스등의 설명을 시자으로, 환경 구축 방법 제시, 기본 문법, 응용 프로그램등의 순으로 진행되고있다.그중에서 제일 많은 관심을 가진것은 결국 실무에 바로 적용해야하는 REST API 서버/웹서버 부분이었고, 이책에서도 상당히많은 페이지를 할해하고있다.
개발환경 구축은 상세히 잘 설명되어있는 편이다.
물론 구축방법이 자동으로 진행하는것이 아닌 , 사용자가 일일이 명령어를 입력하여 설치하는 방법이라, 경우에따라서는 원활히 진행되지않을수조 있겠지만,경험상 관련 자료가 인터넷에 많고, 해결법도 어렵지않아 큰 문제가 되지않을것이라 확신한다..
가장 관신 있었던 REST SPI 서버외에 항상 추천하고 좋아하는 동작원리나 구종 프로세스를 그림으로 얼마나 잘설명하는가인데. 그런점에서 아래 이미지 처럼 대부분의 이해가 필요한 부분에 많은 삽화를 첨가하여 설면해주고있어서, 나 역시도 애매하게 생각했던부분을 보강하는 계기를 갖게된것 같다.
하여간 node-js를 쉽게 이해하게해주는 재미있는 책이라 생각한다.기초를 튼튼히하기에 적절한 서적으로 모두에게 추천하고싶다.
이 책의 주요 내용은 아래와 같습니다.
Node.js 기초 지식
익스프레스를 활용한 웹 애플리케이션
REST API
리액트와 익스프레스로 프런트엔드/백엔드 개발
CLI 도구 개발
Node.js 애플리케이션 운용
성능 튜닝
npm으로 라이브러리 관리
모듈 기초 지식
비동기 처리 다루는 법
테스트와 배포
이책의 처음은 역시 node.js를 소개하는 것부터 시작합니다.
싱글스레드, I/O 등 node.js의 특징을 설명해 줍니다.
그다음은 역시 자바스크립트와 Node.js의 문법에 대해 설명해 줍니다.
node.js의 버전과 자바스크립의 기초(변수, 연산자, 함수 JSON, this, 반복문 등)를 말이죠.
위와 같이 문법에 대해 공부한 후 노드의 모듈에 대해 설명해 줍니다.
책에서는 크게 CommonJS, ECMAScript 모듈을 사용하여 모듈을 가져오고 내보내는 방법에 대해 자세하게 설명해주고 있습니다.
모듈까지 배운 후에는
크게 Node.js 비동기 처리, CLI 도구 개발, 익스프레스를 이용한 REST API 서버 /웹서버 파트로 구성되어 있습니다.
Node.js 비동기 처리 부분에는
콜백 함수, 프로미스, async/await 등 비동기 처리의 다양한 방법에 대해서 설명해 주어 성능을 최적화할 수 있는 방법에 대해 설명해주고 있으며
CLI 도구 개발 파트에서는 도구의 이름을 표시하거나 읽은 마크다운 파일을 HTML로 변환하는 등 구현하는 방법에 대해 설명해주고 있습니다.
마지막으로 REST API 서버 파트입니다.
처음에 익스프레스를 설치하고 서버를 기동 해보는 것부터 시작합니다.
그리고 라우팅에 대해 알려주며 사용자를 지정해 API에 접근하는 방법을 알려주고
요청과 응답 시에 요청 객체와 응답 객체에 접근할 수 있는 미들웨어 함수에 대해 설명해 줍니다.
위와 같이 서버를 구축하고 있으면 데이터 베이스가 빠질 수 없을 것입니다.
다른 곳에서는 MYSQL이나 mongodb를 주로 연결하는데
특이하게 이 책은 레디스라는 데이터베이스와 도커를 이용하여 연결해주고 있었습니다.
그다음 데이터를 읽고 쓰는 방법에 대해 알려주며 이를 테스트할 수 있는 방법에 대해 알려주고 있습니다.
Node.js의 기초부터 고급 기능까지 설명해 주며 실무에 바로 적용할 수 있는 다양한 예제와 실습을 제공하는
이 책은, 실무적인 활용 방법을 배우고자 하는 개발자 분들에게 꼭 필요할 것 같습니다.
Node.js를 효과적으로 활용하고 싶은 개발자분들께 이 책을 추천드리고 싶습니다.
감사합니다.
Node.js는 자바스크립트 런타임으로, 프런트엔드와 백엔드를 모두 다룰 수 있는 강력한 도구입니다. 이 책 “업무에 활용하는 Node.js”은 Node.js의 다양한 특징과 활용 방법을 소개하며, 실제 업무에서 어떻게 활용할 수 있는지 살펴봅니다.
Node.js의 가장 큰 특징은 자바스크립트를 언어로 사용한다는 점입니다. 자바스크립트는 웹 브라우저에서 주로 사용되었지만, Node.js를 통해 서버 사이드 프로그래밍에도 활용할 수 있게 되었습니다. 이로 인해 프런트엔드와 백엔드 개발자 모두 Node.js를 익혀야 하는 상황이 되었습니다.
자바스크립트와 Node.js의 문법을 이해하는 것부터 시작해 보겠습니다. 개발 환경 도입부터 ES6 이후의 중요한 문법까지 살펴보면서 자바스크립트의 핵심 개념들을 익히게 됩니다. 또한 Node.js에서 모듈을 사용하는 방법과 비동기 처리에 대해서도 자세히 다룹니다.
Node.js의 강점 중 하나는 CLI(Command-Line Interface) 도구를 쉽게 만들 수 있다는 점입니다. 인수 처리, 라이브러리 도입, 린트, 테스트 등 CLI 도구 개발에 필요한 내용을 학습할 수 있습니다.
백엔드 개발에서는 익스프레스 프레임워크를 활용하여 REST API 서버와 웹 서버를 구축하는 방법을 다룹니다. 데이터베이스 연동, 뷰 템플릿 사용, 정적 파일 송신 등 다양한 기능을 익힐 수 있습니다. 또한 에러 핸들링, 테스트, 배포 등 실무에 필요한 내용도 학습합니다.
프런트엔드 개발에서는 React를 활용하여 애플리케이션을 구축하는 방법을 소개합니다. 프런트엔드와 백엔드의 통합 개발, 컴포넌트 분할, API 호출, 클라이언트 사이드 라우팅 등 다양한 기법을 익힐 수 있습니다.
마지막으로 애플리케이션 운용과 개선 방법에 대해 살펴봅니다. 패키지 버전 업데이트, 공통 라이브러리 관리, 성능 측정과 튜닝 등 실제 운용 시 주의해야 할 사항들을 다룹니다.
이 책을 통해 Node.js의 다양한 기능을 배우고, 실제 업무에서 어떻게 활용할 수 있는지 이해할 수 있을 것입니다. 프런트엔드와 백엔드를 모두 다룰 수 있는 강력한 도구인 Node.js를 활용하여 효율적이고 생산적인 개발 환경을 만들 수 있을 것입니다.
자바스크립트를 통해 개발한 개발자들은 Node.js의 중요성을 쉽게 알 수 있다. 저자는 자바스크립트라는 공통적인 맥락 덕분에 운영체제 동작이나 프로토콜 등 웹 구조를 코드로 학습하면서 흥미를 붙여 나갈 수 있었다고 한다. 나 역시 자바스크립트에 대한 지식이 쌓이면서 더 넓은 영역으로 나아갈 수 있는 목적지로서 Node.js에 대한 흥미가 자연스럽게 생겼다. 이 책을 읽는 독자들은 백엔드에서 프론트엔드까지 전체적으로 체험해보고 이해하는 것을 목표로 읽어보는 것을 권장한다.
이 책에서 배울 내용은 다음과 같다.- Node.js의 기본 개념 이해- 프론트엔드와 백엔드를 동일한 언어로 개발하는 방법- 모노레포 구조와 최신 개발 패턴 반영- 비동기 처리 방식과 권장 설계 패턴- 애플리케이션 운용 및 개선 방법
1. Node.js의 기본 개념Node.js는 크롬의 V8 엔진을 기반으로 동작하며 서버 사이드 자바스크립트를 실행할 수 있는 환경을 제공한다. 비동기 이벤트 기반 구조를 채택해 높은 처리 성능을 발휘하고 싱글 프로세스, 싱글 스레드로 작동하면서도 논블로킹 I/O를 통해 많은 연결을 효율적으로 처리할 수 있다. 이러한 특성 덕분에 실시간 애플리케이션, 데이터 집약적인 네트워크 애플리케이션, 마이크로서비스 아키텍처 등 다양한 분야에서 광범위하게 사용된다.
2. 모듈 시스템 이해Node.js는 CommonJS 스타일의 모듈 시스템을 채택했다. 최근 ECMAScript 모듈 시스템이 표준화되었지만 아직 보급되려면 시간이 필요하다. 이 책에서는 CommonJS 모듈을 중심으로 이용해 웹팩과 브라우저리파이 같은 모듈 번들러도 간단하게 소개한다. 이 장을 통해 모듈을 효율적으로 관리하고 코드의 재사용성을 높일 수 있을 것이다.
3. 비동기 처리 방식Node.js 애플리케이션에 이용되는 비동기 처리 방식은 콜백, 프로미스, async/await, EventEmitter/Stream 등이다. 이 책은 권장하는 설계 패턴으로 async/await를 사용한다. 스트림 처리가 필요한 경우에만 EventEmitter/Stream을 사용할 것을 제시한다.
4. 애플리케이션 운용 및 개선Node.js 버전은 최신 LTS 버전을 사용하는 것이 좋다. 또한 npm으로 설치한 패키지도 최신 버전을 유지하는 것이 중요하다. 모듈에서 기능 추가뿐만 아니라 취약점 대응이나 버그 수정 등 다양한 버전 업데이트가 매일 발생하기 때문이다. 모노레포에서의 라이브러리 관리, 성능 모니터링, 에러 추적 등 애플리케이션 운용과 개선에 관한 내용도 다룬다. 최신 상태를 유지하면 애플리케이션의 안정성과 성능을 극대화할 수 있다.
결론"업무에 활용하는 Node.js"는 Node.js의 기본 개념부터 실제 애플리케이션 운용까지 다양한 내용을 다룬다. 실무 경험과 노하우를 통해 '왜' 그렇게 구현해야 하는지 배우며 개발자로서의 경험치를 넓힐 수 있다. 처음 Node.js를 접하는 독자들도 프론트엔드에서 리액트를 조금이라도 개발해본 경험이 있다면 이 책을 재미있게 읽을 수 있을 것이다.
‘이 서평은 한빛미디어 <나는 리뷰어다> 활동을 위해 출판사로부터 책을 제공받아 작성되었습니다.’
이 책은 `Node.js의 특징`부터 `기초 문법`, `모듈`, `비동기 처리`, `운영 단계` 순으로 진행한다.책의 첫 장에서 Node.js의 특징/키워드에 대해 설명하고, 뒤를 이어 Node.js 런타임 환경의 언어인 JavaScript의 기초 문법에 대해 이야기한다.중간에서는 프론트엔드와 백엔드의 개발을 어떻게 하는지, 테스트는 어떻게 해야하는지 실질적인 개발과 관련해서 다룬다.책의 마지막은 애플리케이션 운영 단계에서 유의점과 성능 개선에 대해 이야기하면 마무리하고 있다.책의 시작으로 Node에 대해 가볍게 다루고, 중간부터는 실질적인 개발과 관련하여 다루는 내용이 많아 Node.js를 처음 접하는 입문자도, 현재 현업에서 Node.js를 사용하고 있는 실무자에게도 모두 적합한 책이라는 느낌을 받았다.
Node.js로 경험하는 웹 애플리케이션 실전 개발 노하우. 자바스크립트 기반으로 frontend, backend를 구현할 수 있기 때문에 개발에 용이한 장점이 있다. 관련하여 자바스크립트 문법과 웹앱, CLI 도구 개발, 라이브러리 관리, 전반적인 frontend, backend 개발을 살펴볼 수 있다.
python 오타인듯..
2021년 자료를 보면 Node.js는 top 6에 랭크되어있을 정도로 많이 사용하고 있다. 이 책이 좋은 이유는 기본적인 자바스크립트 익히기부터 시작해서 비동기에 대한 이해, 프론트/백엔드 모두 아우를수 있는 예시, 마지막으로 운용에 대한 부분까지 다루고 있기 때문이다.
기초지식은 무엇보다 중요한데, 이런 개념적인 부분을 다이어그램으로 보여주는 부분이 이해하기 쉽게 다가왔다. 자바스크립트 사용과 관련한 설명도 함께 이루어져있기 때문에 읽기가 편했다.
프론트와 백엔드를 이용한 애플리케이션 구축까지 진행할 수 있는데 전체적인 Flow를 통해 이해할 수 있도록 도와준다.
책의 뒷표지에서 적혀져있는것처럼 A-Z를 다루고 있기 때문에 옆에 두고 볼 책이다!!
나 같은 경우에는 C언어를 메인으로 개발업무를 진행했었고 지금은 스크립트 기반으로 시스템 백엔드를 개발하고 있는 입장이라서 JS나 jquery, Node.js쪽에는 그동안 제대로 관심을 두진 못했었는데 . 이책을 통해서 관련 배경과 이해에 도움이 되었다!
최근에 새로 구성하는 신제품 라인에 LOG를 수집하여 웹페이지로 연결해 볼 수 있는 시스템을 구축하고 있습니다. 물론 안해본 일인데 비슷한 업무이관으로 Node.js를 백엔드로 Vue.js 를 프론트엔드로 쓰는 시스템을 받아 관리 했던 일이 있었는데 그때 Node.js를 급하게 공부했었습니다. 대부분의 책이 Node의 간략한 역사를 소개하고 서버를 올려보는 예제를 시작으로 board 를 만들거나 로그인을 구현해보는 예제 위주로 넘어가는데요 저처럼 C++나 C#만 주로 하던 사람에게 제일 어려웠던 게 자바스크립트 문법, 그리고 문법의 버젼에 따라 표현식이 너무 달라서 아무리 해도 익숙치 않았어요그래도 일단은 실무를 해야하니 일단은 작동만 시키자라는 일념으로 계속 진행은
했었는 데 늘 아쉬웠던 게 왜 여기에서 이 미들웨어를 써야하지? 왜 비동기로 이렇게 구성해야하지? 콜백 지옥은 왜 생성되는지 그런 궁금증이 계속 생겼었습니다.
이 책은 그런 Node.js의 역사와 현재와 같은 형태를 가지게 된 이력까지 자세하게 알려줍니다.
call back,promise,async ~await의 이렇게 자세히 설명해주는 책을 본적이 없네요 인터넷으로 하나씩 찾아서 보는 것하고 달리 이렇게 일목요연하게 정리해서 강의를 듣는 것처럼 배우니 이해가 훨씬 깊어집니다.
무한 콜백의 지옥은 아직 직접적으로 느껴보지 못해 머리로만 이해하고 넘어갔었는데요 책에서 모든 시퀀스를 도표로 설명해주는 게 좋았어요 프런트엔트와 백엔드를 모아서 개발한다는 개념도 배웠습니다.
리액트,뷰를 배워봤지만 전부 따로 파편적으로 배웠던 것이 모여 정리가 되는 느낌입니다. 부분 부분 익힌걸 모아서 정리하는 방법은 책을 보는게 제일 좋은 방법이라고 생각합니다. 새로운 언어를 배울때는 일단은 책을 하나 선택해 보는 게 제
방식입니다.
사용자가 담당엔지니어 수십명 정도의 간단한 시스템을 만들며 생각해보지 않은 많은 유저가 네트워크에 동시에 접근할 때 생기는 문제 저로서는 고려해보지 않은 부분까지 알게되어 기본을 다지면서 실무경험이 더 생긴 것 같네요
요즘 ChatGPT에게 물어서 코드를 짜면 쉽다고 하는 데 이 방법이 좋긴한 데
기술적 배경지식을 알고 도구를 다르는 것과 그저 동작만하는 코드를 구하는것은 다른 차원의 이야기겠지요
Node를 다루시면 한번은 읽어보시길 추천드립니다.
오탈자 보기
부록/예제소스
정가 : 30,000원
판매가 : 27,000원(10% off)
마일리지 : 1,500점 (5%)
배송료 안내
무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.
리뷰쓰기
* 리뷰 작성시 유의사항
글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.
1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨). 2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.
오탈자 등록
도서 인증
* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.
* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.
* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.
해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.장바구니로 이동하시겠습니까?