SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
NODE.JSでサーバプログラマ
デビューしよう
竹内佑介
自己紹介
• 竹内 佑介
• 趣味でプログラムやってます
• クリック&クリエイト、RPGツクール、HSP、

DXライブラリとかやってました
• 最近はnode.jsにはまってます
NODE.JSで今日からあなたも
サーバサイドプログラマーになれる
NODE.JSとは
• リアルタイムチャット、通信対戦ゲームとかの

サーバプログラムが簡単に書けます
• どれだけ簡単かというと・・・・・・、
サーバとクライアントのソースがこれだけ
本当に簡単ですよ
• node.jsをインストールして
• npm install socket.io実行して
• 前ページのapp.js、index.htmlつくって
• node app.js ってやるだけで通信プログラムが書けます

※node appに失敗したらsudoつけてやってみて下さい
動作確認してみましょう
• ブラウザを立ち上げて、以下アドレスにアクセス
• http://localhost
サーバからのメッセージどこ?
• デバッグモードを立ち上げて下さい
ここにメッセージが
コードの説明 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をクライアントに送信
});
}
コードの説明 サーバ側 
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行で書けます
サーバ
クライアント
合計500行くらいで通信対戦ゲームも作れます
http://janken-kaidouji85.herokuapp.com/
じゃんけんゲームのソース
• ここにソースがあります

https://github.com/kaidouji85/janken
• 順次ブログでもソース解説していきたいと思います

「毎日プログラム」

http://blog.livedoor.jp/kaidouji85/
ご清聴ありがとうございました

Weitere ähnliche Inhalte

Was ist angesagt?

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
Hiroh Satoh
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
Akihiro Kuwano
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
Tadahiro Ishisaka
 

Was ist angesagt? (20)

大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」大阪Node学園 七時限目 「ゼロからはじめるnode.js」
大阪Node学園 七時限目 「ゼロからはじめるnode.js」
 
Node.js Tutorial at Hiroshima
Node.js Tutorial at HiroshimaNode.js Tutorial at Hiroshima
Node.js Tutorial at Hiroshima
 
Nodeについて
NodeについてNodeについて
Nodeについて
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
 
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
【東京Node学園祭2016】Node.js × Babel で AWS Lambda アプリケーションを開発する
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
Node.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャーNode.jsでブラウザメッセンジャー
Node.jsでブラウザメッセンジャー
 
AngularJS2でつまづいたこと
AngularJS2でつまづいたことAngularJS2でつまづいたこと
AngularJS2でつまづいたこと
 
ビルド職人の朝は早い
ビルド職人の朝は早いビルド職人の朝は早い
ビルド職人の朝は早い
 
Sails.jsのメリット・デメリット
Sails.jsのメリット・デメリットSails.jsのメリット・デメリット
Sails.jsのメリット・デメリット
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介MVCフレームワーク Sails.jsについて機能紹介
MVCフレームワーク Sails.jsについて機能紹介
 
20131012 nodejs
20131012 nodejs20131012 nodejs
20131012 nodejs
 
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
Node.jsとAWS入門(Elastic Beanstalk & AWS SDK for Node.js)
 
タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜タスクランナー導入 〜とあるWordPress制作環境〜
タスクランナー導入 〜とあるWordPress制作環境〜
 
Playで作るwebsocketサーバ
Playで作るwebsocketサーバPlayで作るwebsocketサーバ
Playで作るwebsocketサーバ
 
Hokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.jsHokuriku.net 2013 01-26 node.js
Hokuriku.net 2013 01-26 node.js
 

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

endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
33rpm
 
Word bench神戸の紹介
Word bench神戸の紹介Word bench神戸の紹介
Word bench神戸の紹介
BREN
 

Ähnlich wie Node.jsでサーバプログラマ デビューしよう (20)

worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所worker_threadsを使った実装の勘所
worker_threadsを使った実装の勘所
 
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
 
人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2人工知能のコードをハックする会 #2
人工知能のコードをハックする会 #2
 
サーバの種別を理解しよう
サーバの種別を理解しようサーバの種別を理解しよう
サーバの種別を理解しよう
 
2016/12/17 ASP.NET フロントエンドタスク入門
 2016/12/17 ASP.NET フロントエンドタスク入門 2016/12/17 ASP.NET フロントエンドタスク入門
2016/12/17 ASP.NET フロントエンドタスク入門
 
Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編Htmlコーディングの効率化 前編
Htmlコーディングの効率化 前編
 
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
 
Dockerを使ってみよう
Dockerを使ってみようDockerを使ってみよう
Dockerを使ってみよう
 
20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward20150421 Geeks Night @ Money Foward
20150421 Geeks Night @ Money Foward
 
Enchant.js入門
Enchant.js入門Enchant.js入門
Enchant.js入門
 
Introduction of Rhodes
Introduction of RhodesIntroduction of Rhodes
Introduction of Rhodes
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
enchant.jsを使った子ども向けプログラミングワークショップ講義内容
enchant.jsを使った子ども向けプログラミングワークショップ講義内容enchant.jsを使った子ども向けプログラミングワークショップ講義内容
enchant.jsを使った子ども向けプログラミングワークショップ講義内容
 
NCstudy 2.5
NCstudy 2.5NCstudy 2.5
NCstudy 2.5
 
Word bench神戸の紹介
Word bench神戸の紹介Word bench神戸の紹介
Word bench神戸の紹介
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみようXpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
XpagesDay 2014 [A-2] スタンダードクライアントで xpages を使ってみよう
 
最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介最近のフロントエンドツールの紹介
最近のフロントエンドツールの紹介
 
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
Webエンジニアがスタートダッシュをキメるためのローカル開発環境の勘所
 
de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!de:code 夏まつり クイズクライアント作ったよ!
de:code 夏まつり クイズクライアント作ったよ!
 

Mehr von Yuusuke Takeuchi

Passportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もうPassportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もう
Yuusuke Takeuchi
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案
Yuusuke Takeuchi
 
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみたHtml5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
Yuusuke Takeuchi
 
Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目
Yuusuke Takeuchi
 
Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目
Yuusuke Takeuchi
 
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
テスト駆動ゲーム開発をJava scriptで実践  in jscafe20テスト駆動ゲーム開発をJava scriptで実践  in jscafe20
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
Yuusuke Takeuchi
 
テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践
Yuusuke Takeuchi
 
Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先
Yuusuke Takeuchi
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
Yuusuke Takeuchi
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生
Yuusuke Takeuchi
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
Yuusuke Takeuchi
 
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Yuusuke Takeuchi
 

Mehr von Yuusuke Takeuchi (20)

Reduxについて
ReduxについてReduxについて
Reduxについて
 
自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた自作ゲームをWebpack対応させてみた
自作ゲームをWebpack対応させてみた
 
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
本職のプログラマーが趣味で対戦ゲーム作ってみた Part10
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
 
Passportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もうPassportでサクッと外部認証を組み込もう
Passportでサクッと外部認証を組み込もう
 
春のJs祭2015 lt
春のJs祭2015 lt春のJs祭2015 lt
春のJs祭2015 lt
 
Node.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよNode.jsで対戦ゲーム作ったよ
Node.jsで対戦ゲーム作ったよ
 
Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案Gブレイバー1人用モード開発案
Gブレイバー1人用モード開発案
 
東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLT東京Node学園祭2014 飛び入りLT
東京Node学園祭2014 飛び入りLT
 
2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り2014年上期Gブレイバー振り返り
2014年上期Gブレイバー振り返り
 
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみたHtml5の通信対戦ゲームをテスト駆動開発で作ってみた
Html5の通信対戦ゲームをテスト駆動開発で作ってみた
 
Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目Gブレイバー開発計画3スプリント目
Gブレイバー開発計画3スプリント目
 
Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目Gブレイバー開発計画 2スプリント目
Gブレイバー開発計画 2スプリント目
 
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
テスト駆動ゲーム開発をJava scriptで実践  in jscafe20テスト駆動ゲーム開発をJava scriptで実践  in jscafe20
テスト駆動ゲーム開発をJava scriptで実践 in jscafe20
 
テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践テスト駆動ゲーム開発をJava scriptで実践
テスト駆動ゲーム開発をJava scriptで実践
 
Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先Gブレイバーのことれからとこの先
Gブレイバーのことれからとこの先
 
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
日曜プログラマーがHtml5とかで通信対戦ゲームを作ってます
 
日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生日曜プログラマーとigoogle先生
日曜プログラマーとigoogle先生
 
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
日曜プログラマーが
1週間くらいで通信対戦ゲームを作ってみた
 
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れるNode.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
Node.jsなら日曜プログラマーでも簡単に通信対戦ゲームが作れる
 

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