node.jsでサーバプログラマ デビューしよう

13
NODE.JS でサーバプログラマ デビューしよう 竹内佑介

Upload: yuusuke-takeuchi

Post on 31-May-2015

2.107 views

Category:

Documents


1 download

DESCRIPTION

第5回 業界中心会議でのLT予定資料です。 https://itmedia.smartseminar.jp/public/application/add/922

TRANSCRIPT

Page 1: Node.jsでサーバプログラマ デビューしよう

NODE.JSでサーバプログラマ デビューしよう

竹内佑介

Page 2: Node.jsでサーバプログラマ デビューしよう

自己紹介

• 竹内 佑介

• 趣味でプログラムやってます

• クリック&クリエイト、RPGツクール、HSP、

DXライブラリとかやってました

• 最近はnode.jsにはまってます

Page 3: Node.jsでサーバプログラマ デビューしよう

NODE.JSで今日からあなたも サーバサイドプログラマーになれる

Page 4: Node.jsでサーバプログラマ デビューしよう

NODE.JSとは

• リアルタイムチャット、通信対戦ゲームとかの サーバプログラムが簡単に書けます

• どれだけ簡単かというと・・・・・・、

Page 5: Node.jsでサーバプログラマ デビューしよう

サーバとクライアントのソースがこれだけ

Page 6: Node.jsでサーバプログラマ デビューしよう

本当に簡単ですよ

• node.jsをインストールして

• npm install socket.io実行して

• 前ページのapp.js、index.htmlつくって

• node app.js ってやるだけで通信プログラムが書けます

※node appに失敗したらsudoつけてやってみて下さい

Page 7: Node.jsでサーバプログラマ デビューしよう

動作確認してみましょう

• ブラウザを立ち上げて、以下アドレスにアクセス

• http://localhost

Page 8: Node.jsでサーバプログラマ デビューしよう

サーバからのメッセージどこ?

• デバッグモードを立ち上げて下さい

ここにメッセージが

Page 9: Node.jsでサーバプログラマ デビューしよう

コードの説明 WEBサーバ• これだけで、Webサーバが書けます

var app = require(‘http’).createServer(handler) //サーバのテンプレート読み込み

app.listen(80); //80番ポートでサーバを起動

function handler (req, res) { //リクエストがある場合に呼び出される関数を定義

fs.readFile(__dirname + '/index.html', //index.htmlをロード

function (err, data) { //ファイルロードに失敗時エラー処理

if (err) { res.writeHead(500); return res.end('Error loading index.html'); } ! res.writeHead(200); //ヘッダにHTTP200(成功)を指定

res.end(data); //index.htmlをクライアントに送信

}); }

Page 10: Node.jsでサーバプログラマ デビューしよう

コードの説明 サーバ側 

io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); //クライアントにメッセージ送信

socket.on('my other event', function (data) { //クライアントからメッセージ受信

console.log(data); //受信した時の処理

}); });

var socket = io.connect('http://localhost'); socket.on('news', function (data) { //サーバからメッセージ受信

console.log(data); //メッッセージ受信の処理

socket.emit('my other event', { my: 'data' }); //サーバへメッセージ送信

});

• 送信、受信も1行で書けますサーバ

クライアント

Page 11: Node.jsでサーバプログラマ デビューしよう

合計500行くらいで通信対戦ゲームも作れます

http://janken-kaidouji85.herokuapp.com/

Page 12: Node.jsでサーバプログラマ デビューしよう

じゃんけんゲームのソース

• ここにソースがあります

https://github.com/kaidouji85/janken

• 順次ブログでもソース解説していきたいと思います

「毎日プログラム」

http://blog.livedoor.jp/kaidouji85/

Page 13: Node.jsでサーバプログラマ デビューしよう

ご清聴ありがとうございました