본문 바로가기

node.js

(10)
[node.js] Node.js를 이용한 웹 어플리케이션 만드는 10가지 팁 Node.js는 이미 이벤트 드리뷴 방식과 비동기 통신적에 이미 많은 인기를 끌고 있는 기술이다. 하지만 현재의 웹페이지는 그냥 빠르다고 하는것으로는 충분함을 채울수가 없다. 만약 우리가 새로운 웹사이트를 만드는것을 node.js를 이용해서 만들려고 계획 중이라면, 지금 부터 소개할 10가지 tips들을 참고하는것이 어떨까 싶다. 1. Run in Parallel 웹 응용 프로그램을 구축하는 동안, 때때로 데이터를 가져오는 여러 내부 API를 호출할 때가 있다. 예를들어 대시보드를 생각해보면, 대시보드가 렌더링 되는 동안 아래과 같은 가상 호출을 실행될수 있다. The user profile(사용자 프로필) – getUserProfile() The recent activity(최근 활동내역) – getR..
[Phantomjs] Phantomjs를 이용해서 웹페이지 캡쳐하기 (3) 다음은 원하는 URL에 따라 웹페이지를 캡쳐하는 방식을 도전해볼 것이다. 이전에 작성했던 loadPage.js의 파일에 Argument를 추가해서 node에서 원하는 URL을 loadPage.js로 넘겨서 이미지파일을 받아낼것이다. 먼저 loadPage.js를 아래와 같이 수정하자 var page = require('webpage').create(); var system = require('system'); if ( system.args.length == 1){ console.log('Usage : loadPage.js '); phantom.exit(); } address = system.args[1]; page.open(address, function (status){ if (status != 'suc..
[node.js] 각모듈 안전성 인덱스 Node.js 모듈 안전성 인덱스 Node.js 공식 홈페이지의 API에 있는 모든 모듈은 안전성 인덱스가 최상단에 표기가 되어있다. 이는 현재도 활발하게 발전하고 있는 Node.js의 모듈의 신뢰도를 판단할 수 있는 좋은 척도이다. 만약 특정 모듈을 선택할 때, 더 이상 변경되지 않을 가능성이 높은 모듈을 선택하고 싶다면, 인덱스가 높은 모듈을 선택하면 된다. 각 인덱스의 참고이다. ◎ Stability : 0 - Deprecated ( 더이상 사용하지 않음 ) : 이기능은 현재 문제가 있어 곧 변경할 예정이다. 사용하지 마라 ◎ Stability : 1 - Experimental ( 실험적임 ) : 최근에 추가되었으며 수정 혹은 삭제될 수도 있다. 사용해보고 피드백을 줘라 이 기능이 꼭 필요하다면 N..
socket.io를 이용한 웹 전자칠판 사전 설치 express , socket.io npm install express npm install socket.io 1. app.js ( node.js 서버 코드 ) var express = require('express'); var http = require('http'); var fs = require('fs'); var app = express(); // express 서버를 6549포트로 구동 var server = app.listen(6549); // express 서버 객체를 socket.io에 연동하고 socket.io 객체 io를 생성 var io = require('socket.io').listen(server); // '/' url로 요청이 들어왔을때 /index.html 파일 보..
[MYSQL] node.js에서 mysql 연결하기 mysql 모듈 Node.js에서 mysql 데이터베이스를 사용하려면 mysql 3rd party 모듈을 설치 해야 한다. npm install mysql 예제1 var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : 'root', password: '1234' }); connection.connect(function(err){ if (err){ console.log('mysql connection is fail '); console.log(err); throw err; } else { console.log('mysql connection is success'); } }); conne..
[fs] File System 모듈 File System 모듈 File system 모듈 추출 방법 var fs = require('fs') fs 모듈은 node.js의 built-in 모듈 이므로 따로 설치할 필요는 없다. File system 모듈의 메소드는 광장히 많고 대부분의 파일 처리와 관련된 메소드들을 제공해주고 있다. File System 모듈은 대부분 API를 동기/ 비동기 두가지 방식으로 처리할 수 있도록 제공하고 있다. node.js에서는 대부분읜 연산 작업을 비동기 방식으로 제안하지만 피치 못하게 동기적으로 처리해야 하는 경우가 있다. 동기 형식의 경우 비동기 메소드에 ' ~ Sync' 접미사를 붙여 주면 된다. 파일 읽기 비동기 형식의 파일 읽기는 fs.readFile('filename' , [option], call..
[Express] Express.js를 살펴 보자 Exrpess.js Connect 미들웨어가 Node.js의 HTTP 모듈을 확장한 것 처럼, Express.js는 Connect 미들웨어를 확장하였다. 그렇기 때문에 Express.js의 소스틑 Connect의 소스와 매우 닮았다. 단지 ' app ' 변수 셋팅 하는 부분만 다르다. var express = require('express'); var http = require('http'); var app = express(); ~ ~ ~ ~ ~ .listen(6549); 중간 부분은 다르다. connet 미들웨어가 구현한 미들웨어를 모든 클라이언트 요청마다 순서대로 호출해주는 기능을 내세운다. 하지만 express.js는 이 기능을 통해서 다음 항목들에 대하여 유용한 기능을 제공해주고 있다. * Ro..
[Express] Express의 미들웨어 Connect Express의 미들웨어 Connect connect는 Node.js의 기본 HTTP 모둘의 Server, ServerRequest, ServerResponse 객체를 포장( wrap )하여 유용한 기능을 제공하고 있고 , 그중 하나는 Server객체가 미들웨어의 스택을 사용할 수 있게 한것이다. ◎ 미들웨어란? Node.js에서 말하는 미들웨어는 클라이언트의 요청(Request)를 제어하는 함수들의 집합 정도로 이해할 수 있다. connect.createServer로 서버가 생성되면, 미리 명시한 미들웨어 함수들을 호출 할 수 있다. 클라이언트 요청이 들어오면, 첫 번째 미들웨어가 포장된 ServerResponse와 next 콜백과 함께 호출이 된다. 각 미들웨어는 next()함수를 통해 다음 계층으로..