2024/11/05 4

[Node.js] Node.js CJS로 간단한 HTTP 서버 만들기

Node.js를 이용해 웹 서버를 만드는 것은 생각보다 간단하다.Node.js의 CommonJS(CJS) 모듈 시스템을 활용해 코드 한두 줄로 웹 서버를 구현할 수 있다.CJS 방식을 사용해 간단한 HTTP 서버를 만드는 방법을 알아보자! 1. CommonJS(CJS)란?Node.js는 자바스크립트를 서버에서 실행할 수 있게 해주는 환경이고, 기본적으로 CommonJS(CJS)라는 모듈 시스템을 사용한다. CJS 방식에서는 require로 모듈을 가져오고 module.exports로 내보낸다. 이는 Node.js 초기부터 사용되어온 방식이라 많은 프로젝트에서 사용된다. 2. HTTP 모듈로 서버 만들기Node.js에는 HTTP 서버를 쉽게 만들 수 있는 http 모듈이 있다.이 모듈을 사용해 요청(req..

Node.js 2024.11.05

[Node.js] Node.js 의 특징 : 확장성

Node.js 는 개발 환경에서 프로젝트 자체의 확장을 쉽게 할 수 있는 특징이 있다. 이것이 가능한 이유는 Node.js 에서 제공하는 NPM (Node Package Manager) 라는 툴이 있기 때문npm은 Python 의 pip, Ruby 의 gem 과 같이 설치, 삭제, 관리를 통합적으로 도와줄 수 있는 도구이다. npm 을 사용하게 되면 다양한 내부, 외부 모듈을 사용할 수 있다.이 말은 필요한 기능들이 미리 구현되어 있는 경우가 많고 이 기능을 내가 가져다 쓰기가 편리하다는 것을 의미한다. Node.js 는 npm 외에도nvm, npx, yarn 등 다양한 툴이 사용 가능하다.  npm vs. nvm vs. npx vs. yarn 1. npm(Node Package Manager)Node...

Node.js 2024.11.05

[Node.js] Node.js 의 특징 : 구조

Node.js에 구조에 따라서 생기는 특징에 대해서 알아보자 구조의 종류에는 1. Single Thread2. Non-blocking I/O 첫번째 Single Thread 의 의미는어떠한 작업을 처리하는 곳이 하나라는 것을 의미한다.자바스크립트에 대한 속성을 그대로 가져왔다고 이해해도 무리가 없다. 두번째는 Non-blocking I/O 이다.쉽게 얘기하면 어떤 작업들이 연달아 있을 때 작업이 실행되는 순서가 요청이 들어온 순서가 아닌먼저 끝나는, 짧은 작업들이 리턴이 되는 것을 의미한다.  이 두가지 특징을 보면작업하는 공간이 하나인데 먼저 끝나는 작업을 먼저 돌려줄 수 있는 것인가에 대한 의문이 생길 수 있다.의문을 해결하기 위해 Node.js의 구조를 조금 더 자세히 살펴보자 위 그림에 나와있듯 ..

Node.js 2024.11.05

[Node.js] Node.js 란?

Node.js 란 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 Chrome V8 엔진과 JavaScript 런타임 이라는 용어를 이해하지 못하면Node.js 에 대해 제대로 이해하기가 어렵기 때문에 먼저 이 2가지를 알아보자! 그 전에 웹 브라우저의 동작 과정에 대해 이해하는 것이 좋다 우리가 일반적으로 보게 되는 웹 화면은 HTML, CSS, JavaScript 이 세가지로 이루어져 있다이 세가지는 브라우저를 통해서 해석된 후 화면으로 출력되게 되는데 이 과정을 "렌더링" 이라고 표현한다. 그런데 HTML,CSS 와 JavaScript 는 브라우저에서 해석되는 방법의 차이가 있다. 먼저 HTML, CSS 는 브라우저 내에 있는 렌더링 엔진을 통해서 해석자바스크립트의 ..

Node.js 2024.11.05