NodeJs 설치 – Setting

Nodejs 설치 방법에 대해 알아봅니다.

서버 설치에 앞서 관련한 필요한 기본 정보를 확인해보겠습니다.

Nodejs 설치 관련 정보

Port

  • 0~1023 : 잘 알려진 포트 (80 포트, 22 포트 등)
  • 1024~49151 : 등록된 포트 (데이타베이스 연결 포트 등)
  • 49152~65535 : 동적 포트 (어플리케이션 단에서 할당하는 포트)

Ajax(Asynchronous Javascript And XML)

  • 웹 서버에서 웹 문서를 받아오는 것이 아니라 데이터만 받아오기 위한 방법과 기술을 말합니다.

Nodejs 설치 기반 웹서버

  • 기본구조는 익스프레스(Express) 프레임워크를 사용합니다.
  • 데이터 저장 및 조회는 다양한 데이터베이스 활용이 가능합니다. MongoDB, Mysql, PostgreSQL 등이 있습니다.
  • 클라이언트에 응답을 보낼 때 사용하려고 미라 웹 문서의 원형을 만들어 놓는 것을 뷰 템플릿(View Template)이라고 합니다.
  • 사용자 로그인이나 회원가입을 위해 패스포트(Passport) 란 것을 사용합니다.

JSON-RPC 서버

  • Data는 Json 형식을 사용합니다.
  • RPC는 Remote Procedure Call의 약자로 다는 주소 공간에서 함수나 프로시저를 실행할 수 있게 하는 프로세스 간 통신 기술을 일컫습니다.

Nodejs 설치 기반 위치기반서버

  • DB에서 위치값(위도, 경도)를 효율적으로 읽기 위해 2차원 인덱싱 방법을 사용합니다. 그 중에는R-Tree, R*Tree 기법이 있습니다.


Node.js

  • 자바스크립트를 이용해서 서버를 만들 수 있는 개발 도구입니다.

Non-Blocking IO 방식

  • 비동기 입출력 방식은 하나의 요청 처리가 끝날 때까지 기다리지 않고 다른 요청을 동시에 처리하는 방식입니다.

Callback 시스템

  • 작업이 완료하면 Callback 함수 호출합니다.

Blocking IO code

var contents = file.read(‘a.txt’);

doShow(content);

var result = doAdd(10,10);

Non-Blocking IO code

file.read(‘a.txt’, function(contents)){

doShow(contents);

});

var result = doAdd(10,10);

이벤트 기반 입출력(Event driven I/O) 모델

  • 파일 시스템이 이벤트화 함께 호출하는 방식입니다.

크롬 V8 엔진

  • 자바스크립트 코드를 네이티브 코드로 바꾼 후 실행합니다. 빠르게 실행 가능합니다.
  • 노드를 설치한 다음 노드로 프로그램을 만들어 실행하면 크롬 V8 엔진 위에서 실행됩니다.

바인딩

  • [객체].on([이벤트 이름], [함수 객체]);
  • res.on(‘data’, function(){…});

CommonJs

  • 자바크스립트를 브라우저뿐 아니라 서버 쪽 프로그램이나 PC용 프로그램에서도 사용하려고 조직한 자발적인 워킹 그룹입니다.

npm(Node Package Manager)

  • 다른 프로그래머가 미리 개발하여 올려 둔 패키지를 찾아 설치하는 방법을 제공합니다.

브라켓설치

http://brackets.io

  • 프로젝트 폴더는 사용자 폴더에 생성되며 권한문제가 발생할 수 있습니다.

C:\Users\Hwai

확장 기능 설치

  • 파일 -> 확장 기능 관리자
  • Custom Work – 파일 탭 표시
  • Brackets Icons – 파일 앞에 아이콘 표시
  • NodeJS Integration – Ctrl + Shift + N : 바로 실행결과 확인.

NodeJs 설치 방법

https://nodejs.org

LTS 버젼을 설치합니다. Add to Path 선택되어 있는지 체크합니다.

$ sudo apt-get update
$ sudo apt-get install nodejs npm

NodeJs 설치 확인

$ node -v // node 버젼 체크
$ npm -v  // npm 버젼 체크

– Log

console.log(‘Number : %d’, 10);

console.log(‘String : %s’, ‘Girl’);

console.log(‘JSON : %j’, {name : ‘Girl’});

– time log code

var result = 0;

console.time(‘sum_time’);

for(var i=1; i<=1000; i++)

{

    result += i;

}

console.timeEnd(‘sum_time’);

console.log(‘1~1000 sum : %d’, result);

console.log(‘current filename : %s’, __filename);

console.log(‘current path : %s’, __dirname);

– Object log

var Animal = {name:’Dog’, age:10};

console.dir(Animal);

console.log(‘argv count:’ + process.argv.length);

console.dir(process.argv);

Back to top