Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 레이블 인코딩
- SQLD
- 명령어
- django
- CROSS JOIN
- partition
- data preprocessing
- Cartesina Product
- ML
- Machine Learning
- SQL
- Python
- sklearn
- 사이킷런
- 기본
- 원핫인코딩
- PARTITION BY
- 머신러닝
Archives
- Today
- Total
Programming Blog
Node js란? 본문
- Node js란?
- javascript Engine 기반으로 만들어진 서버 사이드 플랫폼이다.
- 이벤트 기반(Event-driven), Non Blocking I/O모델을 사용하여 가볍고 효율적이다.
- Node js는 웹 서버가 아닌 그저 코드를 실행할 수 있는 하나의 Javascript V8 런타임이다.
- 웹브라우저가 아닌 서버쪽에서도 동작하는 자바스크립트로 확장되었다.
- Node Js의 특징
- 비동기(Non-Blocking) I/O 처리, 이벤트 위주 : Node js의 라이브러리의 모든 API는 비동기식(Non-Blocking)이다. 데이터 반환을 기다리지 않고, 다음 API를 실행하고, Node js의 이벤트 알림 메커니즘을 통해 결과값을 받아온다.
- 빠른 속도 : 구글 크롬의 V8엔진 사용으로 빠른 코드 실행
- 단일 쓰레드 / 뛰어난 확장성 : 이벤트 루프와 함께 단일 쓰레드 모델 사용하고, 단일 쓰레드를 사용하여 훨씬 많은 요청을 처리할 수 있다.
- 웹 브라우저(클라이언트)에서부터 시작하여 서버쪽에서도 자바스크립트를 사용해서 완결된 애플리케이션을 만들 수 있다.
하나의 언어로 애플리케이션을 구현할 수 있다는 효율성이 있다. - Node js를 효율적으로 사용하기 위한 App
- 입출력이 잦은 App
- 데이터 스트리밍 App
- 실시간 데이터 처리 App
- JSON API 기반 App
- 싱글 페이지 App
*반대로 CPU 사용률이 높은 어플리케이션에서는 Node js 사용을 권장하지 않는다. - Web Browser VS Node js
- JavaScript는 대표적으로 language측면의 JavaScript, RunTime(동작하는 환경)측면의 JavaScript로 이루어져있는데,
Node js부분이 RunTIme에 해당한다. - JavaScript와 RunTime의 관계
js형식을 이용하여 web browser와 node js를 제어할 수 있다.
RunTime을 제어해서 컴퓨터를 제어해야하기 때문에 Web Browser와 Node js의 기능과 뜻을 알아야 한다
Web Browser의 JavaScript와 Node js의 JavaScript를 이용하여 하나의 완결된 웹 애플리케이션을 만들 수 있다. - 서버 쪽에서의 경쟁언어
- Python (서버)
- Ruby
- Php
- Java
* 서버 쪽에서 동작하면서 DB에 접속, 웹 페이지를 프로그래밍적으로 생산하는 것은 Node js의 경쟁 상대이다.
'Node js > 생활 코딩 Node js' 카테고리의 다른 글
express 도입 (0) | 2019.02.07 |
---|---|
동기와 비동기 프로그래밍 (0) | 2019.02.03 |
콜백(Callback) 함수 (0) | 2019.02.03 |
모듈과 NPM (0) | 2019.02.03 |
Node js 간단한 웹 애플리케이션 (0) | 2019.02.03 |
Comments