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

4,087 views

Published on

第5回 業界中心会議でのLT予定資料です。

https://itmedia.smartseminar.jp/public/application/add/922

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,087
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
24
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

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

  1. 1. NODE.JSでサーバプログラマ デビューしよう 竹内佑介
  2. 2. 自己紹介 • 竹内 佑介 • 趣味でプログラムやってます • クリック&クリエイト、RPGツクール、HSP、
 DXライブラリとかやってました • 最近はnode.jsにはまってます
  3. 3. NODE.JSで今日からあなたも サーバサイドプログラマーになれる
  4. 4. NODE.JSとは • リアルタイムチャット、通信対戦ゲームとかの
 サーバプログラムが簡単に書けます • どれだけ簡単かというと・・・・・・、
  5. 5. サーバとクライアントのソースがこれだけ
  6. 6. 本当に簡単ですよ • node.jsをインストールして • npm install socket.io実行して • 前ページのapp.js、index.htmlつくって • node app.js ってやるだけで通信プログラムが書けます
 ※node appに失敗したらsudoつけてやってみて下さい
  7. 7. 動作確認してみましょう • ブラウザを立ち上げて、以下アドレスにアクセス • http://localhost
  8. 8. サーバからのメッセージどこ? • デバッグモードを立ち上げて下さい ここにメッセージが
  9. 9. コードの説明 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をクライアントに送信 }); }
  10. 10. コードの説明 サーバ側  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行で書けます サーバ クライアント
  11. 11. 合計500行くらいで通信対戦ゲームも作れます http://janken-kaidouji85.herokuapp.com/
  12. 12. じゃんけんゲームのソース • ここにソースがあります
 https://github.com/kaidouji85/janken • 順次ブログでもソース解説していきたいと思います
 「毎日プログラム」
 http://blog.livedoor.jp/kaidouji85/
  13. 13. ご清聴ありがとうございました

×