Tomando controle dos seus          eventos          Renato Eliassexta-feira, 2 de setembro de 2011
sexta-feira, 2 de setembro de 2011
O callbackzinho    var callbackzinho = function (aEvt) {    if (request.readyState == 4) {         if(request.status == 20...
Ele é orfão, por isto precisa          de ajuda      var request = new XMLHttpRequest();      request.onreadystatechange =...
Event Driven Programmingsexta-feira, 2 de setembro de 2011
Diogosexta-feira, 2 de setembro de 2011
1-Estratégia                Aumentando os Caixas                Alto CUSTO                Alto desperdíciosexta-feira, 2 d...
2-Estratégia                Separando por meio                Diminuiu o custo, mas ainda é alto                Alto despe...
3-Estratégia                Quando há alta demanda, caixas especializados                Quando não há, apenas o suficiente...
Event-driven Architecture          Event-driven Architecture          Event Driven Architecture                Já ouvimos ...
Hora de ser mais direto                Já ouvimos/usamos: EventMachine, NodeJS, Mina,                Nginx                ...
Afinal o que é Reactor ?sexta-feira, 2 de setembro de 2011
Alguns Detalhes                Demultiplexador (Thread Pool)                O Dispatch do evento, só pode ocorrer, após a ...
E o tal do Proactor ?sexta-feira, 2 de setembro de 2011
E o que diferencia?                É o Sistema que gerencia o envio de pacotes para um                handler             ...
sexta-feira, 2 de setembro de 2011
Sistemas Operacionais                Reactor (Select, Kquee, Epoll) (Linux, BSD, MacOSX)                Proactor (Windows ...
Misturando tudo                Callbackzinho                Diogo                E sabemos minimamente lidar com Eventosse...
Brincando com isto                Loja Emo                InTime Processamentosexta-feira, 2 de setembro de 2011
Loja Emo                1 vez por mês tem os melhores lançamentos                Cada acesso é considerado um Evento de ac...
Intime Processamento                Recebe de diversas lojas                Eventos de Usuário visualizando produto       ...
Criando o cenário p/ Fraude                José é um cracker                Ele usa computadores bot`s para fazer suas com...
Detectando                José escolhe Café na Americanas                Computador Bot #1 compra usando cartão falso #1 (...
Alta Perda de Controlesexta-feira, 2 de setembro de 2011
Eventos dentro de Eventos                        :’(sexta-feira, 2 de setembro de 2011
Tentando melhorar isto: JS          var orchestraing = new orchestra();          orchestraing.on(geocode1,geocode2).every(...
Renato Elias                Programador (Codificador)                Atualmente: Concrete Solutions                Finalist...
Próximos SlideShares
Carregando em…5
×

Tomando controle

538 visualizações

Publicada em

Tomando Controle do Seus Eventos

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
538
No SlideShare
0
A partir de incorporações
0
Número de incorporações
32
Ações
Compartilhamentos
0
Downloads
6
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Tomando controle

  1. 1. Tomando controle dos seus eventos Renato Eliassexta-feira, 2 de setembro de 2011
  2. 2. sexta-feira, 2 de setembro de 2011
  3. 3. O callbackzinho var callbackzinho = function (aEvt) { if (request.readyState == 4) { if(request.status == 200) console.log(request.responseText) else console.log(Error, request.statusText); } };sexta-feira, 2 de setembro de 2011
  4. 4. Ele é orfão, por isto precisa de ajuda var request = new XMLHttpRequest(); request.onreadystatechange = callbackzinho; request.open(GET, http://www.mozilla.org/, true); request.send(null);sexta-feira, 2 de setembro de 2011
  5. 5. Event Driven Programmingsexta-feira, 2 de setembro de 2011
  6. 6. Diogosexta-feira, 2 de setembro de 2011
  7. 7. 1-Estratégia Aumentando os Caixas Alto CUSTO Alto desperdíciosexta-feira, 2 de setembro de 2011
  8. 8. 2-Estratégia Separando por meio Diminuiu o custo, mas ainda é alto Alto desperdíciosexta-feira, 2 de setembro de 2011
  9. 9. 3-Estratégia Quando há alta demanda, caixas especializados Quando não há, apenas o suficiente para atender a demanda, sem alto custo Eventos são contados (clientes entrando) Processadores (gerente) verificam periodicamente se há necessidade de nova alocaçãosexta-feira, 2 de setembro de 2011
  10. 10. Event-driven Architecture Event-driven Architecture Event Driven Architecture Já ouvimos como CEP, EP Vendors famosos: Progress Apama & Oracle EDA e Droolssexta-feira, 2 de setembro de 2011
  11. 11. Hora de ser mais direto Já ouvimos/usamos: EventMachine, NodeJS, Mina, Nginx Threads não escalam para alto grau de concorrencia I/O Assincrono O Tal do EventLoopsexta-feira, 2 de setembro de 2011
  12. 12. Afinal o que é Reactor ?sexta-feira, 2 de setembro de 2011
  13. 13. Alguns Detalhes Demultiplexador (Thread Pool) O Dispatch do evento, só pode ocorrer, após a leitura completa do pedaço do I/Osexta-feira, 2 de setembro de 2011
  14. 14. E o tal do Proactor ?sexta-feira, 2 de setembro de 2011
  15. 15. E o que diferencia? É o Sistema que gerencia o envio de pacotes para um handler No final é executado um handler de completesexta-feira, 2 de setembro de 2011
  16. 16. sexta-feira, 2 de setembro de 2011
  17. 17. Sistemas Operacionais Reactor (Select, Kquee, Epoll) (Linux, BSD, MacOSX) Proactor (Windows NT - IOCPs)sexta-feira, 2 de setembro de 2011
  18. 18. Misturando tudo Callbackzinho Diogo E sabemos minimamente lidar com Eventossexta-feira, 2 de setembro de 2011
  19. 19. Brincando com isto Loja Emo InTime Processamentosexta-feira, 2 de setembro de 2011
  20. 20. Loja Emo 1 vez por mês tem os melhores lançamentos Cada acesso é considerado um Evento de acesso Um processador seleciona os últimos 10 minutos e determina se deve ou não cortar recursos que consomem muito processmaneto, liberando o servidor para outras tarefassexta-feira, 2 de setembro de 2011
  21. 21. Intime Processamento Recebe de diversas lojas Eventos de Usuário visualizando produto Eventos de Compra de produtosexta-feira, 2 de setembro de 2011
  22. 22. Criando o cenário p/ Fraude José é um cracker Ele usa computadores bot`s para fazer suas compras Toda vez que ele escolhe um produto, ele o faz usando seu computadorsexta-feira, 2 de setembro de 2011
  23. 23. Detectando José escolhe Café na Americanas Computador Bot #1 compra usando cartão falso #1 (Aprovado) José escolhe Celular no Submarino Computador Bot #2 compra usando cartão falso #2 ( Analize) José escolhe Sapato na ShoeStock Computador Bot #1 compra usando cartão falso #1 (Fraude) Transações anteriores, todos em analize de alto riscosexta-feira, 2 de setembro de 2011
  24. 24. Alta Perda de Controlesexta-feira, 2 de setembro de 2011
  25. 25. Eventos dentro de Eventos :’(sexta-feira, 2 de setembro de 2011
  26. 26. Tentando melhorar isto: JS var orchestraing = new orchestra(); orchestraing.on(geocode1,geocode2).every(function(data) { console.log(sempre que acontece o evento); }).once(function(data) { console.log(apenas uma vez); }); fs.readFile(/etc/passwd, function (err, data){ orchestraing.emit("geocode1",data); }); fs.stat(/etc/passwd , orchestraing.emitter("geocode2"));sexta-feira, 2 de setembro de 2011
  27. 27. Renato Elias Programador (Codificador) Atualmente: Concrete Solutions Finalista do Desafio “Sua idéia vale 1 milhão” pelo TaxiSimples Certificado Google em Maps JS Já foi: Designer, Estágiario (tem gente que diz que é ate hoje), “Diretor de Arte”sexta-feira, 2 de setembro de 2011

×