node.js 43

무료 node.js 개발툴.

node.js용 개발도구가 여러가지가 있다.Eclipse와 IntelliJ를 개발한 JetBrain의 WebStorm 과 같은 상용툴이 있지만, Eclipse의 경우, 자바기반이라서 무겁기도 하고 속도도 느리고, WebStorm은 금전적인 부담이 있다. 근래에 MS에서 node.js용 Viual Studio 플러그인을 제공하는데 Native 기반이라서 빠르기도 하고, 무료로 사용을 할 수 있는 장점이 있다. 먼저 Visual Studio 2013 Web 버전을 설치한후 (무료)https://nodejstools.codeplex.com/ NTVS (Node js Tool for Visual Studio) 를 설치하면 된다소개 동영상은 https://www.youtube.com/watch?feature=pl..

빠르게 훝어 보는 node.js - #8 mySQL 연동

빠르게 훝어보는 node.js#8 - MySQL 연동조대협 (http://bcho.tistory.com) NoSQL이 근래에 유행이기는 하지만, 데이터간의 관계를 표현하고, 트렌젝션에 일관성을 보장하는 RDBMS는 아직까지는 서버쪽에서는 필수적이다. node.js는 대표적인 오픈소스 RDBMS인 MySQL은 지원한다. 몇가지 MySQL연동 모듈이 있기는 하지만, 여기서는 가장 많이 사용되는 node-mysql 모듈에 대해서 소개하고자 한다.node-mysql은 오픈소스로 https://github.com/felixge/node-mysql 에 코드가 공개되어 있다.mysql 모듈을 사용하려면 npm install mysql 명령을 이용하여, node-mysql 모듈을 설치하자.mysql에 대한 설치와 사용..

빠르게 훝어 보는 node.js - #7 mongoose ODM 을 이용한 MongoDB 연동

빠르게 훝어보는 node.js#7- mongoose ODM 을 이용한 MongoDB 연동조대협 (http://bcho.tistory.com) 계정본이 http://bcho.tistory.com/1094 올라와 있습니다. Mongoose ODM을 이용한 MongoDB의 연동Mongoose는 MongoDB 기반의 nodejs용 ODM (Object Data Mapping) 프레임웍이다. 앞에서 mongo-native에 대해서 알아봤는데, 그렇다면 mongoose는 무엇인가? 쉽게 생각하면 mongo-native는 JDBC 드라이브러를 이용한 데이타 베이스 프로그래밍이고, mongoose는 자바의 JPA/Hibernate/MyBatis와 같은 OR Mapper와 같은 개념이다. 즉 mongodb 내의 데이타를..

빠르게 훝어 보는 node.js - #6 MongoDB 연동 (mongo-native)

빠르게 훝어보는 node.js#6- mongo-native 모듈을 이용한 MongoDB 연동조대협 (http://bcho.tistory.com 아래 글은 오래되서 monk를 이용한 방식으로 새로운 글을 작성하였습니다.새 글은 node.js 4.x , express 4.x 에서 기동하도록 작성되었습니다.링크 : http://bcho.tistory.com/1080Persistence 연동node.js는 DB나 NoSQL등의 연동을 지원하는데, 이 역시 철저하게 non-blocking io 방식으로 동작한다. 즉 db 연결 socket을 열어서 query를 던져놓고, query 결과가 오면 이벤트를 받아서 callback 함수로 처리하는 순서이다.그러면 여기서는 몇가지 persistence 연동 방식에 대해서..

빠르게 훝어 보는 node.js - #5 웹개발 프레임웍 Express 2/2

빠르게 훝어보는 node.js#5 - Express 2/2조대협 (http://bcho.tistory.comFile upload 및 download 처리Express는 파일 업로드 기능을 제공한다. Express 의 경우, 파일을 tmp directory에 업로드한후, 업로드가 끝나면 이벤트를 주는 형태이다. 그래서, 파일 업로드가 끝나면 파일 저장 디렉토리로 옮겨 줘야 한다. 그러면 간단하게 코드를 살펴보자. express에서 업로드되는 file stream은 multipart 형태로 업로드가 된다. 이 multi part request stream을 인식하려면, express세팅에 bodyParser 미들웨어를 사용함을 명시해줘야 한다.var app = express();app.use(express...

빠르게 훝어 보는 node.js - #3 Event,Module,NPM

빠르게 훝어보는 node.js#3 - Event,Module,NPM조대협 (http://bcho.tistory.com비동기 이벤트 프로그래밍기존의 프로그래밍 언어들은 일반적으로 함수를 부르는 형태의 프로그래밍 구조를 가지고 있다. 이를 procedural programming model이라고 하는데, 코드가 순차적으로 실행되면서 함수를 호출하는 식의 구조를 가지고 있기 때문에 코드를 보면 코드의 수행 순서를 예측할 수 있다. node.js는 event driven programming 이라는 개념을 가지고 있는데, 이 개념은 특정 이벤트가 발생되면 미리 이벤트에 맵핑된 함수가 실행되는 형태이다. 즉 해당 함수가 언제 호출 되는지를 예측할 수 가 없다.var callback = function(data){..

빠르게 훝어 보는 node.js - #2 설치와 개발환경 구축

빠르게 훝어보는 node.js#2 - 설치와 개발환경 구축조대협 (http://bcho.tistory.comNode.js 설치하고 개발환경 설정하기다운로드 하기http://www.nodejs.org 페이지에서 install 버튼을 누르면 OS에 맞는 인스톨러를 다운로드 해준다. 다음으로 installer를 실행한다. 설치가 되었으면, 설치된 디렉토리를 PATH에 추가한다. set PATH=%PATH%;c:\dev\was\nodejs자아 이제 node.js가 설치되었는지 확인하자. node.js는 대화형 cli를 제공한다. 설치를 끝냈으면 이제 간단한 웹서버를 만들어보자var http = require('http');http.createServer(function(request, response) {res..

빠르게 훝어보는 node.js #1 - node.js 소개 및 내부구조

빠르게 훝어보는 node.js#1 – node.js의 소개와 내부 구조 조대협 (http://bcho.tistory.com) 요즘 들어서 새로운 기술에 대한 인식도 많이 떨어지고, 공부하는 것도 게을러 져서, 어쩌다 보니 우연한 기회에 스터디를 하게 되었습다. 스터디 주제는 팀원들이 골랐기 때문에 자연히 따라가게 되었는데, 주제는 무려 node.js. 때 맞침 vert.x를 보고 있었기 때문에, 유사 솔루션을 보는 것도 괜찮겠다고 해서 스터디를 시작했는데, 몇주가 지난후에 지금까지 스터디를 하면서 node.js에 대한 내용을 가볍게 정리해보고자 한다. node.JS에 대한 소개node.js는 single thread 기반으로 동작하는 고성능의 비동기 IO (Async / Non-blocking IO)를 ..

Node.js에서 주로 사용되는 모듈

Node.js는 일종의 개발 플랫폼이자 WAS같은 미들웨어이다.이를 사용하기 위해서는 MVC 프레임웍에서 부터, 빌드, 데이타 베이스등 다양한 관련 컴포넌트들이 필요한데, 에코 시스템이 너무 커서 주로 사용되는 모듈등을 찾기가 힘들다.https://nodejsmodules.org/tags/build 를 보면, 분야별 인기있는 모듈을 볼 수 있고아래는 일반적인 애플리케이션을 개발하는데 필요한 모듈을 정리하였다. Category Module Programming framework Async MVC Framework Express Template Engine EJS Logging Winstone Testing Mocha, nodeunit Authentication Passport Build script Gru..

node.js의 장단점에 대해서

요 몇주간, node.js에 대해서 공부를 해오고 있습니다. 그간 공부해온 내용과, 기존에 node.js를 사용하셨던 분들과의 토론을 기반으로 node.js에 대한 장단점을 간략하게 정리합니다. Node.JS에 대해서.Node.js는 구글의 크롬 V8 자바스크립트 엔진을 기반으로 한, 고성능 네트워크 서버이다.Single Thread 기반의 Event Loop를 기반으로 하고 있으며, File, Network 등에 대해서 비동기 IO 처리를 하는 서버 미들웨어이다.근래에 들어서 다시금 node.js 가 많은 주목을 받고 있는데, Paypal이나 Groupon과 같은 굴지의 서비스 기업들이 내부 서버 플랫폼을 node.js로 전환하는 것이 계기가 되고 있다.Node.js의 장점Node.js는 일반적으로 성..