As twittadas do dia – 2010-11-30
- Top 48 ads that would never be allowed today http://bit.ly/gN3Yn2 #
- Hoje é dia! http://plixi.com/p/60012049 #
O 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
e se você quiser acompanhar todo mundo ao mesmo tempo… o Locawebers tá aí pra isso ![]()
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
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:
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.
Algumas palestras que já estão confirmadas para o evento:
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.
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.
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?
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.
Além dessas palestras, o DevOpsDays terá palestras relâmpago, OpenSpaces e painéis de discussão sobre o mundo devops.
E para animar a semana, fiquem com o vídeo do Chef Diego Cukier – meu irmão – preparando incríveis pratos no restaurante Brooklin.
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:
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>
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.
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.
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.
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
Powered by Twitter Tools
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