본문 바로가기

Node.js

(56)
node.js mongojs 를 이용한 웹페이지 출력 node.js 에서 mongojs 모듈을 이용하여 웹페이지에 DB데이터를 출력하는 예제입니다.먼저 js 파일 소스입니다. var connect = require('connect'); var fs = require('fs'); var ejs = require('ejs'); var db = require('mongojs').connect('board', ['test']); function get(path, cb){ return function(req, res ,next){ if(req.method != 'GET' || req.url != path) return next(); cb(req, res, next); } } var app = connect() .use(get('/', function (req, re..
connect 모듈 router 에러 발생시 connect 모듈이 2.0 버전 으로 올라가면서 router 함수가 빠졌습니다.express 모듈을 사용하면 되지만 connect 함수를 계속 사용하시는 분들은 아래와 같이 소스를 변경하여 사용하면전체소스를 크게 변동하지 않고 사용가능합니다. 예전소스(connect 1.8.5 이하 버전에서 router 사용예제)var connect = require('connect');var fs = require('fs'); connect.createServer(connect.router(function (app) { app.get('/', function (req, res, next){ fs.readFile('test.htm', 'utf8', function(error, data){ res.writeHead(200..
node.js mongojs 를 이용한 mongodb 예제 node.js 에서 mongodb 를 사용하기 위한 모듈중 가장 간단한 mongojs 예제입니다. mondodb의 명령어를 안다는 가정하에 진행합니다. 1. 먼저 사용할 모듈을 설치 합니다. 저는 0.7.3이 설치되었습니다. $npm install mongojs 2. 어떤 데이터를 쓸지 mongodb를 살펴 보겠습니다. 현재 mongodb의 db 상태입니다. db중에서 board를 사용할겁니다. >use board 3. board 안의 콜렉션들입니다. test밖에 없군요. 저걸로 사용하겠습니다. test안에 어떤 데이터가 있는지 확인해보겠습니다. > db.test.find() 4. test 콜렉션엔 두개의 집합이 들어있습니다. 이것을 node.js에서 mongojs 모듈을 사용하여 불러오도록 하겠습니다...
node.js 시작 에러 (events.js:71 throw arguments[1]; // Unhandled 'error' event ) 1. 서버 시작시 위와 같이 에러가 발생합니다. 소스는 계속 사용하던것이었고 멈춘다음에 실행하려하니 에러가 나더군요. 2. 포트를 확인 결과 해당 포트가 실행중에 있습니다.(8080포트) 이러니 당연히 서버에서는 에러가 발생하지요.$ losf -s -nP 위의 명령어로 현재 실행중인 프로세스와 포트들을 확인할수 있습니다. 3. 해결방법은당연히 현재 실행중인 프로세스를 죽이면됩니다.(정확히는 죽였는데 살아있는 서비스이지요.)$ sudo kill -9 (프로세스 번호)프로세스 번호는 모두 다르기 때문에 2번에서의 명령어로 확인하셔야 합니다. 프로세스번호는 프로세스 명 다음으로 두번째로 표시 되는 숫자입니다. 4. 해당 프로세스를 죽이고 다시 서버를 실행결과 정상적으로 실행됩니다. !! 원인을 발견했습니다. ..
Node.js 무료웹호스팅 dotcloud Node.js 를 제공해 주는 무료웹호스팅을 이리저리 찾아보다가 mongodb 까지 지원해 준다는 말에 바로 해보았습니다. 상당히 긱(geek)스러운 면이 있어서 더욱 좋더군요.ㅎ- ubuntu에서 진행하였습니다. (osx의경우는 리눅스와 비슷합니다. 윈도우에서 할경우 bash가 필요하므로 시그윈를 설치하시고 해보시기 바랍니다.)- dotclud 는 아직 베타 버전입니다. 서비스가 불안정할수도 있습니다. 또한 설치 내용(하단의 포스팅내용)이 수시로 바뀌므로 버전을 잘 확인해 보시고 참고하시기 바랍니다.-포스팅이 상당히 깁니다... 1. 먼저 www.dotcloud.com 으로 이동합니다. 당연히 계정이 필요하므로 signup 으로 들어가서 계정을 생성해 줍니다. 2. 계정만들기 참 쉽습니다. 3. 이제 ..
cloud9 프로젝트 github로 업로드 하기 cloud9에서의 작업들은 자동으로 github로 업로드가 되지 않습니다.하지만! git 명령어를 이용하면 손쉽게 업로드가 가능합니다. 1. 제가 올릴려는 파일 목록들입니다. 이파일들을 github에 올리는게 목적입니다. 2. 하단의 Console 의 창에 명령어를 내리면 됩니다. 먼저 git 를 쳐보면 git 관련 명령어들이 나옵니다. 3. 일단 올릴려는 파일들이 무엇인지 명시를 해야겠지요. $ git add --all 명령어로 모든 파일들을 명시해 줍니다. 4. 다음 commit 을 통해서 버전을 명시 및 메시지를 넣어줍니다. $ git commit -m 'first commit test_node' 5. 만일 업로드될 주소를 명시해 줍니다. $ git remote add origin 사이트주소(git..
Cloud9 IDE 클라우드 서비스의 이용은 대부분 업무 서비스에 국한되어 있습니다.여러 기종 및 os에 상관없이 클라우드 서비스를 통하여 파일들을 교환하고, 문서작성을 하며 스케줄율 공유하고 메일도 함께 쓰고 있습니다.Cloud9의 경우는 개발자를 위한 클라우드 서비스입니다. cloud9 의 메인페이지 (http://c9.io)웹브라우져 창에서 코딩을 하고 직접 확인까지 가능한 서비스 입니다.현재 제공되는 개발 언어는 Node.js , PHP, Python , Ruby 등을 지원해 주고 있습니다.또한 npm지원을 통하여 Node.js의 개발을 더욱 지원해 주고있습니다.간략하게 cloud9을 실행해 보도록 하겠습니다. 1. cloud9의 메인화면의 오른쪽 상단에 로그인 버튼이 있습니다. github와 ID가 연동되므로 따로..
Node.js socket.io 설치 실패. 하루종일 미치는줄 알았습니다.npm 명령어만 간단하게 치면 설치 된다는 socket.io가 설치가 안됩니다.xp, 7 에서 해봐도 결국 안되더군요.에러 메시지대로 .net 도 설치하고 , 비주얼스튜디오 를 설치하고 PATH 까지 다 잡아줘도 에러메시지만 뿝어대더군요. 결국 리눅스에서 node.js 파일 다운받아 압축 풀고 하니 깔끔하고 시원하게 잘되는군요.(참고로 node.js 버전 v0.8.8 버전 입니다.) 혹시 이 난관을 해쳐 가신 분들 조언 부탁드리며..계속 막히시는 분들은 편하게 리눅스에서 하세요. 스트레스 받지 마세요. 에러메시지에 너무 민감했나 봅니다.에러메시지가 나와도 정상적으로 작동 잘 합니다....괜히 리눅스에 설정다 했네요. (이럴거면 에러메시지를 표시하지 말던가....)