Develop/Node.js 14

[NodeJs-채팅만들기-1] 간단한 로그출력 Server, Client 만들기

server.js var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs'); app.listen(80); function handler (req, res) { fs.readFile(__dirname + '/client.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading index.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on('connection', function (socket) { soc..

Develop/Node.js 2014.08.13

[NodeJs-채팅만들기-1] Soket.IO

Node.js의 기본 내장 모듈만을 사용하여 WebSocket 프로토콜을 활용한 서버 및 클라이언트 모듈을 직접 구현하는 것은 WebSocket API를 모두 직접 만드는 것이며 많은 공수가 듭니다. 하지만, WebSocket 역시 여러 사람들에 의해 3rd-party모듈로 쉽게 구현할 수 있습니다.구 중에 가장 많이 사용하고 있는 모듈이 바로 Socket.IO입니다. Socket.IO의 공식홈페이지 http://socket.io/#how-to-use에서 어떻게 Socket.IO를 사용할 수 있는지, 예제와 함께 제공하고 있습니다.먼저 npm으로 Socket.IO를 설치합니다.npm install socket.io Socket.IO는 모든 브라우저 및 모바일 장치의 서로 다른 전송 메커니즘 사이에서도 사..

Develop/Node.js 2014.08.13

[Nodejs] OS 모듈

OS모듈은 많이 사용되지는 않지만 서버의 기본적인 하드웨어 자원들의 정보를 확인할 수 있습니다. OS모듈의 추출방법. var os = require('os'); console.log('------------ OS Module List ------------'); for(var k in os){ console.log(('os.'+k+'()')); } //os.endianness()--엔디언 타입 반환 'BE' or 'LE' //os.hostname()--서버의 호스트 이름 반환 //os.loadavg()--load average에 담긴 정보 반환 //os.uptime()--운영체제 시작된 시간 반환 //os.freemem()--사용 가능 메모리 반환 //os.totalmem()--시스템 메모리 반환 //o..

Develop/Node.js 2014.08.01

[6.Nodejs] Node.js 기본 소스분석

http:/www.nodejs.orgAn Example : WebServer var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/'); var http = require('http'); http모듈이 Node.js 코더로부터 요청(require)되어졌고, http라는 변수에 할당되어 소스에서 활용이 가능한 상태가 됨.앞으로 http 변수를 통해 Node..

Develop/Node.js 2014.07.30

[6.Nodejs] Node.js 전역변수

Nodejs에는 기본코드를 작성하면 런타임시에 function으로 묶어서 총 5개의 파라메터를 넘겨주면서 run하게 됩니다, exports, require, module는 Node.js 내부의 객체를 다루는 객체이고__filename, __dirname은 자신의 파일이름, 프로젝트의 경로등의 자료로 사용됩니다. Node프로젝트를 생성할때 만들어지는 js파일 > 우클릭 > Debug As > Node Application(function (exports, require, module, __filename, __dirname) { var http = require('http'); http.createServer(function handler(req, res) { res.writeHead(200, {'Cont..

Develop/Node.js 2014.07.30

[6.Nodejs] Node.js Debugger 사용하기.

디버그할 에디터의 라인을 더블클릭하여 브레이크 포인트를 찍은후디버그 할 파일 우클릭 > DebugAs > Node Application Debug : Debug뷰 현재 프로세스, 쓰레드가 실행되는지 보여줌 Breakpoints : 디버깅을 시작하기 전 선택한 라인 브레이크 포인트. Variables : 각 변수들의 값이 변하는 것을 실시간으로 보여줌 F5: Step Into 해당 스텝 안으로 들어감. 스텝에 함수가 포함되어 있음. 해당함수 안으로 들어감.F6: Step Over 해당스텝 다음으로 넘어감. 지금 디버깅중인 소스라인의 다음라인으로 이동F7: Step Return 해당 스텝 밖으로 나감. 특정 함수 안이었다면 함수를 호출했던 소스로 나감.F8: Resume 다음 브레이크 포인트까지 소스를 실행..

Develop/Node.js 2014.07.28

[5.Nodejs] Node.js 형상관리 세팅(Git)

java에 maven 혹은 SVN을 사용했었는데Nodejs도 형상관리를 할 수 있네요.CVS, Subversion, Git등이 있는데요.별도의 서버가 없이도 사용가능한 Git을 세팅해 보도록 하겠습니다. 1. 형상관리 대상 프로젝트에서 마우스우클릭 > Team > Share Project를 클릭합니다. 2. Share Project 창이 나오면 형상관리에 사용할 로컬 레파지토리의 타입을 선택합니다.(Git) 3. Use or create repository in parent folder of project 클릭 후 하단 Create Repository를 클릭한 화면Finish!! 클릭! .git이라는 폴더가 생김 프로젝트아이콘의 노란색등은 Git에 연결됨을 의미.오른쪽 꺽쇠 > 는 프로젝트 내에 변경사항..

Develop/Node.js 2014.07.28

[4.Nodejs] Node.js 개발 IDE설치3

설치 및 세팅이 완료되면 Node.js 샘플프로젝트를 생성해 봅니다.기본 이클립스는 java프로젝트를 위해 독패널들이 위치해 있습니다.이걸 Nodejs용 독패널들로 변경하겠습니다. 이클립스 우측 상단에 플러스모양이 들어가 있는 아이콘을 클릭하면 하단의 창이 열립니다.Node라고 씌여진 아이콘을 선택 후 OK를 누르시면 됩니다. 참 쉽죠~? 하지만 독패널들이 뭐가 어떻게 바뀐지는 모르겠네요; @.@ 자. 이제 샘플 프로젝트를 생성해 봅니다. 좌측 Project Explorer에서 우클릭을 하신 후 New > Node.js Project를 클릭합니다. 새프로젝트 창이 열리면 프로젝트명 : 원하는 패키지명Use default location : 처음 이클립스가 구동될때 workspace로 연결된 폴더Templ..

Develop/Node.js 2014.07.28

[4.Nodejs] Node.js 개발 IDE설치1

개인적으로 java를 배울때 eclips라는 개발툴을 너무 잘 사용해 왔기 때문에asp개발을 하는 지금에도(.net 아님) aptana라는 eclips기반 html 및 javascript용 툴을 사용하고 있다.사람들은 가벼운 에디트플러스를 이용하고 있지만eclips기반 툴을 쓰는 가장 큰 이유 몇가지. 1. Content Assist(코드를 입력하다보면 작은 상자안에 입력하는 코드와 비슷한 코드들이 나열되어 지는것.)라는 강력한 기능2. 화면분할 여러 에디터를 열고 탭으로 열리는 문서를 여러 에디터 상에서도 이동이 가능한. 화면분할시 한 에디터 안에서 몇개 몇분할이던 분할 가능하다는것! 현재 27인치 모니터에 화면분할로 놓고 쓰면 참으로 좋다는것!!!3. 폴더트리형식으로 파일관리를 할 수 있다는것. 에딧..

Develop/Node.js 2014.07.28