[전역변수]
__filename : 현재 실행중인 코드의 파일 경로
__dirname : 현재 실행중인 코드의 폴더 경로
example)
console.log('filename : ' , __filename ) ; console.log('direname : ' , __dirname ) ;
=======================================================
[process]
process.exit() : 프로그램 종료
process.memoryUsage() : 메모리 사용정보 객체 리턴
process.uptime() : 현재 프로그램이 실핸된 시간 리턴
=======================================================
[os module]
//os 모듈 추출 후 사용가능
var os = require('os'); //os 모듈 호출
os.hostname() : 운영체제 호스트 이름
os.type() : 운영체제 이름
os.platform() : 운영체제의 플랫폼
os.arch() : 운영체제의 아키텍쳐
os.release() : 운영체제의 버전
os.uptime() : 운영체제가 실행된 시간
os.totalmem() : 시스템의 총 메모리
os.freemem() : 사용 가능한 메모리
os.cpus() : cpu 정보
os.networkInterfaces() : 네트워크 인터페이스
=======================================================
[url module]
//url 모듈 추출 후 사용가능
var url = require('url'); //url 모듈 호출
url.parse( urlStr ) : url문자열을 url 객체로 리턴
url.format( urlObj ) : url객체를 url문자열로 리턴
url.resolve( from, to ) : 매개변수를 조합해 url문자열 생성
=======================================================
[query string module]
//querystring 모듈 추출 후 사용가능
var querystring = require('querystring');
querystring .stringify( obj ) : 쿼리 객체를 쿼리 문자열로 변환
querystring .parse( obj ) : 쿼리 문자열을 쿼리 객체로 변환
=======================================================
[util module]
// util모듈 추출
var util = require('util');
format( format ) : 매개변수로 입력한 문자열을 조합해 리턴
example)
var data = util.format( '%d + %d = %d' , 10, 20, 10 + 20 ); console.log(data); // 10 + 20 = 30 출력
=======================================================
[crypto module] - 해시 생성
//crypto 모듈 추출
var crypto = require('crypto');
//해시 생성 -> 만들어진 해시값은 원래대로 돌릴수 없다.
var shasum = crypto.createHash('sha256'); shasum.update('변경하고 싶은 문자열 입력'); var output = shasum.digest('hex'); console.log('crypto_hash : ', output); //변형된 값 출력
//암호화 -> 암호화는 원래대로 돌릴 수 있다
//변수 선언 var key = 'test'; //아무도 알지못하는 비밀 키 var input = 'password'; //암호화 var cipher = crypto.createCipher('aes192', key); cipher.update(input, 'utf8', 'base64'); var cipheredOutput = cipher.final('base64'); //암호화 해제 var decipher = crypto.createDecipher('aes192', key); decipher.update(cipheredOutput, 'base64', 'utf8'); var decipherOutput = decipher.final('utf8'); //출력 console.log('원래 문자열 : ' + input); // 원래 문자열 : password console.log('암호화 : ' + cipheredOutput); // 암호화 : kwd240sZq8wX7RX0p41v2A== console.log('암호화 해제 : ' + decipherOutput); // 암호화 해제 : password
=======================================================
[file system module]
//fs 모듈 추출
var fs = require('fs');
fs.readFile( file, encoding, callback ) : 파일 비동기로 읽기
fs.readFileSync( file, encoding ) : 파일을 동기로 읽기
fs.writeFile( file, data, encoding, callback ) : 파일을 비동기로 쓰기
fs.writeFileSync( file, data, encoding ) : 파일 동기로 쓰기
example)
//파일 읽기
//동기 파일 읽기 var text = fs.readFileSync('파일경로_및_파일명.txt', 'utf8'); //비동기 파일 읽기. 정상적으로 읽으면 data 매개변수에 읽은 데이터를 전달 fs.readFile('파일경로_및_파일명.txt', 'utf8', function (error, data) { console.log(data); });
//파일 쓰기
//변수 선언 var data = '저장될 내용 입력'; //동기로 작성 fs.writeFileSync('저장될_파일_명.txt', data, 'utf8'); //비동기 파일 작성 fs.writeFile('저장될_파일_명.txt', data, 'utf8', function(error){ console.log('성공시 출력메시지'); })
//예외처리를 포함한 파일 읽고 쓰기
//파일 읽기 try{ var data = fs.readFileSync('읽을파일.txt', 'utf8'); console.log(data); } catch (e) { console.log(3); } //파일 쓰기 try{ fs.writeFileSync('저장될파일명.txt', '파일내용 직접입력 및 변수할당', 'utf8'); console.log('성공시 출력'); } catch (e) { console.log(e); }
=======================================================
[이벤트]
on() : 이벤트 연결 메서드, 자바스크립트의 addEventListener() 메서드와 이름은 다르지만 사용 방법은 같다.
emit() : 이벤트 실행
EventEmitter 객체 : 이벤트를 연결할 수 있는 모든 객체의 부모
setMaxListners(limit) : 이벤트 리스너 연결 개수를 조절 (default : 10개)
removeListener(eventName, handler) : 특정 이벤트의 이벤트 리스너를 제거
removeAllListeners([eventName]) : 모든 이벤트 리스너를 제거
once(eventName, eventHandler) : 이벤트 리스너를 한번만 연결
emit(eventName[args1][args2][...]) : 이벤트 강제로 발생
//process 객체에 exit 이벤트를 연결
process.on('exit', function(){
});
'Web > Node.js' 카테고리의 다른 글
express module - request, response 객체 (0) | 2018.03.06 |
---|---|
http module (server, request, response, cookie) (0) | 2018.03.02 |
Node js Email Send (0) | 2018.03.02 |
gulp-less (0) | 2018.03.01 |
forever & nodemon & supervisor (0) | 2018.02.26 |
댓글