Node.js�ASocket.IO�AMongoDB�Ń��A���^�C��Web�FNode.js���g���Ă݂悤�i1�j�i1/2 �y�[�W�j

Node.js��Socket.IO�AMongoDB���g�p���āAWeb�y�[�W�̍X�V���e�����A���^�C���ɉ�ʂɔ��f�����T�C�g������Ă݂�

» 2012�N10��12�� 20��29�� ���J
[���ؑ���C�}�C���h�t���[]

Node.js�{Socket.IO�{MongoDB

�@����ɂ��́I ���҂́A�}�C���h�t���[�Ƃ�����Ђ�Node.js���g����Web�A�v���Ȃǂ��쐬���Ă���B���̘A�ڂł́A�ŐVWeb�e�N�m���W���g���������J���̎������т𔭐M���镾�Ђ̃T�C�g�gTech Release�h�̃��j���[�A���Ŕ|����Node.js�Ɋւ���m���𕪂���₷�����`������B

�@Tech Release�͈ꌩ�A���ʂ̃u���O�Ɍ����邪�A���͋L���̍X�V���e�����A���^�C����View��ʂɔ��f����Ă���B�Ǘ��҂��A�L���̕��́i�f�[�^�j�ɕύX��������ƁA���̋L�������Ă���l�ɂ��y�[�W�������[�h�����ɁA���A���^�C���ɕ��́i�f�[�^�j���ω����Ă����B

�@����UX���������邽�߂ɊJ�������V�X�e�����AREALTIME BLOG ENGINE�uREABLO�v�Ƃ����G���W�����B�uREABLO�v��Node.js��Socket.IO�AMongoDB���g�p���Ď�������Ă���B�T�C�g��Ƀf�������J���Ă���̂ŁA���Ѓ��A���^�C������̌����Ăق����B

�f���Fhttp://techrelease.mindfree.co.jp/demo/

�@��������A�킽���̌o������ɁANode.js��Web�A�v�����쐬���邽�߂̃|�C���g�����L���Ă������B

�@�܂��́A��{�҂Ƃ��āANode.js���g�p���ăV���v����Web�A�v���̎������@���Љ��B����Ƃ��ẮANode.js�̃C���X�g�[���̎d������AExpress�ASocket.IO�̎g������������AWeb�A�v���̃f�����\�[�X�R�[�h�̐��������Ȃ���w�K���Ă����B�Ō�ɑΐ�^�V���[�e�B���O�̃f�����Љ��̂ŁA��ʂ�ǂ߂ΊȒP��Web�A�v���̒m�����t���͂����B

�@����́A��{�҂Ƃ��āANode.js���g�p���ăV���v����Web�A�v���̎������@���Љ�Ă����B

  • Node.js�̊‹��ݒ�
  • Hello Node.js
  • Express���g����Web�A�v��
  • Socket.IO���g���ă`���b�g�A�v���f��
  • �ΐ�^Web�A�v���f��

Node.js�̊‹��ݒ�

�@�ł́A�͂��߂�Node.js�̊‹��𐮂��悤�BNode.js�‹��𐮂����ԊȒP�ȕ��@�́ANode.js�̃T�C�g���C���X�g�[�����_�E�����[�h���āA�C���X�g�[��������@���B

�@����́AWindows Installer��node-v0.8.7-x86.msi���C���X�g�[�������BMac��Linux���\�[�X�R�[�h����C���X�g�[�����邱�Ƃ��ł���B

�@�ڂ������@�́A�������ɏ������̂ŁA������Q�l�ɃC���X�g�[�����悤�B

�@���Ȃ݂ɁA�C���X�g�[������C���X�g�[������ƁAnode�{�̂ƈꏏ��Node.js�̃p�b�P�[�W�}�l�[�W���ł���npm���C���X�g�[�������B

Hello Node.js

�@Node.js���C���X�g�[���ł����Ȃ�A�R�}���h�v�����v�g�ňȉ��̃R�}���h�����s���Ă݂悤�B

$ node -v
v0.8.7

�@���܂��C���X�g�[���ł��Ă����Ȃ�A�C���X�g�[������Node.js�̃o�[�W�������\�������B

�@�܂��ANode.js�̓C���^�v���^����������Ă���̂ŁA�R�}���h���C������JavaScript�����s�ł���B�����Ɉȉ��̃R�[�h���R�}���h�Ŏ��s���Ă݂悤�B

$node
> 1 + 2
3
>var a=3,b=4;
>var sum = function(x,y){return x+y;}
undefined
>sum(a,b)
7

�@Node.js�C���^�v���^���I������ɂ�Ctrl+C���񉟂��B

�@��{�I�ɃR�[�h��JavaScript�O���t�@�C���ijs�t�@�C���j�Ƃ��ĕۑ����Anode���炻�̃t�@�C�����Ăяo�����Ƃɂ���Ď��s����B�ȉ��̃R�[�h��app.js�Ƃ����t�@�C�����ŕۑ����āANode.js�Ŏ��s���Ă݂悤�B

app.js

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/');

$ node app.js


�@�u���E�U��http://127.0.0.1:1337/�ɃA�N�Z�X����Hello World�ƕ\������Ă���ΐ������B

Express���g����Web�A�v�����쐬

�@��قǂ̗�̒ʂ�AWeb�A�v�����쐬����ɂ�Node.js�̕W�����C�u�������g�p���č쐬�ł���B�������Ȃ���W�����C�u�����݂̂�Web�A�v�����\�z���悤�Ƃ���ƁA���߂���m���ʂ��c��ŁA��ς��B�Ȃ̂ŁANode.js��Web�A�v�����쐬����ꍇ�́AExpress�Ȃǂ�Web�A�v���P�[�V�����t���[�����[�N���g�p����̂���ʓI���B

�@������Express��Web�A�v�����쐬���悤�BExpress���g�p����ɂ�npm���g���ă��W���[�����C���X�g�[������Bnpm��Node.js�̃��W���[�����Ǘ����邽�߂̃c�[�����Bnpm���g�p����ƃ��W���[���̃C���X�g�[����A�o�[�W�����Ǘ��Ȃǂ��ȒP�ɍs����̂ŁA�o���Ă������B

$ express -e sample
$ cd sample
$ npm install

�f�B���N�g���\��

�@sample�v���W�F�N�g�͈ȉ��̂悤�ȃf�B���N�g���\���ɂȂ�B

/node_modules

Express�Ȃǂ̃��W���[���������Ă���f�B���N�g���B��{�I�ɂ͐G��Ȃ�

/public

���J�f�B���N�g���ł��B�摜��ACSS�A�N���C�A���g�T�C�h��JavaScript�͂��̃t�H���_�ȉ��ɒu��

/views

HTML�̃e���v���[�g��u���f�B���N�g��

/rotes

HTML�e���v���[�g�Ƃ̊֘A�t��������index.js�������Ă���f�B���N�g�����Bviews�Ƀe���v���[�g��lj������ꍇ�́A/rotes/index.js���X�V����悤�ɂ��悤

app.js

�T�[�o�T�C�h�̃��C�������ɂȂ�BURL�̑Ή��t����A�A�v���̏����͂����ɏ����B

sample�A�v���̎��s

�@�R�}���h���C���Ŏ��s���Ă݂܂��傤�B���s������Ƀu���E�U��http://localhost:3000/�ɃA�N�Z�X���悤�B

$node app.js

Node.js�̃��W���[��

�@Express�ȊO�ɂ�Node.js�ł͕֗��ȃ��W���[���������‚�����BTech Release�Ŏg�p�������Node.js���C�u������Express�ASocket.IO�AMongoose���B

Express

http://expressjs.com/

�@Node.js��Web�A�v���P�[�V�����t���[�����[�N�BExperss�̃o�[�W������2.x��3.x�ł�API���قȂ�̂ŁA�T���v����T���Ƃ��Ȃǂɒ��ӂ��悤�B

Socket.IO

http://socket.io/

�@���A���^�C���ȑo�����ʐM���ł���WebSocket���g�����߂̃��C�u�����B

�@Socket.IO��WebSocket���T�|�[�g���Ă��Ȃ��u���E�U�ł��A�����I��Long Polling�ȂǑ�p�Z�p���g�p���ĒʐM���Ă����B

�@���ɂ����M����f�[�^�Ƃ���JSON����������A���M�Ώۂ��O���[�v��������֗��ȋ@�\������A�ƂĂ��g���₷���A�M�����������B

Mongoose

http://mongoosejs.com/

�@NoSQL�̃f�[�^�x�[�X�ł���MongoDB���g�p���邽�߂̃��C�u�����B�����f�[�^�\����JSON�ŁANode.js�Ƒ����������ƌ����Ă���B

�@�f�[�^�x�[�X�ł͑��ɂ�CouchDB��Redis�AMySQL�Ȃǂ��邪�AMongoDB��Node.js��A�g�����T���v�����������񂠂�̂ŁA�ŏ��Ɏ����ɂ́AMongoDB�������߂���B

�@�����̃��W���[����Express�Ɠ��l��npm�ŊȒP�ɃC���X�g�[���ł���B

�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

4AI by IT - AIAAA
Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B