node.js 3

Node.js 시작하기

다운로드 및 설치 Node.js사이트로 이동합니다. 원하는 버전의 Node.js를 다운로드 합니다. (저는 개인용 PC에서 사용할 예정이므로 LTS 버전을 다운로드 받으려 합니다.) 설치된 'node-v10.15.0-x64.msi'를 실행합니다. 설치를 진행합니다. Hello, Node.js! Node.js 사이트에서 상단의 메뉴중 [문서] → [안내] → [시작가이드] 로 이동합니다. 원하는 디렉토리에 app.js를 생성한 후, Text Editor(ex. Notdpadd++, VS Code)를 통해 아래의 코드를 붙여넣습니다. const http = require('http'); const hostname = '127.0.0.1'; const port = 3..

Server/Node.js 2019.01.27

Node.js 비동기 처리

기존 웹 서버들이 쓰레드를 생성할 때, 일정한 메모리 공간을 사용하여서 클라이언트의 요청이 늘어날 경우, 서버를 늘려야하는 문제가 발생하였었습니다. 이와 다르게 Node.js는 비동기 이벤트 기반 아키텍쳐을 이용하기 때문에 이를 극복하고 뛰어난 성능을 발휘할 수 있었습니다. 그렇다면 비동기 이벤트 기반 아키텍쳐가 무엇인지 알아보려 합니다. Blocking I/O I/O 작업이 진행되는 동안 유저의 프로세스가 결과가 반환되기 전에는 다음 처리로 넘어가지 않는 것을 이야기합니다. 위의 그림에서와 같이 하나의 System call이 들어왔을 때, kernel에서 다른 data를 읽는중이라면 이 kernel이 data를 다 읽을 때까지 기다려야하는데, 이를 Block됐다고 표현합니다. Multi Thread 다..

Server/Node.js 2019.01.25

Node.js 인기이유

Node.js 인기이유 Node.js? Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼으로 Javascript라는 스크립트 언어를 사용한다는 특징이 있다. 기존 서버와 다르게 Non-blocking I/O와 단일 스레드 이벤트 루프를 통해 높은 처리 성능을 보인다. HTTP 서버 라이브러리를 내장하고 있어 웹 서버에서 별도의 소프트웨어를 사용하지 않고도 동작한다. Node.js의 인기비결? Javascript의 천하통일 Node.js는 웹에 동적인 흐름을 만들어주는 Javascript라는 언어를 사용합니다. Javascript는 Node.js가 나오기 전 시대(ASP, JSP PHP등의 전용 스크립트언어 시대)에는 단순히 브라우저 상에서만 동작하는 ..

Server/Node.js 2019.01.23