본문 바로가기

Node.js

(56)
1-4-2 ubuntu node.js 설치 방법 터미널에서 다음의 명령어를 차례로 입력합니다. $ sudo apt-get install python-software-properties python g++ make$ sudo add-apt-repository ppa:chris-lea/node.js$ sudo apt-get update$ sudo apt-get install nodejs 설치 확인$ node -v (제가 설치한 버전은 0.10.25 버전이군요.)
1-4-1 windows node.js 설치 windows 사용자들을 위한 node.js 설치 방법 입니다. 1. http://nodejs.org/ 에 접속합니다. 위와 같은 화면이 나오실겁니다. INSTALL을 눌러 설치 파일을 다운로드 한후 실행 시킵니다. 2. 위와 같은 셋업프로그램이 실행됩니다. Next 를 계속 눌러주면 설치가 완료됩니다. 간단합니다. 3. 설치가 끝났습니다. 설치 확인을 위해 시작->프로그램->Node.js->Node.js command prompt 를 실행시킵니다 4. 콘솔 명령창(시작->모든프로그램->Node.js-> Node.js command prompt)에 다음 명령어를 실행 시킵니다. > node -v 해당 node.js 의 버전(저의 경우엔 0.10.26 버전이군요)이 나왔다면 정상적으로 설치가 완료된것입니다..
1-3 node.js의 단점! 좋은점이 있다면 단점이 있는법! 1. 동기적 코드사용으로 인한 급격한 성능 저하기존 대부분의 언어는 비동기적 코드로 프로그램을 만들었습니다. 이에 프로그래머들의 로직 방식도 비동기적으로 따르게 되었죠. 하지만 비동기적프로그램에 동기적 코드를 쓴다면 단순한 코드 한줄이 서비스 전체에 영향을 미칠수도 있게됩니다. 꼭 보셔야 할 자료 - 난하님의 싱글스레드에서의 동기/비동기 코드 작동 http://vimeo.com/32035710 2. 해당 로직이 실행전까지 에러를 알수 없으며 에러시 전체 서비스에 영향을 미침단일 스레드 방식이므로 해당 스레드가 작동을 멈추면 전체 서비스에 영향을 미치게 됩니다. 예로 에러가 발생하거나 특정 조건에 따른 무한루프 같은 스레드 하나를 전체 점유하면 node.js의 가비지 컬렉션..
node.js c9.io Error: listen EADDRINUSE 에러 발생시 c9.io에서 개발 도중 Error: listen EADDRINUSE 에러가 발생하여 실행이 되지 않는다면 현재 똑같은 포트로 똑같은 프로세서가 돌고 있기 때문입니다. 해당 프로세서를 kill 시켜야 합니다. c9.io의 터미널에서 아래의 명령어를 실행 시킵니다. kill $(ps ax | grep '[j]s' | awk '{ print $1 }') 명령어 실행후 다시 node를 실행시키면 더 이상 에러가 발생하지 않습니다. 참조 : https://github.com/ajaxorg/cloud9/issues/1145
1-2 node.js의 특징. event-driven, non-blocking I/O , 단일 스레드 node.js의 특징인 event-driven, non-blocking I/O , 단일 스레드 에 대한 간략한 설명입니다. 1. event-drivenevent-driven은 사용자가 이벤트를 발생시켰을때 즉 마우스/키보드로 데이터를 전송 했을때에만 작동합니다. 대부분의 웹서버는 사용자가 이벤트를 발생하기 까지 기다립니다. 즉 이벤트가 발생하기까지 자원(대기 시간 및 메모리)을 계속 소비하게 됩니다. 하지만 event-driven는 이벤트에만 웹서버가 연결해주기 때문에 자원을 최소화 시킬수 있습니다. 2. non-blocking I/Oblocking I/O(동기식 I/O) 은 쓰기/읽기 이벤트가 발생하면 이벤트가 끝날때까지 해당 모듈을 점유하게 됩니다. 즉 다른 일을 못하게 되지요. 또한 메모리버퍼에 데..
1-1 node.js 는 무엇일까요? node.js 프로그래밍을 시작하기 앞서 node.js 가 무엇인지를 알아야 겠지요?node.js 는 구글크롬브라우저 v8 엔진을 이용하여 자바스크립트로 만드는 애플리케이션입니다. 매우 가볍고 능률적인 리얼타임 어플리케이션을 위해서 만들어졌습니다. 개발자 라이언달이 2009년에 발표하였으며 2014년 2월 현재 node.js 에 사용되는 패키지수는 57800 개를 넘어섰습니다.자바스크립트를 이용한 개발환경이기 때문에 다른 언어에 비해 간편하고 쉽게 어플리케이션을 만들수 있게 되었습니다. 또한 v8엔진을 사용하기 때문에 자바스크립트의 단점인 속도 문제도 점점 빨라지고 있습니다. node.js 의 특징은 event-driven, non-blocking I/O 를 들수 있습니다. 이에 대해서는 다음 포스팅에서..
connect 모듈 router 기능 구현 정말로 connect 모듈에서 router 기능을 사용하신다면 아래의 번호대로 추천합니다.1. connect 2.X 이하 버전을 추천합니다. 2. 개발자 말대로 express 모듈을 사용합니다.3. connect-router 모듈 로 대체합니다.4. 직접 만들어서 사용합니다. - 해당 포스팅 내용은 직접만들어서 사용한다의 내용입니다. 아시는 바와 같이 connect 모듈은 2.x 버전부터 router 기능이 빠졌습니다.이유는 링크에서 확인 : https://github.com/senchalabs/connect/issues/262ㅎㅎㅎㅎㅎ 화가나더군요 ㅎㅎㅎㅎㅎ-_- 기능상의 이유도 아니고 express를 더 열심히 만들었으니 그걸 쓰라니 그래서 있는 기능을 없애다니 ㅎㅎㅎ(개인적으론 express를 잘쓰..
connect-route 모듈 이용하기 connect 2.x 버전이상에서는 route 기능이 삭제되었기 때문에 분노에 찬 개발자가 해당 기능을 구현한 모듈이 있습니다.링크 : https://npmjs.org/package/connect-route 제가 설치한 버전은 connect-route@0.1.3 버전입니다. 아래 내용은 모던 웹을위한 node.js 프로그래밍 책의 예제중 챕터 8번 mysql 을 이용한 게시판 구현에서 DB를 mongoDB로 변경 및 connect-route 모듈을 사용하여 변경한 소스입니다.(디비 모듈 및 내용도 다르기 때문에 htm 파일도 수정하셔야 합니다.) // 모듈을 추출합니다. var fs = require('fs'); var connect = require('connect'); var ejs = require..