Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Cá entre nós... quem é o louco que fica mantendo o placar disso???
Não seria legal se tivesse uma aplicação que fizesse isso???
Twitter: @lfcipriani
lfcipriani@talleye.com
Bs Computer Science + a lot of other stuff
12 jogadores
40 minutos
200 jogadores
30 horas
1997: primeira versão feita em Basic
2000 até 2008: Placar em Delphi
2009: ruby, rails, xmpp, erlang, javascript, ajax, html, google gears
memcached
www.maratonadebasquete.com.br/marathons/1
TCP
<presence from='marathon-bot@zaphod' />
<message from='romeo@montague.lit' to='juliet@capulet.com' id='msg_1'>
<body>Quer tc?</body>
</message>
shared models
<iq type='set' from='marathon-bot@zaphod'
to='pubsub.zaphod' >
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='/home/zaphod/marathon-bot/events'>
<item>
<event marathon='1'
timestamp='1255059679512'
type='action'
id='1255059679512'>
<storage method='add' sync='local'/>
<team>2</team><action>1</action>
</event>
</item>
</publish>
</pubsub>
</iq>
<iq type="set" id="1-1" from="wave.initech-corp.com" to="wave.acmewave.com">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="wavelet">
<item>
<submit-request
xmlns="http://waveprotocol.org/protocol/0.2/waveserver">
<delta wavelet-name="acmewave.com/initech-corp.com!a/b">
<![CDATA[CiA...NvbQ==] ]>
</delta>
</submit-request>
</item>
</publish>
</pubsub>
</iq>
TCP
mod_pubsub
HTTP-bind
sync
controllers
public
folder
Workflow PubSub
O que acontece quando alguém faz uma cesta?
Marathon-Bot
Reverse Proxy
mod_rails
SQL
Exemplos:
JSON object
<iq from='scoutista@zaphod/1' to='marathon-bot@zaphod/server'
id='6155:webclient' xmlns='jabber:client'>
<query xmlns='http://cipriani/game/capture'>
<event marathon='1' timestamp='1255052864229' type='action' id='1255052864229'>
<storage method='add' sync='local'/>
<team>1</team>
<action>1</action>
</event>
</query>
</iq>
SQL
API
PubSub client
...
PubSub client
Data Switcher
<iq type='set' from='marathon-bot@zaphod'
to='pubsub.zaphod' >
<pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node='/home/zaphod/marathon-bot/events'>
<item>
<event marathon='1'
timestamp='1255059679512'
type='action'
id='1255059679512'>
<storage method='add' sync='local'/>
<team>2</team><action>1</action>
</event>
</item>
</publish>
</pubsub>
</iq>
Browser
(Firefox, IE6/7/8, Safari
Chrome, Opera, ...)
Browser
(Firefox, IE6/7/8, Safari
Chrome, Opera, ...)
Browser
(Firefox, IE6/7/8,
Chrome, Opera, ...)
,
Subscriber
Scoutista/publisher