Presentta
Usando Node.js na prática
                Nando Vieira
Sobre mim.
@fnando
http://nandovieira.com.br
Presentta.
Um sistema de treinamento online.
http://howtocode.com.br/nodejs
        ↑↑↓↓←→←→BA
Um monte de coisas.
Node.js + Ruby + Rails + Flash + Linux +
Erlang + WebSockets.
Diversão.
Quem sabe, ainda ganhar algum $$$.
Microfones
                                            Qualidade do
Navegação de slides                            Áudio




                                                   !"#$
                      Ativa screensharing
Flash.
Streaming de áudio e vídeo.
ActionScript 3

package presentta {
  import presentta.URI;
  import presentta.Status;
  import presentta.Guard;
  import flash.net.NetConnection;
  import flash.net.NetStream;
  import flash.events.*;
  import flash.external.ExternalInterface;
  import flash.display.LoaderInfo;
  import flash.media.SoundTransform;

  # ...
Interface.
Somente para navegadores modernos.
#websocket #fail
Y U GIMME NO WEBSOCKET?
  https://github.com/fnando/websocket-on-firefox-4/
socket.IO
  %&$.
Node.js.
Um framework para criar aplicativos que
envolvam rede.
Async IO.
Twisted e EventMachine.

 P#$%&'       R!"#
JavaScript no servidor.
FUCKYEAHHHH!
Servidor HTTP - Node.js


var http = require("http");

http.createServer(function (request, response) {
  response.end("Hello BrazilJS!n");
}).listen(2345);
$ node server.js
Chat.
O exemplo clássico do Node.js.
Chat TCP

var net = require("net")
  , emitter = new process.EventEmitter()
;

net.createServer(function(socket){
  emitter.on("message", function(sender, message){
    if (socket.writable) {
      socket.write(socket.remoteAddress + "> " + message);
    }
  });

  socket.on("data", function(data){
    emitter.emit("message", socket, data)
  });
}).listen(2345, "kernelpanic.local");
Comunicação entre Flash,
Node.js e Client-Side JS.
Bebo à saúde do Nando Vieira
JSON.stringify({
  type: "new_message",
  message: "My new message",
  user: 1
});
JSON.load(payload);
Segurança.
É sempre importante?
JavaScript.
Closures e funções anônimas.
Na prática.
Esse é o Presentta em uso real.
Aprenda.
Cliché.
Node.js, Shell Script,
Monit, Erlang, Ruby,
JavaScript, HTML, CSS,
Python, ActionScript,
Photoshop, whatever.
Coffeescript.
FFFFFUUUUUUUUUU! #not
nandovieira.com.br
simplesideias.com.br
   howtocode.com.br
            @fnando

Presentta: usando Node.js na prática