728x90
Node.js 가 등장한 이후 간단히 테스트 목적의 웹 서버를 만드는 일이 손쉬워졌습니다. 단순한 Static 컨텐츠의 노출이 아닌 이상 닷넷을 이용하던 자바를 이용하던 뭔가 무거운 개발도구를 실행하고 코드 몇 줄을 넣은 후 컴파일 해야 했다면 Node.js 는 그런 번거로움과 불필요함을 한방에 날려주고 있습니다.

새롭게 옮긴 직장에서 고객사의 PUT Request 에 대한 처리를 해야 할 일이 생겼는데 고객사의 API 에 대고 신나게 테스트를 할 수 있는 것도 아니고 해서 간단하게 가상머신에 Node.js 와 Express 모듈을 이용하여 RESTful API (..라고 적었지만 그냥 PUT Request 를 처리하는...) 를 만들어 봤습니다. 혹시나 RESTful API 의 CRUD 액션을 간단히 구현할 필요가 있으신 분들 참고하시라고 올려둡니다. Node.js 와 Express 모듈을 설치하신 뒤 소스코드를 참고해서 보시면 됩니다. REST 호출 이외에도 처리를 위해 Jade 모듈도 설치후 설정이 들어가 있는데요, 이 부분은 필요하신 경우 선택적으로 쓰시면 되겠습니다.

(참고로 현재 시점에서의 Node.js 와 Express 최신 버전을 따르고 있기 때문에 보시는 시점에 따라 해당 엔진과 모듈의 행동양태가 변경되면 동작하지 않을 수도 있습니다 ^^;;)

// express_server.js
var express = require('express');
var app = express();

app.configure(function() {
	app.set('views', __dirname + '/views');
	app.set('view options', { layout: false });
	app.use(express.methodOverride());
	app.use(express.bodyParser());
	app.use(app.router);
	app.use(express.static(__dirname + '/public'));
	console.log('configure successful...');
	console.log('view directory is ' + __dirname + '/views');
	console.log('static directory is ' + __dirname + '/public');
});

app.get('/hello', function(req, res) {
	res.render('index.jade', {
			message:'hello world'
	});
});

// TYPE 1 (RESTful) : call "/puttest/3"
app.put('/puttest/:id', function(req, res) {
	res.send('received id :' + req.params.id);
});

// TYPE 2 (Traditional) : call "/puttest" with body parameter "id=9" then
app.put('/puttest', function(req, res) {
	res.send('received id :' + req.body.id);
});

app.configure('production', function() {
	app.use(express.logger());
	app.use(express.errorHandler());
});

app.configure('development', function() {
	app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.listen(81);

위의 소스코드에서 사용한 Jade 템플릿은 아래와 같이 간단하게 되어 있습니다. 그냥 그렇구나 하시면 될 것 같습니다.
// Jade 렌더링 테스트용 : /views/index.jade
#{message}

[ Node.js 의 기초를 위한 추천 도서 ]
인기 저자 윤인성 작가의  "모던 웹을 위한 Node.js 프로그래밍" [자세히보기]


- NoPD -
728x90
728x90
미국 시간으로 8월 14일, 우리 시간으로 광복절에 윈도우 서버 2008 R2 의 평가판 다운로드가 열렸습니다. 180 일동안 사용할 수 있는 버전인데요, TechNet 과 MSDN 구독자들에게만 링크가 열린 것으로 보입니다. 일반 사용자 여러분들은 조금 더 기다리시거나 지인의 도움(?)을 받으셔야 하지 않을까 싶습니다. (평가판이니 큰 문제가 되지 않을 것 같습니다)

이미 널리 알려진 것처럼, 윈도우 서버는 더이상 32비트 하드웨어를 지원하지 않습니다. 이번에 공개된 버전도 x86 버전은 존재하지 않으며 x64, ia64 의 두가지 버전으로만 공개가 되었습니다. 개인용 PC 는 아직까지 32 비트를 포기할 수 없지만 서버 OS 는 대세가 64비트로 굳어져 가는 느낌입니다.


- NoPD -
728x90
728x90
윈도우 서버 2008 에서 소개된 RemoteApp 은 Citrix 의 Presentation Server와 같은 별도의 3rd Party 솔루션 없이 기본적인 시스템 구성과 터미널 서비스 라이센스 만으로 Presentation 가상화를 가능하게 해주고 있습니다. Citrix 와 같은 전문 솔루션이 제공해 주는 강력하고 다양한 기능은 아니지만, 맛배기로는 훌륭한 수준이 아닐까 싶습니다.

로컬, 리모트의 구분이 없는 Seamless 서비스

가상화의 중요한 포인트 중 하나는, 사용자가 작업중인 환경이 로컬인지 리모트인지 알 수 없게 하는 것입니다. 가상화 환경에서 제공하는 리소스를 사용하고 있다 하더라도 마치 로컬의 소프트웨어, 서비스를 이용하는 것과 같은 사용자 경험(User Experience)가 제공될 때, 가상화는 궁극의 목표에 도달하는 것이니까요.

윈도우 서버 2008이 도입되면서 소개된 RemoteApp 은 기존에 전문 솔루션을 사용할 때 가능했던 Seamless Window 기능을 제공하고 있습니다. 사용자는 터미널 서비스 클라이언트등으로 리모트의 어플리케이션에 접근하는 것이 아니라 바탕화면의 바로가기나 시작 메뉴에 등록된 프로그램 아이콘을 통해서 어플리케이션을 실행할 수 있습니다.

원격에서 실행되는 소프트웨어는 전체 화면이 아닌 실행 화면의 창만 별도로 클라이언트로 전송되어 클라이언트의 테마에 맞추어 표현됩니다. 윈도우 서버 2008 에 데스크탑 테마 기능을 활성화 해두면 클라이언트 OS 가 Vista 이상인 경우 에어로(Aero) 까지 무리없이 표현됩니다. 진정한 Seamelss 서비스를 이제 OS 가 기본적으로 제공하는 시대가 온 것입니다.

쉬운 지점 IT 자원 관리

이전 포스팅에서 이야기했던 중앙 집중화된 관리와 비슷한 의미입니다. 본사는 전문 IT 지원 인력들이 일일이 PC 에 설치된 소프트웨어를 업데이트하고 손봐줄 수 있지만, 그런 인력이 없는 멀리 떨어진 지점은 본사에서 출장을 나가거나 별도의 외부 업체를 통해서 PC 에 설치된 소프트웨어의 장애를 해결하고 부적절하게 설치된 프로그램을 걸러내는 등의 이슈가 있었습니다.

RemoteApp 을 통해 어플리케이션을 중앙에서 배포하게 되면, 모든 문제는 서버단에서 (Server Side) 해결이 가능하기 때문에 상대적으로 적은 비용과 노력을 통해서 본사 뿐만 아니라 지점의 IT 자원 관리가 가능해 집니다. 관리의 IT 가 가능해질 수 있는 것입니다.

(계속)

2009/04/13 - [Virtualization/Presentation] - Presentation 가상화를 해야하는 이유는 무엇일까? #1

- NoPD -
728x90
728x90
약도보기
등록하기
msevent@wunderman.com

 

728x90

+ Recent posts