과연 신규 프로젝트가 진행되기 일주일전에 업무를 할당 받았다면..
어떤 기분일까? 단독으로 하지 않으니, 기본적으로 공통 모듈이나,
Co-Work하시는 분들이 어느정도 기본적인 구조는 구성해 놓았을거 같다.
시중에 node.js로 판매되고 있는 책은 상당히 많다.
그많큼 인기가 많고, javascript라는 공통적인 사항을 이용해서 Backend / FrontEnd 모두 커버하니 얼마나 좋은가?
또 javascript 로 기존에 Desktop의 S/W를 개발을 할수 있는 시대이다.
https://www.electronjs.org/ 을 이용하여서 우리가 많이 사용하고 알고 있는 Slack, VS-Code, Figma에서
사용되었다고 하니 더욱 더 활용성이 높아지는것 같다.
내가 책을 접근하는 기준은
JavaScript 를 중급으로 한다는 가정하에 이 책을 살펴보려고 한다.
Web에 대해서 기본적으로 Request / Response에 대한 개념을 알고 있다고 전제한다.
"책 서문에서도 node를 처음 시작하는 입문자 및 실제 프로젝트에서 많이 사용하는 기능을 알고 싶은 개발자 대상이다."
책의 페이지 수는 P.347이다. 두꺼운 책은 아닙니다. (node.js의 모든 내용을 다루지 않는다고 언급되어 있습니다.)
책의 목차 살펴보기
Chapter | 세부 목자 보면서 예상되는 내용 (책의 내용을 예상해보면, 해당 Chapter의 내용 이해에 좀더 좋을거 같습니다) |
Chapter 01. Node.js | node의 정의 및 특징 / npm의 개념을 설명할거 같다. node가 V8 javascript엔진을 가지고 있다는건 알고 있는데, 어떤 구성을 가지고 있는지 알 수 있을거 같다. |
Chapter 02. 개발환경 구성 | vs-code, node.js LTS버전 설치, vs-code에서의 plug-in설치여서 개발과 관련된 부분이 아니고, 대부분 클릭을 통해서 진행되는 환경구성 부분인거 같다. |
Chapter 03. 서버 프로그램을 위한 자바스크립트 | javascript의 문법에 대한 설명이 있는거 같다. let,const 부터 Class, Promise등 몰랐던 개념이나, 전반적으로 다시한번 문법을 익히는데 좋을거 같다. |
Chapter 04. Node.js 시작하기 | node실행하는 부분이여서 크게 어려운 부분은 없을거 같다. |
Chapter 05. Node.js 내장 모듈/객체 | node 에서 제공하는 모듈/객체에 대해서 언급을 한다. 다른책에서는 해당 부분이 좀더 다루는 부분이 많을거 같다. 중요한 개념으로 생각하신 부분 위주로 언급되었을거 같다. |
Chapter 06. json-server 이용하기 | REST-API사용을 위한 기능 같다. GET / POST / PUT / DELETE요청에 대해서 실습해 볼수 있을거 같다. |
Chapter 07. Express로 웹 서버 구축하기 | node를 이용한 Web-Framework라고만 알고 있다. 웹서비스를 하기 위한 F/W이라고 생각이 든다. 6장에 json-server는 Express없이 구동이 되는건지 체크해 봐야겠다. |
Chapter 08. 데이터베이스 사용하기 | Mysql / MongoDB 2가지 예제가 있다. 2가지 DB타입별로 db-connection을 해볼것 같다. |
Chapter 09. 애플리케이션 운영과 고성능 웹을 위한 Node.js | 업무에서 주로 사용하는 기능이 언급되어 있다. 로그관리 / 메일링 / 스케줄러 / 엑셀 / 웹소켓 / 크롤링 등등 다양한 방법으로 개발이 가능하지만, 좋은 샘플 예제가 될거 같다. |
Chapter 10. Node.js 미니 프로젝트: 제품 판매 웹앱 구현 | node.js+Express 에 대한 실습 |
node.js 환경구성
node.js는 서버 환경구성이 매우 용이하다
npm이라는 node package manager에서 python의 pip install~ 과 같이 쉽게 설치가 가능하다.
이러한 개발 편의성은 spring에서도 maven이나, grandle과 같은 build-tools의 편리한 변화까지 영향이 주었을거라고 생각이 든다.
1장,2장,4장등을 통해서 쉽게 node개발 환경을 구성할수 있다.
8장에서 db를 설치하고 환경구성하는 부분이 좀 자세히 설명되어 있는 부분이 있다.
mac, window에서 mysql 8.x버전을 설치하고, 최초 설정해야 하는 비밀번호 설정 및 계정생성등의 설명은
처음 환경구축을 연습하는 사용자들에게 도움이 될거 같다.
추가적으로 node에서 많이 연동하기 사용하는 mongodb도 mac, window환경에서 설치방법을 설명하고
기본적인 스키마 모델 생성 및 문서추가/삭제/수정/검색의 항목을 언급한다.
node 프로젝트에서 필요한것
기본적으로 node를 사용하는경우, REST-API개발을 위해서 express를 통한 server-side 기능일것으로 생각된다.
그러면 기본적으로 2가지 부분이 개념학습이 필요하다.
- node에서 기본적으로 제공하는 내장 모듈과 객체
- 5장에서
console클래스, Timer, Process, OS, Path, URL, Crypto, File System에 대해서 설명한다.
많은 부분은 아니지만, 주요 기능을 숙지하고 https://nodejs.org/api/ 을 통해서 좀더 필요한 부분을 파악해보면 될것 같다.
현재 node LST버전 16.x의 주요 모듈 (https://nodejs.org/docs/latest-v16.x/api/index.html)
- 5장에서
- Rest-API개발을 위한 방법
- 8장에서 DB를 설치하면서, REST연동에 대한 부분을 소개한다.
- 10장에서 express를 통한 연동 부분을 소개한다.
- Test서버 환경
- 6장에서 json-server를 통한 가상서버 구축
- POST-Man의 mockup서버 구축등이 설명되어 있다.
- Test서버 환경
- 유용한 모듈 설명
- 9장에서 많이 사용되어지는 유용한 기능에 대해서 설명을 한다.
필요한 기능을 잘 활용하면, 원하는 기능을 빠르게 개발할수 있을거 같아서 도움이 될거 같다. - 로그 관리
- 로그 관리는 서버의 숙명, 반드시 해야지 disk full 관리가 되고 오류 및 서비스 상태에 용이합니다.
- > npm install winston
- 메일링 서비스
- 메일은 고객과 소통하는 기본서비스라고 생각합니다.
- > npm install nodemailer
- 작업스케줄
- 배치처리,주기적이 동작을 하기 위해서 필요한 기능
- > npm install node-cron
- 엑셀파일 처리 : > npm install xlsx (추가로 exceljs도 있음)
- iCanlender 이벤트 생성 : > npm install ics
- 웹소캣 : > npm install socket.io socket.io-client
- 크롤링
- 요즘은 워낙 다양한 오픈소스가 있습니다. (python기반의 beautifulsoup 과 같은 기능입니다.)
- > npm install axios cherrio
- forever
- 운영시 node.js의 비정상 종류등을 체크후 재실행 하기 위한 기능
- > npm install forever
- 클러스터 모드 / pm2
- node의 단일 스레드로 동작하는 방식을 CPU수만큼 fork해서 사용하여서 병렬처리가 가능하도록 하는 방법
- 9장에서 많이 사용되어지는 유용한 기능에 대해서 설명을 한다.
책을 통해서 node.js의 전반적인 동작 방식 및 개발을 위해서 필요한 부분을 Quick-Guide형태로 진행되지만
중간중간에 저자분이 현업에서 사용하는 방식 및 사용방법에 대한 의견이 있어서 도움이 됩니다.
9장에서 언급되는 유용한 기능 npm 모듈은 현업에서 잘 사용하면 좋을거 같습니다.
node.js에 기본 동작을 파악하고, 더 필요한 부분은 API 및 검색을 통해서 조금더 깊게 학습하는 방식도 좋을거라고 생각됩니다.
'book' 카테고리의 다른 글
알 스웨이가트의 파이썬 프로젝트 (0) | 2022.02.28 |
---|---|
SQL Cookbook(쿡북) (0) | 2022.02.16 |
실시간 모니터링 시스템을 만들며 정복하는 MEVN (0) | 2021.10.26 |
262가지 문제로 정복하는 코딩 인터뷰 in Java (0) | 2021.10.16 |
Must Have 박미정의 깃&깃허브 입문 - 리뷰 (0) | 2021.10.11 |