[Node.js] 001 강의노트

배윤석·2022년 7월 18일
0

NodeJS

목록 보기
1/3

node.js

공식 사이트

Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임.

Chrome V8 JavaScript 엔진 ➡ ECMAScript

자바스크립트 언어 해석기
1. 브라우저 포함된 해석기 ➡ html
2. JavaScript 런타임 ➡ Js => Java와 유사하게 처리

Node.js 로 할수 있는 것
1. Window Application ➡ Java
2. Web Application ➡ JSP


node.js 는 무엇일까?

  • 오픈소스 서버환경
  • 무료
  • 다양한 플랫폼에서 실행된다.
  • 서버에서 JavaScript를 사용한다.

node.js 설치

Ubuntu 에 설치하기

  1. curl 설치
sudo apt-get -y install curl
  1. 웹사이트에서 받기?
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
  1. node.js 설치하기
sudo apt-get install -y nodejs

test 해보기

node --version

혹은?

node -v


node.js 의 실행 환경이 설치된 것을 확인할 수 있다.


Node.js에서 Javascript 실행하는 방법

  • REPL(Read, Eval, Print, Loop)
  • 파일(js) ➡ VS Code 사용

JavaScript 기본문법과 동일하다.
Node.js를 배운다는 것은? ➡ 라이브러리를 배우는 것.
무엇이 추가가 되었나? 보는 것.

라이브러리? : 공식 문서

라이브러리

  • package / import ➡ java
  • exports / require ➡ js

아직까지는 export / import를 주로 사용한다.


실제 예제

export / require

  • export.js
const odd = '홀수입니다';
const even = '짝수입니다';

module.exports = {odd, even};
  • require.js
const data = require('./export');

console.log(data);
console.log(data.odd);
console.log(data.even);

console

"use strict";

console.log('Hello NodeJS');
// , = ' '
console.log('1', '2', '3');
global.console.log('1', '2', '3');

console.log('기본 출력');
console.info('출력 1');
console.warn('출력 2');
console.error('출력 3');
"use strict";

const obj = {
    depth1: {
        depth2: {
            depth3: {
                key1 : 'value1',
                key2 : 'value2'
            }
        }
    }
}

console.log(obj);
console.dir(obj);
console.dir(obj, {depth: 1});
"use strict";

console.log('시작');
console.time('time1');
for(let i=0; i<100000; i++) {

}
console.timeEnd('time1');
console.log('종료');

os

"use strict";

//let os = require('os');

let os;

try {
    os = require('os');
    console.log(os);
} catch(err) {
    console.log('[에러] ');
}
"use strict";

const os = require('os');

console.log(os.arch());
console.log(os.platform());
console.log(os.type());
console.log(os.release());
console.log(os.uptime());

console.log(os.homedir());
console.log(os.tmpdir());

console.log(os.totalmem());
console.log(os.freemem());

path

"use strict";

console.log(__dirname);
console.log(__filename);

process

"use strict";

console.log(process.version);
console.log(process.arch);
console.log(process.platform);

console.log(process.cpuUsage());

console.log(process.execPath);
console.log(process.cwd());
"use strict";

//console.log(process.env);

//console.log(process.argv);
//console.log(process.argv[2]);
//console.log(process.argv[3]);

for(let i=2; i<process.argv.length; i++) {
    //console.log(process.argv[i]);
}

process.argv.forEach(function(val) {
    //console.log(val);
});
"use strict";

let i = 1;

console.log('시작');
setInterval(function() {
    if(i == 5) {
        console.log('강제 종료!!');
        // 프로그램 종료
        process.exit();
    }

    console.log(i)
    i ++;
}, 1500);
console.log('종료');

time

"use strict";

console.log('시작');
const timeout = setTimeout(function() {
    console.log('1.5초 후 실행');
}, 1500);
console.log('종료');

util

"use strict";

const util = require('util');

const dontUseMe = util.deprecate(function(x, y) {
    console.log('결과', x + y);
}, '2023년 12월 까지만 지원됨');

dontUseMe(1, 2);

const str1 = util.format('%d + %d = %d', 1, 2, (1+2));
console.log(str1);
profile
차근차근 한 걸음씩 걸어나가는 개발자 꿈나무.

0개의 댓글