Your SlideShare is downloading. ×
0
Perl + Socket.IO 2012-09-09 Nagoya.pm #7       岩田 享 / issm
大盛況おめでとうございます!            2012-09-09 Nagoya.pm                              #7
あと     2012-09-09 Nagoya.pm                       #7
なごやか Scala #4休んでスミマセン><                2012-09-09 Nagoya.pm                                  #7
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
おまえだれよ?岩田 享 / issm(いわた)http://blog.iss.ms/@issm, qr/issmx{,2}/個人事業  とある「商品」を販売 → 発注 → 発送管理  などするためのシステムを開発していたりPerl / Java...
引っ越し!        2012-09-09 Nagoya.pm                          #7
入院!      2012-09-09 Nagoya.pm                        #7
夏のイベント参加不可!orz           2012-09-09 Nagoya.pm                             #7
そんな 8月         2012-09-09 Nagoya.pm                           #7
x10くらい              x2         2012-09-09 Nagoya.pm                           #7
本題     2012-09-09 Nagoya.pm                       #7
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
Socket.IOWebSocket 通信なライブラリ http://socket.io/サーバサイド:socket.io node 向けモジュールクライアントサイド:socket.io.js クロスブラウザ(Websocket API, XH...
Socket.IO[server]var app = ...  , io = require(‘socket.io’).listen(app);                                   2012-09-09 Nago...
Socket.IO[server]io.sockets.on(   ‘connection’, function(socket){...});                                    2012-09-09 Nago...
Socket.IO[server]// in ‘connection’ handersocket.emit(‘hello’, {foo: ‘bar’});socket.on(   ‘event’, function(msg){     cons...
Socket.IO[client]var socket = io.connect();                             2012-09-09 Nagoya.pm                              ...
Socket.IO[client]socket.on(   ‘hello’, function(msg){     alert(‘hello’);   });socket.emit(   ‘event’,   { a: ‘hoge: b: [‘...
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
Perl で Socket.IOPocketIO 元 Plack::Middleware::SocketIO (DEPRECATED!) node の socket.io モジュール非依存 % cpanm PocketIO Webサーバには T...
Perl で Socket.IOSYNOPSIS# app.psgiuse Plack::Builder;use PocketIO;builder {  mount ‘/socket.io/’ => PocketIO->new(     han...
Perl で Socket.IOSYNOPSIS# in handlermy ($socket) = @_;$socket->on(   event => sub {     my ($self, $msg) = @_;     use Dat...
Perl で Socket.IOクライアント JavaScript 側 socket.io.js をそのまま使える!                          2012-09-09 Nagoya.pm                  ...
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
応用 1SiTeWiki 自作の Textile 記法による Wiki っぽい何か https://github.com/issm/SiTeWiki                                    2012-09-09 N...
応用 1       2012-09-09 Nagoya.pm                         #7
応用 1リアルタイムプレビュー(Markdown記法) http://d.hatena.ne.jp/sugyan/ 20110722/1311302687 http://www.songmu.jp/riji/archives/2012/09/ ...
Textile記法でも!               2012-09-09 Nagoya.pm                                 #7
2012-09-09 Nagoya.pm                  #7
デモ     2012-09-09 Nagoya.pm                       #7
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
応用 2SiTeWiki 自作の Textile 記法による Wiki っぽい何か https://github.com/issm/SiTeWiki データ格納ディレクトリを設定可能    Dropbox共有下においてリモートで編集      ...
応用 2データディレクトリを監視して変更があれば対応するページを開いているクライアントに通知して表示を更新したい!                      Client                      Client         ...
デモ     2012-09-09 Nagoya.pm                       #7
応用 2監視ツールの概要 Filesys::Notify::Simple で監視 イベントを emit するスクリプトを呼ぶ   Protocol::WebSocket とか使えば   Perlでも書けるんだろうけど(ry           ...
応用 2イベント emit スクリプト PhantomJS で WebSocket通信 「データが更新された」イベントを emit                           2012-09-09 Nagoya.pm          ...
応用 2  はじめての PhantomJS#!/usr/bin/env phantomjsvar args = [];phantom.args.forEach( function (n) { args.push(n) } );var targe...
アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題                   2012-09-09 Nagoya.pm                                   ...
まとめと課題PocketIO で Perl でも WebSocket できるよ!リアルタイムプレビュー的な機能を実装してみた 実際に動くのを見るとやっぱりオモシロイ!                              2012-09-0...
まとめと課題WebSocket 通信をnginx 経由でリバースプロキシできない>< HTTP 1.1 における “Upgrade” がどうのこうの nginx_tcp_proxy_module で解決できるらしい https://github...
ご静聴ありがとうございました!             2012-09-09 Nagoya.pm                               #7
Q?     2012-09-09 Nagoya.pm                       #7
Upcoming SlideShare
Loading in...5
×

2012-09-09.nagoyapm07

549

Published on

2012-09-09 Nagoya.pm #7 での資料.Perl で Socket.IO することについて簡単に.

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

  • Be the first to like this

No Downloads
Views
Total Views
549
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "2012-09-09.nagoyapm07"

    1. 1. Perl + Socket.IO 2012-09-09 Nagoya.pm #7 岩田 享 / issm
    2. 2. 大盛況おめでとうございます! 2012-09-09 Nagoya.pm #7
    3. 3. あと 2012-09-09 Nagoya.pm #7
    4. 4. なごやか Scala #4休んでスミマセン>< 2012-09-09 Nagoya.pm #7
    5. 5. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    6. 6. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    7. 7. おまえだれよ?岩田 享 / issm(いわた)http://blog.iss.ms/@issm, qr/issmx{,2}/個人事業 とある「商品」を販売 → 発注 → 発送管理 などするためのシステムを開発していたりPerl / JavaScript CoffeeScript 2012-09-09 Nagoya.pm #7
    8. 8. 引っ越し! 2012-09-09 Nagoya.pm #7
    9. 9. 入院! 2012-09-09 Nagoya.pm #7
    10. 10. 夏のイベント参加不可!orz 2012-09-09 Nagoya.pm #7
    11. 11. そんな 8月 2012-09-09 Nagoya.pm #7
    12. 12. x10くらい x2 2012-09-09 Nagoya.pm #7
    13. 13. 本題 2012-09-09 Nagoya.pm #7
    14. 14. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    15. 15. Socket.IOWebSocket 通信なライブラリ http://socket.io/サーバサイド:socket.io node 向けモジュールクライアントサイド:socket.io.js クロスブラウザ(Websocket API, XHR, Flash) 2012-09-09 Nagoya.pm #7
    16. 16. Socket.IO[server]var app = ... , io = require(‘socket.io’).listen(app); 2012-09-09 Nagoya.pm #7
    17. 17. Socket.IO[server]io.sockets.on( ‘connection’, function(socket){...}); 2012-09-09 Nagoya.pm #7
    18. 18. Socket.IO[server]// in ‘connection’ handersocket.emit(‘hello’, {foo: ‘bar’});socket.on( ‘event’, function(msg){ console.log(msg); }); 2012-09-09 Nagoya.pm #7
    19. 19. Socket.IO[client]var socket = io.connect(); 2012-09-09 Nagoya.pm #7
    20. 20. Socket.IO[client]socket.on( ‘hello’, function(msg){ alert(‘hello’); });socket.emit( ‘event’, { a: ‘hoge: b: [‘fuga’, ‘piyo’] }); 2012-09-09 Nagoya.pm #7
    21. 21. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    22. 22. Perl で Socket.IOPocketIO 元 Plack::Middleware::SocketIO (DEPRECATED!) node の socket.io モジュール非依存 % cpanm PocketIO Webサーバには Twiggy を使う! % plackup -s Twiggy -a app.psgi 2012-09-09 Nagoya.pm #7
    23. 23. Perl で Socket.IOSYNOPSIS# app.psgiuse Plack::Builder;use PocketIO;builder { mount ‘/socket.io/’ => PocketIO->new( handler => sub { my ($socket) = @_, ... }, ); mount ‘/’ => sub { my $app = ... };}; 2012-09-09 Nagoya.pm #7
    24. 24. Perl で Socket.IOSYNOPSIS# in handlermy ($socket) = @_;$socket->on( event => sub { my ($self, $msg) = @_; use Data::Dumper; warn Dumper $msg; });$socket->emit( ‘hello’, { foo => ‘bar’ } ); 2012-09-09 Nagoya.pm #7
    25. 25. Perl で Socket.IOクライアント JavaScript 側 socket.io.js をそのまま使える! 2012-09-09 Nagoya.pm #7
    26. 26. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    27. 27. 応用 1SiTeWiki 自作の Textile 記法による Wiki っぽい何か https://github.com/issm/SiTeWiki 2012-09-09 Nagoya.pm #7
    28. 28. 応用 1 2012-09-09 Nagoya.pm #7
    29. 29. 応用 1リアルタイムプレビュー(Markdown記法) http://d.hatena.ne.jp/sugyan/ 20110722/1311302687 http://www.songmu.jp/riji/archives/2012/09/ pocketio.html 2012-09-09 Nagoya.pm #7
    30. 30. Textile記法でも! 2012-09-09 Nagoya.pm #7
    31. 31. 2012-09-09 Nagoya.pm #7
    32. 32. デモ 2012-09-09 Nagoya.pm #7
    33. 33. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    34. 34. 応用 2SiTeWiki 自作の Textile 記法による Wiki っぽい何か https://github.com/issm/SiTeWiki データ格納ディレクトリを設定可能 Dropbox共有下においてリモートで編集 2012-09-09 Nagoya.pm #7
    35. 35. 応用 2データディレクトリを監視して変更があれば対応するページを開いているクライアントに通知して表示を更新したい! Client Client 監視 ClientEditor Data 変更 2012-09-09 Nagoya.pm #7
    36. 36. デモ 2012-09-09 Nagoya.pm #7
    37. 37. 応用 2監視ツールの概要 Filesys::Notify::Simple で監視 イベントを emit するスクリプトを呼ぶ Protocol::WebSocket とか使えば Perlでも書けるんだろうけど(ry 2012-09-09 Nagoya.pm #7
    38. 38. 応用 2イベント emit スクリプト PhantomJS で WebSocket通信 「データが更新された」イベントを emit 2012-09-09 Nagoya.pm #7
    39. 39. 応用 2 はじめての PhantomJS#!/usr/bin/env phantomjsvar args = [];phantom.args.forEach( function (n) { args.push(n) } );var target, paths;target = args.shift();paths = args || [];var page = require(webpage).create();page.open(target, function (status) { page.evaluate(function (paths) { var socket = io.connect(); socket.emit(data_updated, { paths: paths }); }, paths); 2012-09-09 Nagoya.pm #7
    40. 40. アジェンダ自己紹介Socket.IOPerl で Socket.IO応用 1応用 2まとめと課題 2012-09-09 Nagoya.pm #7
    41. 41. まとめと課題PocketIO で Perl でも WebSocket できるよ!リアルタイムプレビュー的な機能を実装してみた 実際に動くのを見るとやっぱりオモシロイ! 2012-09-09 Nagoya.pm #7
    42. 42. まとめと課題WebSocket 通信をnginx 経由でリバースプロキシできない>< HTTP 1.1 における “Upgrade” がどうのこうの nginx_tcp_proxy_module で解決できるらしい https://github.com/yaoweibin/nginx_tcp_proxy_module 2012-09-09 Nagoya.pm #7
    43. 43. ご静聴ありがとうございました! 2012-09-09 Nagoya.pm #7
    44. 44. Q? 2012-09-09 Nagoya.pm #7
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×