NodeJs 서버 개발 환경 Server Side Javascript Event Driven Non-blocking(비동기) I/O Event Loop & Callback Pattern var express = require("express"); var http = require("http"); var app = express(); app.use(express.static(__dirname + "/public")); http.createServer(app).listen(8080, function(){ console.log("server running on port 8080"); }); NodeJs에서 사용하는 전역 객체 -> Browser의 Window 객체 __filename : 현재 실행 중인 코드의 경로와 파일 이름 __dirname : 현재 실행 중인 코드의 디렉토리 경로 console.log() : 콘솔창에 로그를 남긴다. 프로그램과 관련된 기능을 다루는 객체 process.argv : 실행시 전달된 매개변수 process.env : 컴퓨터 환경고 관련된 정보 process.version : NodeJs 버전 정보 process.platform : 플랫폼 process.exit(0) : 프로그램 종료 process.memoryUsage() : 메모리 사용 정보 객체 반환 process.uptime() : 프로세스 실행 시간 JavaScript 파일(.js)이 2개 이상인 경우, 별로 구성된 파일을 사용 exports 된 모듈을 사용하는 경우 require() calc.js를 가져온다. require와 exports를 사용 //main.js var calc = require('./calc.js'); var res = calc.plus(10,20); console.log("res : "+res) //calc.js exports.plus = function (a,b) { return a+b; } package.json { "main" : "./calc.js" } main.js var calc = require('calc'); var res = calc.plus(10,20); console.log("res : "+res) NodeJs가 기본 제공하는 API API 문서 http://nodejs.org/api os 관련 정보 os.hostname() : 호스트 이름 os.type() : os 이름 os.platform() : 플랫폼 os.totalmem() : 시스템 총 메모리 os.freemem() : 시스템 가용 메모리 os.cpus() : cpu 정보 객체 os.networkInterfaces() : 네트워크 인터페이스(랜카드) 정보 배열 url에서 정보를 추출하거나 변환 url.parse(urlStr) : URL 문자열을 URL 객체로 변환 url.format(urlObj) : URL 객체를 URL 문자열로 변환 URL 객체의 쿼리 관련 querystring.parse(str) : 쿼리 문자열을 쿼리 객체로 변환 var url = require("url"); var querystring = require("querystring"); var url_string = "https://www.google.co.kr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=jungchul.tistory"; var obj = url.parse(url_string); console.log(obj); var query = querystring.parse(obj.query); console.log(query); util.format() : 매개 변수로 입력한 문자열을 조합해 반환 var util = require('util'); var data = util.format('%d+%d=%d',1,2,1+2); console.log(data); 해시 생성과 암호화 var crypto = require('crypto'); var hash = crypto.createHash('sha1'); // crpyto.getHashes() hash.update('content data input'); var output = hash.digest('hex'); console.log(output); 표준콘솔(키보드)로부터 한 줄 씩 입력하며, 반드시 close() 호출 var readline = require('readline'); var r1 = readline.createInterface(process.stdin,process.stdout); r1.question("What your name?", function(answer) { console.log("Hello, Mr(s)",answer); }); var readline = require('readline'); var r1 = readline.createInterface(process.stdin,process.stdout); r1.setPrompt("type>"); r1.prompt(); r1.on('line',function(line) { if(line == 'exit') { r1.close(); } console.log(line); r1.prompt(); }); //on 이벤트 핸들러 r1.on('close',function() { process.exit(); })NodeJs
웹 서버 만들기
전역 객체 Global Object
console 객체
process 객체
exports / require(‘path.js’)
내장 모듈
OS모듈
url 모듈
querystring 모듈
util 모듈
crypto 모듈
readline 모듈
'Computer Language' 카테고리의 다른 글
NodeJs - 모듈(http) (0) | 2016.02.23 |
---|---|
NodeJs - 모듈(FileSystem, Event, Network) (0) | 2016.02.23 |
Eclipse Webserver + HTML Project (0) | 2016.02.22 |
Eclipse Web 툴 및 webserver 설치하기 (0) | 2016.02.22 |
Eclipse에서 Node.js와 JavaScript 실행하기 (0) | 2016.02.22 |