JavaScript BackEnd: 71개의 글
들어가며 이번에는 NodeJs시작하기 두번째 포스팅, 지난번 포스팅에서는 NodeJs의 특징과 설치 방법에 대해서 설명을 했습니다. 하지만 command에서 구현을 할 것인가... 우리는 프로젝트를 관리하는 툴이 필요하고, 그런 툴을 IDE라고 말한다. Integrated Development Environment 의 약자입니다. 이번 포스팅에서는 node.js를 구현하고, 프로젝트를 관리하기 위해 여러 종류의 IDE가 있지만 그 중에서도 우리가 흔히 익숙한 Eclipse를 설치하고 개발 환경을 설정하는 방법에 대해서 설명하겠습니다. 간단한 프로그램은 vi와 같은 editor로 작성 후 아래와 같이 실행해도 되지만, 프로젝트가 어느정도 규모가 되면 IDE를 통해서 관리하는 편이 좋다. $ node run..
NodeJs는 JavaScript의 서버 사이드 개발 환경(?)이라고 할 수 있지, 하나의 라이브러리나 프레임워크가 아니다. Event Driven, Event Loop & Callback Pattern을 사용한다. 내가 생각했을때 가장 큰 특징은 Non-blocking(비동기) I/O와 다양한 모듈이라고 할 수 있는데, NPM(Node Package Manager)으로 외부 모듈을 설치하고 관리하는 매니저가 따로 있어서 쉽게 설치하고, 사용이 가능하다. 이렇게 말하면... 무슨 얘기인지 하나도 모르겠지 하지만 이제 하나씩 차근차근 설명을 들으면 충분히 이해가 가능하다. 일단 node.js를 다운받기 위해서는 node.js 공식홈페이지(http://nodejs.org)에 접속해서 사용하는 플랫폼에 맞게 ..
NodeJs에서 없는 Module의 경우 C++의 코드를 NodeJs에서 호출이 가능하다. C++을 NodeJs로 Addon하는 방법이다. 아래에 자세한 내용을 참고해서 기능은 추가할 수 있다. 로직만 추가하면... https://nodejs.org/dist/latest-v4.x/docs/api/addons.html https://v8docs.nodesource.com/node-4.2/ binding.gyp의 파일명은 항상 일치해야 한다. Pre-Installation C++ Compiler (Visual Studio설치) Python 설치 npm install -g node-gyp Node.js native addon build tool $ node-gyp configure $ node-gyp buil..
설치하기 https://www.npmjs.com/package/mongojs 1. npm install mongodbjs 구현 Connection var mongojs = require('mongojs'); var db = mongojs('localhost/test', ['board']); db.on('error', function(err) { console.log(err); }); db.on('connection', function() { console.log('connected'); }); Find db.board.find(function(err, docs) { console.log(arguments); for (var i = 0; i
MySQL 모듈 npm install mysql require('mysql') MySQL Connection var mysql = require('mysql'); var conn = mysql.createConnection({ host: 'localhost', user : 'root', password : 'admin', database : 'test' }); conn.connect(function(err){ if(err){ console.log(err); }else{ console.log('mysql connected.'); } }); SELECT conn.query('SELECT * FROM BOARD', function(err, results, fields){ //console.log(argumen..
Socket.io를 통해서 실시간으로 채팅하는 프로젝트를 만드는 방법에 대해서 소개를 하려고 합니다. 채팅 가장 중요한게 실시간입니다. Socket.IO는 웹기반 실시간 양방향 통신이기 때문에 실시간 채팅을 구현할 수 있습니다. 연결, 연결해제, 메시지 등을 순차적으로 구현해볼께! 자 Todo를 채워 봅시다. 클라이언트 (Client) ID : connect Close Send 1. 연결 이름을 넣고 connect를 누르면 '바나나님이 입장 하셨습니다.'와 함께 연결하는 부분 $('#btnConnect').click(function() { id = $('#id').val(); //Todo ws = io.connect(); ws.on('connect', function() { ws.emit('login',..
Overview 웹 브라우저에 Client API 구형 브라우져도 Fall back 지원 Flash socket http://socket.io/ 웹기반 실시간 양방향 통신 HTML5 API NodeJ는 Server API socket.io 이벤트 connection / disconnection : 연결 / 연결 해제 Socket 객체 on('event', function(data) {}) emit('event', json) 통신 방법 io.sockets.emit('eventname', data) io.emit('eventname', data) socket.broadcast.emit('eventname', data) Public Broadcast Private socket.emit('eventname', ..
Socket.IO 무엇을 할 수 있을까? socket.io 사이트를 접속하면 Demos과 함께 git에 코드가 공유되어 있다. 현재 Demo는 3가지가 있다. Chat WePlay Computer Chat WePlay Remote control 출처 : ourcstory.tistory.com/21?category=664896
Overview http://www.websocket.org/ 순수 웹 환경에서의 실시간 양방향 통신 유사 기술 Hidden iFrame Ajax Polling Comet (long-polling) Plug-in 기술 의존 제거 ActiveX, JavaFX, Flash, Silverlight 등 WebSocket Object 생성 new WebSocket (url, [protocol]) Attributes readyState (read only) 0 : Not established 1 : Connected, Communication possible 2 : Closing 3 : Closed bufferedAmount (read only) Methods send(data) close() Events onop..
NodeJs에서 가장 큰 장점은 외부 모듈이 많다는 것이다. 이번에는 외부 모듈을 사용하는 방법에 대해서 설명한다. node.js에서의 모듈을 관리하는 사이트는 아래와 같다. https://www.npmjs.com/ 찾고자하는 module을 검색하고, 이때 별을 확인하면 이 모듈이 정상적으로 동작하는지 여부를 알 수 있다. (뭐... 대중적인지?) express를 들어가면 아래와 같이 간단한 사용 방법과 설치 방법이 있다. npm install express를 하면 설치가 가능해진다. npm install -g express를 하면 global로 설치가 된다. global로 설치한 뒤에는 global module path를 환경변수로 등록한뒤 어느 프로젝트에서도 사용이 가능하다. 하지만 프로젝트에는 de..