Posts arquivos para novembro, 2010

30nov2010

As twittadas do dia – 2010-11-30

(0) comentários
29nov2010

o blog que é a soma dos nossos blogs: Locawebers

(0) comentários

imageO Locawebers é um blog nosso aqui na Locaweb que agrega tudo o que eu e meus colegas blogamos aqui na empresa, cada um na sua área de excelência.  Dá uma olhada só no tamanho da lista:

 

um monte de gente Smile  e se você quiser acompanhar todo mundo ao mesmo tempo… o Locawebers tá aí pra isso Winking smile

29nov2010

pesquisa bárbara: já somos 81,3 milhões em ação

(0) comentários

direto do blog do Fernand Alphen (@Alphen da F/Nazca):

 

Há 3 anos, a F/Nazca faz um estudo aprofundado (F/Radar) sobre fenômenos sociais impulsionados pela popularização da Internet no país. Alguns paradigmas foram quebrados ao longo do estudo, e os dados falam por si só.

A pesquisa é quantitativa e abrangente: compreende todos os brasileiros acima de 12 anos, em 143 municípios de todo o Brasil, e tem margem de erro estatístico de dois pontos percentuais. O campo é realizado pelo Datafolha. Seguem alguns pontos mais polêmicos da última leitura (segundo semestre de 2010):

 

Os números me impressionaram e gostei muito das conclusões e comentários do Fernand:

 

O país tem hoje 54% de pessoas acima de 12 anos que costumam acessar a Internet. A penetração é de 84% na classe AB, 51% na C e 23% nas classes DE. Noventa e um por cento dos jovens de 12 a 15 anos costumam acessar a Internet, sendo que esse número cai sucessivamente nas outras faixas etárias.

No entanto, se podemos nos surpreender com a extrema rapidez do “hábito de acesso” (diferente de “ter acesso”), a penetração em casa segue em patamares baixos: apenas 27% dos brasileiros possuem conexão com banda larga em casa e 6% com conexão discada.

O acesso em casa determina uma série de comportamentos diferenciados quando comparados com o acesso fora de casa e consubstancia uma fronteira social: 73% da classe AB possui acesso em casa, enquanto que na classe C são apenas 24%. Vale salientar ainda que a posse de Internet tem um crescimento pífio nas classes CDE.

O acesso em casa é, por exemplo, o principal gargalo para a popularização do comércio online. Apenas 25% dos brasileiros costumam fazer compras online e há uma relação direta entre classe social e compras online.

 

veja o post completo aqui:  Já somos 81,3 milhões em ação « Fernand Alphen’s Blog

29nov2010

DevOpsDays e Curso Grátis de Chef

(0) comentários

No próximo sábado teremos o primeiro DevOpsDays Brasil. O evento será gratuito e terá a presença de palestrantes importantes na área de Cloud e Infra-estrutura de Internet. Quem fará o Keynote do evento será John Willis – VP de serviços da Opscode, empresa que está por trás do software Chef – um dos mais bem feitos softwares de Configuration Management.

Além do Keynote no evento, John se ofereceu para dar um curso GRATUITO de Chef. Esse curso será na 6a. feira que antecede o evento – dia 3 de dezembro – no auditório fornecido pela Caelum. O curso apresentará os seguintes tópicos:

  • Uma visão geral sobre o Chef
  • O componente Cookbook do Chef
  • Integração de Sistemas com Chef

O curso fornecerá uma visão rápida do Chef e da plataforma Opscode. Para fazer o curso é necessário apenas conhecimentos básicos em administração de sistemas. Conhecimento em Ruby é um plus. Faça já a sua inscrição, pois as vagas são limitadas! Todos os participantes do curso ganharão um voucher de 1 mês grátis no Cloud Server Pro da Locaweb.

DevOpsDays

Algumas palestras que já estão confirmadas para o evento:

John Willis: Keynote: The Agile Enterprise, Devops and Clouds

No começo, TI era limitada pelo tempo que levava para provisionar e colocar no ar uma nova infra-estrutura. Porém, com o surgimento do Cloud, podemos montar – e desmontar – um datacenter vitual inteiro instantaneamente. Isso acelera o ciclo de tempo de TI. Isso é análogo a dois outros grandes passos tecnológicos: métodos ágeis de desenvolvimento de software e o movimento “devops” de arquiteturas auto-escaláveis e auto-configuráveis. Vamos ver como o destino da nuvem, código ágil e devops estão entrelaçados, e o que isso significa para os profissionais de TI.

Nessa sessão, John Willis (o co-apresentador dos famosos podcasts Devops Café e IT Management & Cloud) nos fará entender o que é Devops e como ele pode ajudar (ou atrapalhar!) você. Essa sessão dará uma visão pragmática sobre devops, esclarecendo como Devops se aplica para você e sua empresa.

Carla Souza: Automagicaly manage your configuration

Puppet é um software open source poderoso, flexível e extensível que consiste numa linguagem declarativa para expressão configurações de sistemas, além de um cliente e um servidor para distribui-la e uma biblioteca para perceber a configuração desejada. Nessa sessão, Carla Souza mostrará as funcionalidades do Puppet, os requisitos, como funciona e porque um sysadmin irá ama-lo.

Fabio Kung: Cloud e automação: tome o controle da sua infraestrutura!

Um dos principais conceitos trazidos pelo movimento DevOps é a automação de tudo que for possível na infraestrutura. Durante esse tempo em que venho desenvolvendo produtos de Cloud, juntei algumas ideias e possibilidades que gostaria de compartilhar.

Como algumas das principais ideias e serviços do que chamamos de “Cloud” podem ajudar? Como automatizar a infraestrutura? Como isso beneficia os meus sistemas? Como isso acelera a entrega de novas funcionalidades? E a escalabilidade? Performance? Confiabilidade?

Guilherme Silveira: Deploy contínuo: pois integração contínua não basta

Integrar continuamente é uma das primeiras práticas de engenharia de software defendidas por nós agilistas. Mas ser ágil é poder se adaptar rapidamente, requer feedback rápido, inclusive do cliente. Como colocar logo em produção? Em homologação? Depois de ganhar experiência, passamos ao próximo passo natural: automatizar os processos de deploy para homologação e produção, mas passamos por questões desde dificuldades com a infraestrutura até problemas de segurança de dados. Passando por aplicações pequenas, desktop, médias, web e grandes, veremos qual a importância de efetuar deploy sempre.

Outras atrações

Além dessas palestras, o DevOpsDays terá palestras relâmpago, OpenSpaces e painéis de discussão sobre o mundo devops.

Última receita

E para animar a semana, fiquem com o vídeo do Chef Diego Cukier – meu irmão – preparando incríveis pratos no restaurante Brooklin.

29nov2010

Um objeto JavaScript para confirmar se o usuário quer sair da página

(0) comentários

Existe algumas situações que é interessante confirmar se usuário realmente quer deixar a página atual. O usuário pode sair acidentalmente sem salvar o que está editando ou quando o fluxo de edição de conteúdo da página é complexo que pode induzir o usuário a não salvar no final.

Por exemplo, no WordPress que uso nesse blog aparece uma confirmação se eu tento sair da página de edição de post sem ter salvo antes:

Clique na imagem para ampliá-la

Clique na imagem para ampliá-la

O segredo é configurar o evento onbeforeunload do objeto window com uma função que retorna o texto da confirmação:

<html>
<head>
  <script>
    window.onbeforeunload = function() {
      return "Minha mensagem de confirmação.";
    }
  </script>
</head>
<body>

</body>
</html>

Abordagem procedural

O ideal é podermos configurar se a mensagem de confirmação irá aparecer ou não, conforme as ações do usuário na página. Vamos criar uma variável que servirá como condição se a mensagem de confirmação será exibida.

<html>
<head>
  <script>
    var needToConfirm = false;

    window.onbeforeunload = function() {
      if (needToConfirm) {
        return "Minha mensagem de confirmação.";
      }
    }
  </script>
</head>
<body>
  <form onsubmit="needToConfirm = false;">
    <p><input type="text" onchange="needToConfirm = true;" /></p>
    <p><input type="submit" /></p>
  </form>
</body>
</html>

O código acima exemplifica a ativação e a desativação da exibição da mensagem de confirmação na saída da página em um formulário. Toda a vez que o valor do campo texto for alterado (linha 15), a variável needToConfirm é configurada para true. Já na submissão do formulário (linha 14) a confirmação é desativa.

Usando orientação a objetos

Agora vamos extrair essa funcionalidade para uma objeto JavaScript, salvando o código em um arquivo .js.

function ExitPageConfirmer(message) {
  this.message = message;
  this.needToConfirm = false;

  var myself = this;

  window.onbeforeunload = function() {
     if (myself.needToConfirm) {
       return myself.message;
     }
   }
}

O objeto ExitPageConfirmer recebe como parâmetro no seu construtor a mensagem de confirmação. Por padrão, a necessidade de exibir a confirmação é configurada para false. Veja um exemplo de sua utilização:

var exitPage = new ExitPageConfirmer("Minha mensagem de confirmação.");

E quando quiser ativar a exibição da mensagem de confirmação:

exitPage.needToConfirm = true;

Vamos utilizar nosso confirmador de saída de página no formulário HTML do exemplo anterior:

<html>
<head>
  <script src="scripts/Prodis.ExitPageConfirmer.js"></script>
  <script>
    var exitPage = new ExitPageConfirmer("Minha mensagem de confirmação.");
  </script>
</head>
<body>
  <form onsubmit="exitPage.needToConfirm = false;">
    <p><input type="text" onchange="exitPage.needToConfirm = true;" /></p>
    <p><input type="submit" /></p>
  </form>
</body>
</html>

Na linha 3 fizemos a referência para o arquivo .js que contém o código do confirmador e criamos uma instância de ExitPageConfirmer na linha 5. Nas linhas 9 e 10 configuramos a necessidade de exibir ou não a mensagem de confirmação utilizando usando a variável exitPage.

Detalhe sobre a implementação

Há um detalhe interessante sobre a implementação do objeto ExitPageConfirmer. Vamos ver o código novamente para ficar mais fácil de visualizar.

function ExitPageConfirmer(message) {
  this.message = message;
  this.needToConfirm = false;

  var myself = this;

  window.onbeforeunload = function() {
     if (myself.needToConfirm) {
       return myself.message;
     }
   }
}

Na linha 3 é criada a variável myself que recebe o valor de this. O this nesse escopo se refere à instância do objeto. Por exemplo, quando criamos a variável exitPage no código do formulário, o this dentro do objeto se refere a essa variável.

Dentro da função que é passada para o evento onbeforeunload do objeto window existe um if verificando o valor de needToConfirm do próprio objeto ExitPageConfirmer. Isso serve de condição para exibir a mensagem confirmação.

Mas por que não usamos this.needToConfirm ao invés de myself.needToConfirm na linha 8?

Acontece que a partir do momento que estamos configurando algo dentro do objeto window, o this se refere ao objeto window e não mais ao objeto ExitPageConfirmer. Sendo assim, criamos a variável myself que recebe uma referência da instância atual do objeto ExitPageConfirmer.

Como a variável myself fica disponível também no escopo da função que é atribuída ao evento onbeforeunload do objeto window, podemos utilizá-la sem problemas.

O escopo da variável myself se limita ao construtor de ExitPageConfirmer, então a mesma não pode ser acessada de fora do objeto.

Conclusão

O objeto ExitPageConfirmer pode ser utilizado em qualquer página, evitando assim a duplicidade de código. Além disso, o uso de programação orientada a objetos em JavaScript, ao invés de abordagem procedural, torna o código mais elegante e fácil de manter.

Referência:
Asking Users To Confirm If They Wish To Leave The Page


28nov2010

ffffuuuu conf recap

(0) comentários
The majority of well stablished tech conferences here in Brazil are converging to be a big meeting of empty hands, with comercial and vendor speakers, entrepreneurship and rework based talks or agile method praising. Needless to say, tech subjects get very superficial and with little or no real world experience background. This year was a fortunate one [...]
28nov2010

As twittadas do dia – 2010-11-28

(0) comentários
27nov2010

Intel Specification Update

(0) comentários
In October 1, 2010, Intel released a document that describes design defects, known errors, and all the stuff that can make a sysadmin’s life a pain. It was an specification update for the Intel 82546GB Gigabit Ethernet Controller (e1000 driver for most *nix implementations). This ethernet controller is a pretty common chipset, dual ports cards [...]


27nov2010

Twitter Weekly Updates for 2010-11-27

(0) comentários

Powered by Twitter Tools


26nov2010

UXmatters: o segredo da inovação envolve o time inteiro

(0) comentários

Belo artigo do belíssimo blog UXmatters sobre inovação e colaboração.   tirei um trechinho pra voces verem:

 

Your team will improvise more freely—leading to increased innovation—the more your team members

  • know about the domain in which they are problem-solving
  • collaborate, learn about, and trust each other
  • can be present in the moment and pay attention to what is happening right now
  • can learn to recombine and reincorporate things they already know
  • practice, practice, practice

The Holy Grail of Innovation: It Takes an Ensemble to Achieve Inspired Creativity :: UXmatters

 

usando o Google Translate, ficou assim:

Sua equipe vai improvisar mais livremente, levando a um aumento membros inovação mais a sua equipa

  • saber sobre o domínio no qual eles são a solução de problemas
  • aprender, e confiar uns nos outros
  • pode restar presente no momento e prestar atenção ao que está acontecendo agora
  • poder aprender a se recombinar e reincorporar coisas que eles já sabem
  • prática, prática, prática

    Switch to our mobile site