27 de jul. de 2011

Eclipse Fullscreen no Mac OS Lion

Dae gurizada..

Pra quem usa Mac com o Lion, segue uma o link de um Plugin para dexiar o Eclipse em Fullscreen mode.

http://alblue.bandlem.com/2011/07/full-screen-support-for-eclipse-on-osx.html

Basicamente é ir em: "Help -> Install new software" e colocar a URL: http://github.bandlem.com/

Fica a dica...

era isso..

Rode seus testes com jetty fácil..

Dae guriazada..

Eu conheço o Jetty faz algum tempo, mas nunca dei muita bola pra ele até ver como é fácil rodar uma aplicação web com ele. É perfeito pra fazer testes!!!

Este post é mais para eu mesmo lembrar do como fazer..rsrsrs


Primeiro crie uma aplicação web com maven.  Tem várias turorais por ai sobre como fazer isso.

Mas basicamente essa deve ser a estrutura do projeto:


Incluir o plugin do maven par rodar a aplicação com Jetty:


  
   
    org.mortbay.jetty
    maven-jetty-plugin
    
     /jetty-test
     
      
       8080
      
     
    
   
  
 
Acredito que esteja claro os parâmetros que o plugin recebe  (contexto e porta). Mais informações sobre o plugin aqui.


No console é só digitar:
mvn jetty:run

Depois acessar a url: http://localhost:8080/jetty-test/


E feito o carreto...


Era isso. Abraço

22 de jul. de 2011

Primeiro contato com Node.j e mais sobre non-blocking servers



Dae gurizada..

Na sequência do meus estudos sobre non-blocking web servers vou dar uma olhada no Node.js.


Vou utilizar como base esta apresentação do Ryan Dahl, que está disponível no site do node.js

Antes de olhar sobre Node.js é importante entender o C10K Problem e Non-blocking I/O

Node.js
Node.js nada mais é que uma biblioteca que roda em cima do virutal machine chamada v8. V8 é uma JavaScript Engine escrita pelos  engenheiros da Google e é utilizada no Google Chrome.

Node utiliza o v8 para fazer o trabalho de comunicação (networking) corretamente. 

Não existe "waiting time"
Óbvio, é isso que faze dele um non-blocking server: Não ter "waiting time".

Você não consegue mandar o node dormir (sleep). Não é que você seja encorajado a não fazer um "sleep", na verdade você não tem poder para isso. 

O que o Node faz é definir Timeouts e deixar processos em idle (ocioso), fazendo com que o consumo de CPU vá para zero.

De uma olhada nesse código:

19 de jul. de 2011

C10K Problem. O quê Deft, Node.js, Netty e outros estão solucionando

Dae gurizada,

A idéia de olhar para esse problema surgiu depois que o Diego Pacheco me deu a missão de falar sobre Deft e Loft em um lighting talk que fizemos há algumas semanas atrás.

O grande impecílio que tive para entender o conceito dos servidores Deft e Loft foi de entender o problema. Eis a motivação do post.

O que vou tentar explicar são as limitações existetes que fazem com alguns servidores não consigam processar mais que 10mil requisições simultâneas. E (se tudo der certo) você vai entender porque servidors como Deft, Loft, Tornado, Netty, Node.js e outros tem um desempenho diferente que os sservidores normais. 

C10k Problem

C10k significa 10.000 (dez mil) conexões simultâneas. Este é a limitação de conexões silmutaneas da maioria dos servidores de aplicação.

Isso acontece devido a forma que os servidores trabalham com cada conexão recebida.

Muitas destes problemas são ocasionaos pela forma que o servidor foi impelmentado e de como o Sistema Operaciona (OS) trabalha com sockets.

Eu vou descrever algumas destas limitações abaixo.