revista imasters #13 - fevereiro/2015

90
Nós fazemos a Internet no Brasil R$24,00 Fevereiro 2015 / Ano 04 / Edição 13 MODELAGEM PREDITIVA E PRODUTOS RELACIONADOS AOS DADOS AS MEDIA QUERIES SÃO SÓ UM DETALHE TUDO O QUE VAI ACONTECER NA WEB EM 2015 (OU NÃO) #dados #pag38 #design #pag13 #tendencias #pag64 INTEGRAÇÃO CONTÍNUA: MAIS ATUAL DO QUE NUNCA! #capa #pag24

Upload: imasters-redacao

Post on 08-Apr-2016

230 views

Category:

Documents


6 download

DESCRIPTION

Integração Contínua / Media Queries / Modelagem Preditiva / Futurologia

TRANSCRIPT

Page 1: Revista iMasters #13 - Fevereiro/2015

Nós

faze

mos

a In

tern

et n

o B

rasi

lR

$24,

00

Feve

reiro

201

5 /

Ano

04

/ E

diçã

o 13

MODELAGEM PREDITIVAE PRODUTOS RELACIONADOSAOS DADOS

AS MEDIA QUERIESSÃO SÓ UM DETALHE

TUDO O QUE VAI ACONTECER NA WEB EM 2015(OU NÃO)

#dados #pag38#design #pag13 #tendencias #pag64

INTEGRAÇÃO CONTÍNUA:

MAIS ATUAL DO QUE NUNCA! #capa #pag24

Page 2: Revista iMasters #13 - Fevereiro/2015

WHO WATCHES THE WATCHMEN?

Um espaço que fornece conteúdo gratuito à

comunidade de estudantes e profissionais

da área de segurança e tecnologia

LABS.SITEBLINDADO.COM

Page 3: Revista iMasters #13 - Fevereiro/2015

Expediente

TIAGO BAETA Publisher RINA NORONHA (MTB 2759-ES) Editora/Jornalista Responsável

FABIO LODY Direção de Arte / Diagramação

NATHÁLIA TOREZANI Revisão

COLABORADORES Anderson Casimiro, André Rosa, Bernard de Luna, Bruno Rodrigues, Bruno Silva Saes, Celso Po-deroso, Claudio Oliveira, Eder Miranda, Edu Agni, Fabio Lody, Fabrício Leotti, Fernanda Weiden, Flávia Jobstraibizer, Kemel Zaidan, Lucia Freitas, Mariana Sousa, Reinaldo Ferraz, Ricardo Azevedo, Richard Johansen, Victor Nascimento, Willian Justen de Vasconcellos. ESKENAZI INDÚSTRIA GRÁFICA Gráfica

GRUPO IMASTERS Organização

> 1000 exemplares

> ISSN 1981-0288

Rua Claudio Soares 72, conjunto 1302, Pinheiros - São Paulo/SP CEP: 05422-030 Telefone: (11) 3063-5941

www.imasters.com.br/revista [email protected] Twitter: @iMasters Facebook: /PortaliMasters

Os artigos assinados são de responsabilidade dos autores e não refletem necessariamente a opinião da revista. É proibida a reprodução total ou parcial de textos, fotos e ilustrações, por qualquer meio, sem prévia autorização dos artistas ou do editor da revista.

Page 4: Revista iMasters #13 - Fevereiro/2015

Como jornalista que sou, consigo escrever de diversos assuntos, contando com a propriedade das minhas boas fontes. Mas, às vezes, vale muito mais a pena deixar um especilista no assunto falar, em um belo artigo, do que juntar diversas ideias em uma matéria. Tem sido assim na Revista iMasters. Contamos com a preciosa colaboração de profissionais experientes para falar sobre as mais diversas áreas de Desenvolvimento, Tecnologia e Web. O resultado de tal trabalho você encontra nas nossas páginas a cada edição.

E, apesar de não fazer aqui muito do trabalho de escrita do conteúdo, sempre há uma pesquisa bastante ampla, perguntas, a produção como seria feita para uma matéria jornalística. Assim, ao receber os artigos, consigo garantir que o conteúdo que será entregue a você, leitor, está não só dentro da nossa linha editorial, como também dentro da sua expectativa.

Tem sido assim nos últimos dois anos, não foi diferente nesta edição, a primeira de 2015.

Entender um pouco do que é Integração Contínua e a sua importância foi o primeiro passo para conseguir conversar com o Fabrício Leotti, que apresenta um artigo especial sobre o assunto. Aprender que a Ericsson estudou por volta de 20 linguagens de programação a fim de encontrar qual seria a melhor plataforma para seus requisitos, e daí pesquisar um pouco sobre Erlang e linguagens e bugs, foi o resultado da leitura de um outro artigo, do Victor Nascimento.

Sem falar dos tantos aprendizados a partir das colunas fixas de Fernanda Weiden, Flávia Jobstraibizer, Kemel Zaidan, Bruno Rodrigues e outros!

Para mim, enquanto editora da revista, o processo de produzir o material é, verdadeiramente, um grande aprendizado. Espero que para você, que vai ler o conteúdo já lindamente diagramado, possa aprender ainda mais, dentro da sua área de atuação.

E, se te interessa participar desse processo de distribuição de conhecimento, entre em contato. Sempre tem espaço, na Revista e no Portal iMasters, para quem quer colaborar.

Abraços, Rina Noronha Editora - iMasters [email protected]

Editorial

Page 5: Revista iMasters #13 - Fevereiro/2015

Capa - Integração Contínua: Mais atual do que nunca!

DesignAs Media Queriessão só um detalhe

Dados Modelagem Preditiva e Produtos Relacionados aos Dados

Tendências Tudo que vai acontecer na web em 2015 (ou não)

38 6413

24

Sumário < 5

Page 6: Revista iMasters #13 - Fevereiro/2015

A iMasters é uma revista de Tecnologia/Web aberta a novas ideias. Para colaborar envie o seu material por e-mail [email protected]

07 :: Entrevista > Dave Camp, diretor do Firefox Developer Tools

17 :: Por dentro do W3C > HTML5 é uma recomendação. E agora?

20 :: Cloud > Containers: você ainda vai usar um!

24 :: Capa > Integração Contínua: Mais atual do que nunca!

30 :: Desenvolvimento > Polymer: Como essa novidade te ajudará no desenvolvi-mento de Web Components

34 :: Linguagens > A maldição da linguagem e o Elixir

38 :: Dados > Modelagem Preditiva e produtos relacionados aos dados

41 :: Gestão > Spam: provando que Bill Gates estava errado

45 :: Cyberlaw > O seu software está protegido?

49 :: 7Masters - Encontro iMasters de Especialistas

52 :: Desenvolvimento Zen > Performance pessoal: mudanças simples que podem

melhorar sua produtividade

56 :: Por aí > Fazendo a internet do Brasil pelo mundo

61 :: Comunidade > Hacklab Sorocaba - Compartilhando conhecimento

64 :: Tendências > Tudo que vai acontecer na web em 2015 (ou não)

68 :: Sr. Conteúdo > Portais corporativos:o que são e como mantê-los

73 :: Analytics > Criação de valor estratégico através de Digital Analytics

76 :: Tecnologia do Futuro > O futuro não está tão distante

78 :: Review > Por que usar Gulp?

82 :: Criatividade Tecnológica > A festa dos Nerds

84 :: Gestão > ROI em programação

86 :: Conexão Vale do Silício > Memcache em larga escala

88 :: iMasters Box

72 :: Código Livre > Informações e dicas sobre projetos Open Source

13 :: Design > Design Responsivo: As Media Queries são só um detalhe

6 > Sumário

Page 7: Revista iMasters #13 - Fevereiro/2015

Com 10 anos completados há pouco tempo, Firefox já tem um longo caminho per-corrido e o desejo de quem faz o browser é que ele tenha um longo futuro pela frente, sempre tendo foco nos assuntos mais importantes, como direito digital, privacidade, neutralidade da rede e segurança online. Além disso, querem tornar a Web uma pla-taforma melhor, lutando para protege-la , brigando sempre para que o usuário – e o desenvolvedor – tenha opções avançadas de escolha e controle.

Essa é a visão de Dave Camp, diretor do Firefox Developer Tools para a Mozilla. Ele e sua equipe constroem ferramentas para tornar os desenvolvedores mais produ-tivos e capacitá-los para construir a Web. Dave começou sua carreira trabalhando em software desktop open source na Ximian e foi para a Mozilla em 2006, como um engenheiro de plataforma. Veja nessa entrevista exclusiva para o iMasters um pouco da visão de Dave sobre os 10 anos do Firefox e o que o browser tem feito e ainda fará pelos desenvolvedores e usuários.

Firefox e o futuro da WebPor Por Rina Noronha, para Revista iMasters

(Dave Camp, Diretor do Firefox Developer Tools para a Mozilla)

Entrevista < 7

Page 8: Revista iMasters #13 - Fevereiro/2015

O Firefox completou 10 anos. Qual ba-lanço que você faz dessa história?

Criamos o Firefox há 10 anos para entregar escolha e controle na Web. Isso tem sido algo enorme para os usuários – temos con-seguido entregar nossa missão de promover abertura, inovação e oportunidades online. E isso também tem sido enorme para os de-senvolvedores. Firefox nos mostrou o que é ter um browser que você mesmo pode ajudar a construir e ampliar, deixando-o totalmente seu. As pessoas pegaram essa liberdade e construíram add-nos como o Firebug, que nos mostrou como o desenvolvimento Web poderia ser diferente do tradicional.

O Firefox completou 10 anos. Qual ba-lanço que você faz dessa história?

Criamos o Firefox há 10 anos para entregar escolha e controle na Web. Isso tem sido algo enorme para os usuários – temos con-seguido entregar nossa missão de promover abertura, inovação e oportunidades online. E isso também tem sido enorme para os de-senvolvedores. Firefox nos mostrou o que é ter um browser que você mesmo pode ajudar a construir e ampliar, deixando-o totalmente seu. As pessoas pegaram essa liberdade e construíram add-nos como o Firebug, que nos mostrou como o desenvolvimento Web poderia ser diferente do tradicional.

Se você pudesse destacar cinco gran-des coisas que a Mozilla fez na primeira década do Firefox, o que seria?

Temos muito orgulho de cada release, cada nova funcionalidade, cada padrão que colo-camos no mercado, completa nossa missão e move a Web para ser uma plataforma. Mas eu gostaria de destacar o seguinte:

1) Fomos os primeiros com funcionalidades líderes de privacidade e iniciativas como

DNT e o add-on Lightbeam, e dedicados a melhorar a privacidade com coisas como na-vegação anônima, esqueça esse site e agora com o novo botão “Esqueça” (Forget Button) e o Firefox for Android Privacy Coach.

2) Lideramos o direcionamento da Web como plataforma, entregando padrões e sendo pioneiros em novas tecnologias, como gráficos 3D na Web, comunicações na Web em tempo real, e mais de 30 novas WebAPIs para mobile.

3) Firefox foi o primeiro a oferecer uma pla-taforma de add-nos para adicionar novas características, funcionalidades ou um visual personalizado ao seu navegador. Temos mi-lhares de add-ons para personalizar toda a sua experiência Web. Temos algumas cole-ções de add-nos com foco em privacidade e segurança, como LightBeam, Ghostery e Privacy Badger.

4) Firefox já foi traduzido em 90 idiomas por nosso incrível time de voluntários.

5) Ampliamos a navegação open source para mais milhões de usuários com o Firefox para Android (mais de 80 milhões de downloads).

Também é preciso lembrar que lançamos o Firefox OS como o único sistema operacio-nal mobile aberto, atualmente disponível em três continentes para 12 modelos de smar-tphones em 13 operadoras de 24 países.

Recentemente foi lançado o Firefox De-veloper Edition, um browser desenvol-vido especialmente para desenvolve-dores. Você pode explicar melhor sobre esse projeto? Os objetivos, motivos e os próximos passos dele. Sugestão: Você pode explicar melhor sobre esse proje-to, falando sobre os objetivos e os pró-ximos passos dele?

8 > Entrevista

Page 9: Revista iMasters #13 - Fevereiro/2015

O Firefox Developer Edition é um browser que consolida todas as dev tools que os profissionais estão acostumados a usar e algumas coisas novas que simplificam o pro-cesso de construir para a Web.

Firefox nos mos-trou o que é ter um browser que você mesmo pode ajudar a construir e ampliar, deixando-o total-mente seu Um dos pontos mais difíceis para os de-senvolvedores é ter que usar inúmeros am-bientes de desenvolvimento separados para criar conteúdo engajador ou direcionado a diferentes lojas de aplicativos. Por isso, devs geralmente acabam “pulando” por diferentes plataformas e navegadores, o que diminui a produtividade e causa frustrações. O Firefox Developer Edition acaba com esse problema ao criar um ponto de foco para agilizar o flu-xo do trabalho de desenvolvimento. É um browser estável e que é mais do que uma ferramenta poderosa de autoria, mas também é robusta o suficiente para a nave-gação diária. Ele também acrescenta novas funcionalidades que simplificam o processo de desenvolvimento para toda a Web, quer o seu alvo seja o mobile ou o desktop, em qualquer plataforma.

Além do visual limpo, escuro (o mesmo tema do developers tool) e propício ao foco, foram integradas duas novas funcionalidades, Va-lence e WebIDE, o que melhora o workflow e ajuda a fazer o debug de outros navegado-res e apps diretamente do Firefox Developer Edition.

O Firefox OS vem crescendo sua presen-

ça em Mobile e agora também em Smart TVs. Com a nova onda de wearables e smartwatches, a Mozilla pretende lançar um wearable próprio ou já está fazendo alguma parceria para que esses novos devices venham com a plataforma do Firefox OS?

Como uma plataforma totalmente aberta, to-dos podem desenvolver para o Firefox OS e testar novos produtos nele. Temos visto um grande interesse em dispositivos além de apenas smartphones. A Mozilla está traba-lhando com a Panasonic para desenvolver a próxima geração de SmartTVs rodando Fi-refoxOS, e recentemente a Abticool lançou um dispositivo HDMI para streaming que permite ao usuário exibir conteúdo do seu app mobile ou web em um dispositivo HDTV compatível.

Não temos nada específico para anunciar neste momento, mas ficamos muito felizes com todo esse entusiasmo – queremos que a base de todas essas coisas “smart” seja um sistema aberto.

Você pode falar como é o processo de criação de novos produtos na Mozilla?

Cada produto é diferente do outro. Geral-mente um pequeno grupo de pessoas tem uma ideia que ajuda a avançar na Web, e então eles constroem um protótipo. Esse protótipo pode trazer apoio e entusiasmo, e então falamos sobre o que é necessário para que ele se torne real.

O Firefox Developer Edition é um exemplo desse processo de idealização de produto. Por algum tempo, o time de desenvolvimen-to de ferramentas pensou em qual seria a aparência de um navegador focado apenas nos desenvolvedores, em vez de comparti-lhar ideias de design com todos os usuários do Firefox. E foi na época do 10º aniversário

Entrevista < 9

Page 10: Revista iMasters #13 - Fevereiro/2015

do Firefox que decidimos que era uma boa oportunidade para juntar todas as pecinhas em um grande release. Foi um esforço enor-me, mas muito compensador.

A cada projeto que nasce e alcança su-cesso, outros são descartados e não chegam a sair do papel. Como a Mozilla descarta esses projetos que por algum motivo não podem ir para o mercado?

Constantemente fazemos um balanço das nossas atividades para ter certeza de que estamos trabalhando no que é mais impor-tante para promover a Web. Algumas vezes isso leva a decisões para parar de investir em um determinado projeto. O que fazemos a partir daí costuma ser bastante específico e inerente ao projeto e às necessidades dos usuários. Para projetos já com alguma ado-ção, isso significa trabalhar a comunicação e informar o plano de transição aos usuários. Tudo isso é feito de maneira open source, então se há um interesse grande da comuni-dade, um projeto pode durar além do envol-vimento direto da Mozilla com ele.

Um dos grandes financiadores da Mo-zilla é o Google, que hoje é um concor-rente do Firefox com o Chrome. Como funciona essa situação? Existe algum tipo de conflito de interesses?

Tivemos uma parceria com o Google por muitos anos, e ela funcionou muito bem e foi muito boa para nós – e, mais importan-te, para os nossos usuários. Recentemente, anunciamos uma mudança na nossa estra-tégia de parcerias para buscas no Firefox.

Vamos encerrar a prática de ter um único provedor padrão global de buscas, passare-mos a adotar soluções mais locais e flexíveis por país, para aumentar as possibilidades de escolha e inovação na Web, com novas e ampliadas parcerias na área de buscas:

- Yahoo! será a opção padrão nos EUA e es-tamos bastante animados em trabalhar com eles para oferecer uma nova e melhor expe-riência de busca para os usuários do País.

- Yandex será o buscador padrão na Rússia.

- Baidu será a opção padrão na China.

Desenvolvedores web podem aguardar, pois vamos expandir e refinar nossas fer-ramentas de desen-volvimento in-brows-er para atender às suas necessidades

Usuários em outros países não verão uma mudança por agora, e vão continuar tendo o Google como padrão.

Firefox é um navegador para todos, sejam quais forem as suas preferências de serviços de busca, e nós vamos continuar oferecen-do ao usuário a opção e o controle dessa experiência.

O que o desenvolvedor web pode espe-rar da Mozilla para os próximos anos? Por exemplo, como está a implementa-ção da ECMAScript 6 e de outras tecno-logias?

Vamos continuar levando a Web a novos lu-gares, oferecendo aos desenvolvedores as ferramentas para isso. Há várias novas fun-cionalidades que virão em breve para o Fire-fox – suporte para o novo ECMAScript 6 está sendo adicionado aos poucos. WebRTC, WebNFC, Service Workers e Web Workers

10 > Entrevista

Page 11: Revista iMasters #13 - Fevereiro/2015

trarão novas capacidades aos aplicativos web, tanto em dispositivos mobile como em desktop. Também estamos levando jogos de nível AAA para a Web com WebGL e Ems-cripten, e explorando como a realidade vir-tual pode mudar a Web com o mozvr.com.

O Firefox Developer Edition e suas ferra-mentas estão sempre inovando a forma de se depurar para Firefox OS, Android e iOS. Desenvolvedores web podem aguardar, pois vamos expandir e refinar nossas ferramentas de desenvolvimento in-browser para aten-der às suas necessidades. Estamos criando novas e melhores ferramentas de desempe-nho, mecanismos para trabalhar o design e a animação do seu site, e novas formas de integrar o navegador com seu fluxo de de-senvolvimento fora do browser.

Nós a queremos como plataforma e lutamos para prote-ger os direitos de usuários e desen-volvedores todos os dias

Assim como acontece com todos os pro-dutos da Mozilla, estamos trabalhando em conjunto com desenvolvedores Web que utilizam ferramentas como UserVoice para receber feedback e colocá-lo em prática, ga-rantindo que estamos fazendo um navega-dor que seja amado pelos desenvolvedores.

10. E o usuário comum, que utiliza o Firefox como navegador padrão, o que pode esperar para as próximas versões?

A coisa mais importante que faremos para

a Web será continuar sendo campeões da Web. Nós a queremos como plataforma e lutamos para proteger os direitos de usuá-rios e desenvolvedores todos os dias. Lite-ralmente, tudo que fazemos é para apoiar a Web e nossa missão de promover a abertu-ra, a inovação e a oportunidade online.

Firefox já foi traduzi-do em 90 idiomas por nosso incrível time de voluntários

Firefox é mais do que apenas um navega-dor, ele deveria ser a sua companhia segura na Web e ajudar a gerenciar sua vida digital. Nos próximos 10 anos, acredito que vere-mos o Firefox se tornar ainda mais educa-tivo em oferecer opções de personalização e em manter o usuário no controle da sua experiência Web. À medida que a outra me-tade da população mundial começar a ficar online, as pessoas vão procurar por uma ex-periência de conexão segura, fácil de usar e divertida como o Firefox. Isso é importante especialmente em lugares nos quais as pes-soas ficarão online primeiramente no mobi-le, tendo experiências com o Firefox OS no smartphone.

Entrevista < 11

Page 12: Revista iMasters #13 - Fevereiro/2015

moip.com.br +55 (11) [email protected]

A plataforma de pagamento que tem em seu DNA Tecnologia e Inovação. Conheça as nossas APIs: moip.com.br/devs

De DevsPara Devs

Page 13: Revista iMasters #13 - Fevereiro/2015

Vejo com muita frequência pessoas que querem aprender a criar sites responsivos publicarem em grupos e listas de discussão algo como “quero aprender design responsi-vo… como uso as Media Queries?” ou então “o que é melhor para começar a aprender Design Responsivo: Bootstrap ou Founda-tion?”. Também é comum encontrar desig-ners dizendo que a responsabilidade de fa-zer com que um layout torne-se responsivo é do Front-Ender, e que eles não precisam se preocupar com isso.

Tudo errado!

Associar os esforços para o desenvolvimen-to de uma interface responsiva à etapa de Front-End é um dos maiores equívocos atu-ais do desenvolvimento web.

O Design Responsivo não é apenas uma questão tecnológica de adaptação para diferentes dispositivos, mas sim uma adaptação para diferentes contextos

Ethan Marcotte, que cunhou o termo Res-ponsive Web Design, publicou o primeiro texto sobre o assunto no A List Apart em maio de 2010 (http://goo.gl/EZzCax). O que eu acho mais interessante nesse texto são as “categorias” nas quais ele classificou esse texto: CSS, Layout & Grids, Mobile/Multide-

vice, Responsive Design, Interaction Design. Isso mostra por si só a multidisciplinaridade de conhecimentos necessários para desen-volver um site responsivo. Para criar o con-ceito, Ethan se inspirou em uma ideia mais antiga, a Arquitetura Responsiva (http://goo.gl/BR7zvE), na qual os espaços e ambientes podem se adaptar a condições pré-definidas ou desejáveis, por meio de sensores, de acordo com os diferentes contextos.

Contexto! Essa é a palavra-chave

O Design Responsivo não é apenas uma questão tecnológica de adaptação para di-ferentes dispositivos, mas sim uma adapta-ção para diferentes contextos. Desenvolver interfaces com layouts e conteúdos flexíveis e adaptáveis a uma ampla variedade de re-soluções de tela, dispositivos e, principal-mente, contextos de uso.

As pessoas consomem conteúdo e intera-gem com os dispositivos de maneiras dife-rentes de acordo com o contexto em que se encontram. A forma como uma pessoa navega por um site sentada em uma mesa de escritório, em um computador com tecla-do e mouse, com uma tela espaçosa, boa conexão e um ambiente razoavelmente con-trolado, é bem diferente da forma que essa mesma pessoa faria se estivesse no metrô com um smartphone de tela pequena e sem luz adequada, conexão instável e ambiente caótico, segurando o dispositivo com uma

Design Responsivo: As Media Queries são só um detalhe Por Edu Agni, consultor especialista em UX

Design < 13

Page 14: Revista iMasters #13 - Fevereiro/2015

única mão e interagindo sem precisão com um dedo grande e engordurado. Nesses di-ferentes contextos, as pessoas têm disposi-ções diferentes para consumir conteúdo. O tempo e o ritmo são diferentes, e a forma e quantidade de informação que estamos dis-postos a consumir são proporcionalmente opostas.

Associar os esforços para o desenvolvimento de uma in-terface responsiva à etapa de Front-End é um dos maiores equívocos atuais do desen-volvimento web

Criar um site responsivo não consiste sim-plesmente em aplicar Media Queries ao có-digo para espremer os conteúdos de forma um pouco mais amigável em telas menores. Aquilo que o usuário irá visualizar em um smartphone precisa ter mais foco e ser mais enxuto. Não temos espaço nem tempo dis-poníveis para conteúdos de relevância du-vidosa, e por isso precisamos projetar uma interface mais específica e adequada, o que nos obriga a dar mais atenção a áreas como Arquitetura de Informação, Usabilidade e Acessibilidade. Entre o Desktop e o Mobile, precisamos estabelecer uma escala hierár-quica de importância das informações tex-tuais e gráficas do site, e com isso repensar a pertinência de apresentação dessas infor-mações em diferentes contextos e disposi-tivos. Não se trata apenas do tamanho da tela, mas sim do contexto em que o usuário se encontra.

Para que essa adaptação a diferentes con-textos e dispositivos aconteça de forma ade-quada, precisamos de uma interface com características bem específicas, como um Layout Fluido com um Design Adaptativo. A

estrutura fluida, onde todas as medidas uti-lizadas são relativas (porcentagem ao invés de pixels, por exemplo) permitirá que o site se adapte em pequenas variações de tama-nhos de tela, como por exemplo a diferença entre um iPhone 6 e um iPhone 6 Plus. Por outro lado, em variações de telas maiores, como a diferença entre um iPad e um iPho-ne, provavelmente a interface fluida se que-braria, e uma parte do conteúdo se tornaria irrelevante. Nessa situação, precisamos de um layout adaptativo, ou seja, quando o site encontrar um desses pontos de quebra (Break Points), o layout e o conteúdo irão se recompor para serem exibidos de uma ma-neira mais adequada e adaptada.

14 > Design

Exemplo de metodologia de Design

feito diretamente no navegador.

Fonte: http://ow.ly/G8duu

Page 15: Revista iMasters #13 - Fevereiro/2015

A questão chave é que para implementar todo esse dinamismo no código, além de conhecer bem os usuários e os diferentes contextos de uso, é preciso ter um projeto de design muito bem definido. E, para pro-jetar o design dessas interfaces, um meio estático como o Photoshop não ajuda da maneira adequada. Nessas horas é que Designers e Front-Enders precisam dar as mãos, desde a concepção até a implemen-tação das interfaces. No projeto de Design Responsivo é onde começam a fazer mais sentido as metodologias de “Designing in the Browser” (http://goo.gl/kSZHRK), onde a partir de Sketchs, wireframes e um guia de estilo, o layout é desenvolvido diretamente no navegador com a ajuda de um inspetor de código como o Firebug. É uma maneira ágil e consistente e projetar e testar possibi-lidades e limitações reais simultaneamente.

Para que um site responsivo proporcio-

ne uma boa experiência para os usuários,

além de layout fluido e design adaptativo,

é necessária uma boa otimização de de-

sempenho, o que pode ser feito muito bem

por um designer que entende minimamente

de código, e um front-ender que entenda mi-

nimamente de design ;)

Designer e Front-enders, sejam amigui-

nhos. Cada vez mais vocês vão precisar um

do outro!

Edu Agni é consultor especialista em UX, trabalha há onze anos com projetos nas áreas de design e usabilidade, tendo passado por agências de design, publicidade e marketing esportivo. É curador da área de criatividade da Campus Party Brasil, facilitador do workshop UX Weekend e fundador da Mergo User Experience. www.mergo.com.br

Designer e Front-enders, sejam amiguinhos. Cada vez mais vocês vão precisar um do outro!

Design < 15

Page 16: Revista iMasters #13 - Fevereiro/2015

MONITORAMENTO 24 HORAS DOS SERVIDORES

Foco na prevenção de incidentes e manutenção da estabilidade.

CLOUD COMPUTING GERENCIADO KINGHOST

Converse com nossos consultores para um orçamento com foco nas necessidades do seu negócio: 4003-5464

ou pelo e-mail [email protected]

Acesse:

kinghost.com.br

Conte com infraestrutura de ponta sem precisar de uma equipe robusta!

GERENCIAMENTO ESPECIALIZADO

Nossa equipe provisiona de modo personalizado o ambiente

para sua aplicação.

Page 17: Revista iMasters #13 - Fevereiro/2015

HTML5 é uma recomendação. E agora? Por Reinaldo Ferraz, Especialista em Desenvolvimento Web do W3C Brasil

de determinadas características do HTML5 só podiam ser feitos na última versão do navega-dor Opera. Mas que garantia a Opera tinha de que esses recursos iriam permanecer na docu-mentação final?

Com a evolução da documentação, não só do HTML, mas também do CSS e de outras tecnologias do W3C, ganhamos força e munição para desenvolvermos uma Web muito mais rica e cheia de recur-sos, e de uma forma não somente experimental

Não é uma questão de garantia, e sim da par-ticipação na construção de um padrão. Os principais players do mercado de navegadores contribuíram para a construção e a evolução do HTML5. A forma de construir esse padrão é a chave de um processo colaborativo e livre. Defender que determinada característica deve permanecer ou não na documentação final faz parte do processo democrático de construção de um padrão global.

A Recomendação agora é um documento es-tável e não corre risco de mudanças. As evo-luções e as mudanças virão com a próxima versão da linguagem de marcação. Isso dá ao mercado argumentos para implementar um determinado recurso de forma mais confiável. Eu explico.

Imagine uma grande empresa que vai refor-

Em outubro do ano passado pudemos acom-panhar um momento muito importante para a Web. Não foi somente seu aniversário de 25 anos ou os 20 anos do W3C. No dia 28 de outubro de 2014, a documentação do HTML5 ganhou o status de “W3C Recommendation”. Mas o que muda realmente na nossa vida com isso? Por que é importante que essa docu-mentação tenha o status de Recomendação, se ela já era amplamente utilizada e implemen-tada em milhares de websites há anos?

Sem pensar muito, você poderia simplesmen-te responder “e daí que virou uma recomenda-ção?” ou simplesmente “não mudou nada na minha vida”. Pensando friamente na pergunta, para um desenvolvedor que já trabalha com HTML5 há anos, o impacto desse documento em se tornar uma Recomendação parece não mudar nada em sua vida. Na verdade, não são mudanças, e sim a consolidação de uma tec-nologia que o mercado escolheu. Quando falo mercado, não estou somente me referindo aos desenvolvedores, mas a empresas e profissio-nais que decidiram usar o que o HTML5 trouxe de novidade para uma Web em crescimento.

A implementação do HTML5 pelos navega-dores (e, claro, pelos websites) já vinha acon-tecendo há muitos anos. Desde os primeiros esboços do documento, debates e idas e vindas com o WHATWG, os navegadores gra-dualmente foram incorporando recursos, algu-mas vezes de forma experimental e outras de forma definitiva. Em meados de 2010, testes

Por dentro do W3C < 17

Page 18: Revista iMasters #13 - Fevereiro/2015

Reinaldo Ferraz é especialista em desen-volvimento web do W3C Brasil. Formado em Desenho e Computação Gráfica e pós graduado em Design de Hipermídia pela Universidade Anhembi Morumbi, em São Paulo. Trabalha há mais de 12 anos com desenvolvimento web. Coordenador do Prêmio Nacional de Acessibilidade na Web e do Grupo de Trabalho em Acessibilidade na Web e representante do W3C Brasil em plenárias técnicas do W3C. @reinaldoferraz

mular todo seu website. Essa empresa precisa de um documento de requisitos robusto e es-tável para tomar a decisão de implementar de-terminados recursos. Não dá para trazer ape-nas um relatório com uma lista de browsers e as tabelas do “Can I Use” para um projeto de grande porte.

O que muda realmente na nossa vida com isso? Por que é impor-tante que essa documentação tenha o status de Recomendação se ela já era amplamente utiliza-da e implementada em milhares de websites há anos?

Enquanto o documento não for uma versão estável, muitas empresas ainda poderiam não se sentir seguras para migrar para o HTML5 (acredite, esse argumento existe). O desen-volvedor que está acostumado a implementar esses recursos em todos os websites de seus clientes, vendendo inovação e mostrando que acompanha o que o mercado vem implemen-tando, hoje tem um argumento sólido para convencer seu cliente mais conservador a uti-lizar novas APIs ou elementos semânticos em seu código.

Essa segurança para o mercado é importan-te para dar mais respaldo ao desenvolvedor para oferecer ao seu cliente um determinado recurso, afinal, a decisão de adotar uma de-terminada tecnologia envolve custos. Vale lembrar que no documento do HTML5 de fe-vereiro de 2014, quando seu status já era de Candidate Recommendation, os elementos <dialog>, <details> e <summary> e diversos input types, como <input type=color>, <input type=datetime>, <input type=month>, <input type=week> e <input type=time> corriam o risco de ficar fora da especificação final. Des-ses mencionados, somente <input type=time> e <input type=color> permaneceram no docu-

mento. Os demais foram movidos para a ver-são 5.1 da linguagem de marcação, que tem seu status como “Working Draft”.

A batalha pela evolução da Web continua, lu-tando contra sistemas legados e navegadores desatualizados. Com a evolução da documen-tação, não só do HTML, mas também do CSS e de outras tecnologias do W3C, ganhamos força e munição para desenvolvermos uma Web muito mais rica e cheia de recursos, e de uma forma não somente experimental. A Web moderna deve fazer parte da realidade de to-dos, desde o desenvolvedor visionário e cheio de ideias no uso das novidades dos padrões até as empresas tradicionais com processos burocráticos e demorados de homologação de desenvolvimento.

Por esse motivo, devemos, sim, comemorar o status do documento HTML5 de “W3C Re-commendation” e participar cada vez mais da construção desse e dos demais padrões. Eles são desenvolvidos por quem realmente se pre-ocupa com a evolução da Web: nós mesmos.

18 > Por dentro do W3C

Page 19: Revista iMasters #13 - Fevereiro/2015

Exposição e gerenciamento de APIs com segurança e velocidade

Conheça melhor e agende suademo em sensedia.com

Expor dados e serviços com segurançaEngajar desenvolvedoresProteger o seu backendGerenciar as dependências de APIs externasMonitorar o seu tráfegoEntender o uso das suas APIs

aaaaaa

Com o API Management Suite da Sensedia você consegue:

Page 20: Revista iMasters #13 - Fevereiro/2015

Não faz nem dois anos que o projeto Docker teve início, em março de 2013, e os contai-ners já parecem ser a nova hype tecnológica do momento. Não é para menos, pois em tempos de computação em nuvem, uma fer-ramenta que permite tamanha flexibilidade quanto o Docker é muito bem-vinda.

Tecnologias de containers permitem virtua-lizar um sistema operacional sem que seja necessário utilizar um hypervisor. Para isso, o sistema guest compartilha o mesmo ker-nel com o host e executa as camadas su-periores de bibliotecas e aplicações em uma espécie de sandbox que, na prática, isola ambos os sistemas de forma a executá-los de maneira independente. Contudo, como ambos compartilham do mesmo kernel, só é possível “virtualizar” sistemas do mesmo tipo, o que torna a técnica muito propícia à compartimentação de aplicações. Além disso, como não é preciso carregar o ker-nel do guest nem traduzir as chamadas de um sistema para o outro, como ocorre, por exemplo, na paravirtualização, há muito me-nos overhead, o que resulta em um maior desempenho e menor uso de memória.

A ideia não é nova. O FreeBSD já detinha uma implementação de containers chama-da Jails e o (Open)Solaris também possuía os Solaris Containers, ou Zones há alguns anos. Mesmo no mundo Linux, o OpenVZ já existe desde 2005, enquanto que o kernel Linux incorporou o suporte à tecnologia, ain-da de forma experimental, em 2009, na ver-são 2.6.24, com a implementação do LXC, ou Linux Containers.

Então, o que há de tão interessante em rela-ção ao Docker e o que justifica tanto buzz? O que diferencia o Docker de outras imple-mentações de containers são suas APIs, o que permite utilizar a ferramenta em um fluxo de trabalho muito semelhante a algo que boa parte dos desenvolvedores já estão acostu-mados quando fazem uso de utilitários de linha de comando como o Git. De forma semelhante a este, no Docker, é possível facilmente criar um ambiente de desenvol-vimento, “commitar” as mudanças e, uma vez concluído o trabalho, distribuí-lo através da rede para que colegas possam “clonar” o conteiner através da Internet, testá-lo e após a conclusão do mesmo, colocar toda a apli-cação em produção simplesmente copiando o container de um ambiente para outro.

Da mesma forma que os contêineres facilita-ram o comércio internacional ao padronizar uma unidade de distribuição e transporte de bens materiais, containers como o Docker têm a intenção de padronizar a distribuição de aplicações e serviços de software de ma-neira uniforme. Daí vem o nome Docker, ou estivador, em português. Em ambientes de cloud, o Docker é especialmente interessan-te, pois facilita o processo de deploy e mes-mo a migração entre diferentes fornecedores de nuvem, sejam elas públicas ou privadas. Basta mover o container que pode, inclusive, conter todas as dependências (interpretado-res, frameworks e até mesmo bancos de dados) para que sua aplicação execute de maneira autônoma.

Em dezembro de 2014,foi anunciado, du-rante a primeira DockerConf, o suporte ao

20 > Cloud

Containers: você ainda vai usar um! Por Kemel Zaidan, Evangelista Locaweb em tempo integral e de software livre nas horas vagas

Page 21: Revista iMasters #13 - Fevereiro/2015

Docker no Jelastic, a plataforma de cloud como serviço (PaaS) da Locaweb, que deve estar disponível aos clientes ainda no primeiro semestre de 2015. Por isso, se você ainda não uti-lizou o Docker, preparamos um tutorial rápido para que você possa tirar proveito de todo o poder que essa tecnologia oferec.

Tutorial

primeira coisa a fazer é instalar o Docker em seu sistema. No site do projeto há instruções de instalação para diversas plataformas. Tenha em mente que o Docker é uma implementa-ção de containers para o GNU/Linux e, caso esteja realizando a instalação em outro sistema operacional, este executará virtualização convencional sob o Docker, o que obviamente tem impacto no desempenho, apesar de permitir o uso da ferramenta em outras plataformas.

Uma vez com o Docker instalado, digite docker em uma janela do terminal para ver as opções disponíveis para a execução. Você verá que a sintaxe de muitas delas se assemelham com termos do git, como commit, diff, logs, pull, tag, etc.

O Docker possui um repositório online de imagens prontas, semelhante ao Github: o Docker Registry. A forma mais simples de iniciarmos é baixando uma dessas imagens para a nossa máquina.

Que tal baixarmos uma imagem com o NodeJS instalado? Dessa vez, digite docker pull node e veja que o download terá início. Ao final do processo você poderá confirmar que a imagem foi instalada digitando docker images:

Agora, se digitarmos docker run node npm -v e docker run node node -v veremos as versões do npm e do node sendo impressa em nosso terminal. O próximo passo é acessar o shell de nosso container. Para isso, digite:

A opção -t diz ao Docker para reservar um terminal virtual (TTY) e o -i para abrir uma sessão interativa. Vamos utilizar o npm para instalar o pacote bitly-cli, que é uma ferramenta simples, para encurtarmos uma URL através da linha de comando. Após a instalação, podemos testar o uso da ferramenta:

$ docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE

node latest b8a47fa0cdf3 10 days ago 778.7 MB

# docker run -t -i node /bin/bashroot@8fe314df42de:/#

root@8fe314df42de:/# npm install bitly-cli -g/usr/local/bin/bitly -> /usr/local/lib/node_modules/bitly-cli/lib/[email protected] /usr/local/lib/node_modules/bitly-cli|--- [email protected]@8fe314df42de:/# bitly -u “http://www.locaweb.com.br”You can access your short url at http://bit.ly/1qS5jSL

Cloud < 21

Page 22: Revista iMasters #13 - Fevereiro/2015

Se na sequência abrirmos uma nova aba do terminal e digitarmos docker ps veremos o resultado abaixo:

Perceba que CONTAINER ID exibido é o mesmo que aparece no prompt onde estamos co-nectados na outra aba. Está na hora de criarmos o nosso próprio container com o bitly-cli em-barcado. Crie uma conta ou faça login no Docker Registry ao digitar docker login e preencha os dados da conta. Em seguida, faça commit das alterações:

Você deve utilizar o seu próprio login e nome da imagem. Se digitar docker images nova-mente, poderá ver a imagen recém-criada. Para compartilhar a imagem com alguém, basta publicá-la no Registry: docker push kemelzaidan/artigo_docker. Se você digitar docker search artigo_docker, poderá ver a imagem que eu acabei de enviar:

Gostou? Pois há muito mais o que aprender sobre o Docker. Instale o programa, siga o tuto-rial, baixe a imagem que acabamos de subir e conte para nós o que achou do artigo. Suas aplicações estão esperando para subir às nuvens!

Saiba mais:Docker docker.com

Docker Registry registry.hub.docker.com/

FreeBSD Jails freebsd.org/doc/handbook/jails.html

Solaris Zones http://ow.ly/FZEqG

OpenVZ openvz.org

$ docker commit 8fe314df42de kemelzaidan/artigo_dockerc30cbbdfe63ed6448b9fbb8f88cbb7d46e39af2f1e898b153790a32e9fc867cd

$ docker search artigo_dockerNAME DESCRIPTION STARS OFFICIAL AUTOMATEDkemelzaidan/artigo_docker 0

CONTAINER ID PORTS IMAGE NAME COMMAND CREATED STATUS 8fe314df42de node:latest “/bin/bash” 12 minutes ago Up 12 minutes stoic_almeida

Kemel Zaidan é um pseudo-programador, metido a jornalista, com alma de artista e evangelista na Locaweb. [email protected] | @kemelzaidan

22 > Cloud

Page 23: Revista iMasters #13 - Fevereiro/2015

AF_Anu_Loja_170x245.indd 1 02/02/15 14:24

Page 24: Revista iMasters #13 - Fevereiro/2015

INTEGRAÇÃO CONTÍNUA:

MAIS ATUAL DO QUE NUNCA! Por Fabricio Leotti - Analista Sr. Continuous Delivery, Walmart.com

Page 25: Revista iMasters #13 - Fevereiro/2015

Seguindo os princípios e as boas práticas da Integração Contínua, os adequando à sua realidade, é possível mudar a cultura obter ganhos em todo o processo de desenvolvimento.

O assunto não é tão novo, mas mantém a sua importância: trabalhar com Integração Contínua causa um impacto positivo no pro-cesso de desenvolvimento, tornando o tra-balho mais eficiente e diminuindo o número de retrabalhos.

Em equipes que adotaram as metodologias ágeis, com XP e Scrum, a CI (Continuous In-tegration, na sigla em inglês) é um dos pilares da agilidade. Com ela, é possível garantir que o sistema funcione a cada build de forma con-sistente, mesmo com equipes que trabalham remotamente e que estejam mexendo em di-versas partes do código ao mesmo tempo.

Se a sua equipe ou empresa ainda não adotou uma metodologia ágil e a prática de Integra-ção Contínua, é preciso um trabalho intenso para mudar a cultura e introduzir esses novos conceitos. É necessário utilizar os princípios e as boas práticas estabelecidas pela técni-ca, o que pode levar algum tempo e mostrar obstáculos pelo caminho. Porém, boas práti-cas, quando aplicadas por tempo suficiente, podem ajudar a mudar a cultura dentro de uma empresa e a aumentar as chances de que uma iniciativa de introduzir novos con-ceitos (como os de Integração Contínua) seja bem sucedida.

Os princípios básicos da Integração Contínua são:

- Mantenha um repositório de versionamento de código

- Automatize o build

- Faça com que o build teste o código

- Todos depositam mudanças no código todos os dias

- Cada mudança entregue deveria passar pelo processo de build

- Mantenha o processo de build rápido

- Teste em um ambiente equivalente a produção

- Torne fácil a obtenção dos entregáveis mais recentes

- Qualquer um pode ver o resultado de um pro-cesso de build

- Automatize a entrega

Esses princípios, como quaisquer outros, servem para orientar, nortear as iniciativas e ações de Integração Contínua na empresa, mas dificilmente deixam claro como exata-mente agir para que sejam cumpridos. O papel de determinar como cada princípio ou grupo de princípios pode ser implementado é de um conjunto de práticas.

Dentro de um conjunto de práticas, há aque-las mais simples de executar, assim como as que estão mais ao alcance dentro do seu ambiente de trabalho, ou ainda as que ten-dem a dar os melhores resultados (em termos de efetividade e durabilidade). Essas são as práticas conhecidas como Boas Práticas, ou seja, comportamentos, atitudes e ações que podem ser usadas como modelos em diver-sas situações.

Neste artigo, vou apresentar diversas boas práticas relacionadas à Integração Contínua.

Princípio: mantenha um repositório de versionamento de código; todos deposi-tam mudanças no código todos os dias, cada mudança entregue deveria passar pelo processo de build

Boa prática: mantenha sua estratégia de branching simples

Capa < 25

Page 26: Revista iMasters #13 - Fevereiro/2015

Quando o assunto é controle de versão, sem-pre considere a possibilidade de usar, se já não usa, Git. Além de extremamente podero-so e fácil de usar, é o controle de versão do maior repositório de código aberto do mundo.

Existem muitas formas de organizar seu códi-go no Git, mas manter uma estratégia simples é a melhor escolha para facilitar a automação e reduzir as chances de erro e confusão no repositório. Uma estratégia muito conhecida é chamada de GitFlow. Apesar de muito ver-sátil, essa estratégia baseada em branches separados por ambiente/função exige um bom conhecimento de técnicas de merging e rebasing, e é recomendada para grupos com grande maturidade.

Mais simples e direto é utilizar um único bran-ch (master) em todo o ciclo de desenvolvi-mento, exceto por efêmeros feature branches rapidamente reintegrados ao branch master. Essa técnica possui a vantagem de reforçar a integração a um único branch continuamente e o uso constante de tags para marcar certos momentos do código, como releases, hot fi-xes e a adição de novas features. É vantajosa também se você usa um servidor de Integra-ção Contínua, como o Jenkins, pois facilita na padronização dos dados que seu pipeline recebe.

Princípios: automatize o build, automa-

tize a entrega, torne fácil a obtenção dos

entregáveis mais recentes

Boa prática: padronize seus entregáveis e a forma de levá-los até produção

Uma vez que seu código esteja entregue ao servidor de Integração Contínua, faça com que a saída dos dados após os testes e a aplicação de tags seja feita de maneira uni-forme. Sejam pacotes WAR, RPM ou DEB, ou ainda imagens de máquinas virtuais (AMIs

da AWS) ou de contêineres (usando Docker), garanta que todo o código possa sempre ser transformado em artefatos do mesmo tipo. Alguns artefatos são mais complexos que outros de serem gerados e mantidos e, em geral, começar por artefatos específicos de sistemas operacionais (RPM, DEB, MSI) é uma boa escolha.

Com o artefato de entrega definido, a próxi-ma etapa é garantir que ele seja gerado uma única vez, e também seja promovido e ins-talado em todos os ambientes necessários sequencialmente até a produção. Essas eta-pas sequenciais de promoção e instalação devem ser idênticas ou muito parecidas en-tre ambientes, de forma que você não esteja testando apenas o software, mas o próprio processo de entrega.

Princípios: faça com que o build teste o

código, mantenha o processo de build

rápido, teste em um ambiente equiva-

lente à produção

Boa prática: testes automatizados

É indiscutível que testar sua aplicação au-menta o nível da qualidade do produto final. Contudo, falar simplesmente em testar pode ser subjetivo demais, já que se todos os seus testes forem longos e repetitivos testes de re-gressão manuais que o analista de QA execu-ta, ou se você tiver uma estratégia de testes incompatível com o ciclo de vida e as neces-sidades do seu produto, você ainda poderá dizer que sua aplicação possui testes.

O mais indicado é estabelecer uma estraté-gia de testes, ou seja, definir e discutir quais os tipos de testes expressam a melhor forma de manter alta a qualidade na entrega. Com uma estratégia bem definida, é muito impor-tante que todos os (ou o máximo possível de) testes sejam automatizados. Isso pode sig-

26 > Capa

Page 27: Revista iMasters #13 - Fevereiro/2015

nificar rodar os testes de forma automática localmente, mas idealmente significa deixar o servidor de Integração Contínua realizar todos os testes automatizados toda vez que um có-digo novo for adicionado ao repositório. Isso ajuda a manter a qualidade ao longo das di-versas integrações de código.

O processo de executar testes automáticos deve ser rápido, levando apenas alguns mi-nutos. Essa rapidez vai determinar o tempo que os desenvolvedores levam para saber se está tudo bem após a inclusão de novas linhas de código, e também vai definir quan-tas vezes é possível executar o conjunto de testes. Testes mais demorados e complexos podem ser executados fora do ciclo principal de build da aplicação, até mesmo em am-bientes e horários pré-determinados. Entre-tanto, testes simples nunca devem ser trata-dos dessa maneira.

O ambiente em que você executa seus tes-tes automatizados deve refletir muito bem o ambiente onde o código será executado posteriormente, em produção. Mas entenda que os ambientes não precisam ser idênti-cos (embora possam ser, idealmente). É ne-cessário conhecer quais variáveis interferem no funcionamento da aplicação e fazer com que estas sejam o mais próximo possível dos servidores de produção. Um exemplo é que seu ambiente de testes deve possuir o mes-mo sistema operacional (incluindo a versão) que seus servidores de produção. Para tes-tes de integração entre diversas aplicações e suas dependências, também é importante que a arquitetura de infraestrutura escolhida para a produção seja a mesma dos ambien-tes de teste.

Princípios: qualquer um pode ver o resul-

tado de um processo de build

Boa prática: métricas

A necessidade de possuir métricas a respeito do desenvolvimento e do ciclo de vida da apli-cação é geralmente ignorada. E é exatamente o fato de ignorar métricas que faz com que as técnicas e os comportamentos associados à Integração Contínua muitas vezes pareçam trazer poucos resultados.

Como saber que o tempo do ciclo de desen-volvimento diminuiu se o lead time não é me-dido e exposto com frequência? Como saber que usando técnicas de Integração Contínua a qualidade do software entregue aumentou se não estamos acompanhando a quanti-dade de erros encontrados nas etapas au-tomatizadas de testes ou erros encontrados em produção?

Possuir métricas de código (complexidade ciclomática, cobertura de testes unitários e integrados), temporais (tempo de execução de builds do servidor de Integração Contínua, lead time, cycle time), de entrega (quantidade de entregas realizadas com sucesso e com falha, quantidade de erros corrigidos e adicio-nados em produção após uma entrega) e de testes (número de bugs encontrados, número de bugs em correção e corrigidos) é impres-cindível para quem pratica e, em especial, para quem ainda precisa convencer superio-res e pares de que as práticas de Integração Contínua são importantes para melhorar a qualidade do código e do produto final.

Conclusão

Existem muitas técnicas diferentes que po-dem ser usadas para colocar em prática os princípios que listei aqui. Não há um único caminho, e nenhum caminho escolhido vai ser percorrido sem que seja necessário apli-car mudanças na forma como sua equipe ou sua empresa pensa, gerencia e entrega suas aplicações.

Comece pelas práticas mais fáceis de im-

Capa < 27

Page 28: Revista iMasters #13 - Fevereiro/2015

plantar para a sua realidade. Talvez seja subir a cobertura de testes do código, talvez seja colocar todas as aplicações pra serem entre-gues pelo servidor de Integração Contínua ou talvez seja espalhar pelo ambiente de traba-lho monitores que mostram métricas para in-formar às pessoas que elas podem melhorar a qualidade e o processo de entrega.

Isso feito, tenha em mente duas coisas im-portantes: primeiro, a obtenção do com-portamento e das práticas depende direta-mente da cultura e do significado que esse processo tem para as pessoas. Ferramentas instaladas não vão resolver o problema se as pessoas não entenderem por que estão fa-zendo aquilo.

Segundo, não desista. Leia e informe-se so-bre as técnicas que quiser aplicar e tenha paciência com quem ainda não entendeu e não tem o mesmo comportamento que você. Evite assumir a postura de “nós contra eles” e tente mostrar que todos estão no mesmo barco, independentemente se ele vai segura-mente para o próximo porto, ou se vai direto para o centro da tempestade.

Leitura recomendada

Continuous Integration: Improving Software

Quality and Reducing Risk

http://ow.ly/IgxRF

Pro Git (ebook para download)

http://ow.ly/IgxYx

A successful Git branching model (GitFlow)

http://ow.ly/Igy6H

Princípios da Integração Contínua

- Mantenha um repositório de versionamento de código

- Automatize o build

- Faça com que o build teste o código

- Todos depositam mudanças no código todos os dias

- Cada mudança entregue deveria passar pelo processo de build

- Mantenha o processo de build rápido

- Teste em um ambiente equivalente a produção

- Torne fácil a obtenção dos entregáveis mais

recentes

- Qualquer um pode ver o resultado de um

processo de build

- Automatize a entrega

Fabricio Leotti atua na equipe de Continuous De-livery no Walmart.com. É biólogo formado pela USP e programador há quase 15 anos. Como biólogo, é apaixonado pelos processos simples e enxutos, com potencial adaptativo e capazes de integrar sistemas diversos. Como programa-dor, é um eterno insatisfeito com os processos repetitivos e manuais que as empresas insistem em manter em detrimento à entrega de produtos com alta qualidade e fácil manutenção. Como ser humano, decidiu juntar as duas coisas para ser um profissional melhor e dominar o mundo. github.com/lonefreak | @lonefreak

28 > Capa

Page 29: Revista iMasters #13 - Fevereiro/2015

MBA FIAP: TECNOLOGIA, EMPREENDEDORISMO E INOVAÇÃO.

Faça um MBA que tem credibilidade em todo mercado, que será um referencial na sua carreira e que apresenta extensões inovadoras e reconhecidas mundialmente.

São 17 cursos de MBA, recomendados pelo MEC, pela mídia especializada e por quemmais importa: o mercado de TI.

Corpo docente altamente qualificado, infraestrutura completa, parcerias com as principais empresas de Tecnologia, comoIBM, SAP, Oracle, Microsoft, entre outras,

além de quatro unidades localizadas nos principais centros de negócios de São Paulo. Ao final de cada curso, você pode optar por complementar seu MBA em Nova Iorque, Londres, Estocolmo ou Singapura no programa Hyper Island – Digital Acceleration; ou então, em Boston, no Babson Build, da Babson College.

São oportunidades únicas de desenvolvimento de networking global, aprendizado e intercâmbio cultural.

FAÇA SUA ESCOLHA. VAGAS LIMITADAS.

www.fiap.com.br/mba • www.fiap.com.br/shift

ANDERSON PAULUCCI

FABIANO MILANI ANDRÉ COUTINHO

SHIFT YOUR SUMMER

DESENVOLVIMENTO DE APLICATIVOS IOS COM SWIFT

DESENVOLVIMENTO DE APPS ANDROID

GESTÃO DE PROJETOS - PMI

BIG DATA COMECOSSISTEMA HADOOP E NOSQL

FUNDAMENTOS SCRUM PARA PROJETOS

DESIGN THINKINGNA PRÁTICA

TECNOLOGIA TECNOLOGIA

GESTÃO DE PROJETOS INOVAÇÃO

TECNOLOGIA

GESTÃO DE PROJETOS

JULIANA CHAHOUD

ANDERSON PAULUCCI

ARMANDO NAZARÉ

A FIAP também oferece cursos de verão, que abordam algumas das tecnologias mais demandadas pelo setor de TI. Todos apresentados por profissionais que são referência no mercado.

CURSOS DE CURTA DURAÇÃO

MBA_15jan2015Anuncio_SHIFT_FINAL.pdf 1 1/15/15 17:54

Page 30: Revista iMasters #13 - Fevereiro/2015

Uma nova era em desenvolvimento web. É assim que muitos profissionais classifi-cam o Web Components, um novo padrão que promete solucionar problemas como o de Componentização, além de transfor-mar o desenvolvedor num verdadeiro “web maker”, permitindo criar seus próprios ele-mentos HTML customizados, independen-tes e reutilizáveis.

O novo Web Components é composto por quatro novas especificações: Custom Ele-ments, HTML Imports, Templates e Shadow DOM. O problema é que esses padrões ain-da não são compatíveis com todos os bro-wsers, com mais dificuldades no Internet Explorer e no Safari. Apesar disso, algumas empresas já atuam com essas novidades, como é o caso da Salesforce e do Github.

Como é possível utilizar os pa-drões de Web Components se ele ainda não é suportado por todos navegadores?

Mas como é possível utilizar os padrões de Web Components se ele ainda não é supor-tado por todos navegadores?

O segredo está no uso dos polyfills, que oferecem as facilidades ainda não imple-mentadas no browser. E é nesse cenário que o Polymer mostra suas vantagens e qualidades.

Entendendo o Polymer

Mantido e criado pelo Google, o Polymer é uma biblioteca com diversos recursos para o desenvolvimento de Web Components. Composta por várias layers, a ferramenta permite a utilização de cada uma do jeito que o desenvolvedor desejar, facilitando e ampliando a criação de seus próprios com-ponentes apenas com HTML.

- A camada Foundation consiste em um conjunto de polyfills, que permitem as nor-mas de Web Components, para utilizar a fer-ramenta no cenário atual dos browsers.

- Já a camada de controle Core oferece uma rica e fácil interação do polyfill, permitindo construir “componentes encapsulados” e desenvolver super elementos customizados.

- A layer Elements oferece uma API para facilitar o desenvolvimento de novidades,

30 > Desenvolvimento

Polymer: Como essa novidade te ajudará no desenvolvimento de Web Components Por Bruno Silva Saes, Redator do Grupo Impacta Tecnologia

Page 31: Revista iMasters #13 - Fevereiro/2015

além de conter os elementos já criados – que podem ser reutilizados e servir como exemplo de boas práticas na construção dos web components.

- A camada final, chamada de Applications, é a parte em que o desenvolvedor constrói os apps de web utilizando uma coleção de elementos da ferramenta.

O Polymer torna muito mais simples a tare-fa de criar componentes da Web, deixando o processo mais declarativo e semântico, já que os elementos são definidos utilizando a tag <polymer-element>, permitindo apro-veitar seus recursos especiais como trazer a tag <template> e os esquemas Two-way Data Biding, Animação Nativa e Isolamento Real do Elemento pelo Shadow DOM.

O Polymer mostra como é fácil criar aplicativos

Se você achou a ferramenta do Google in-teressante, que tal começar a criar e entrar nessa nova era do desenvolvimento web? Quem te ensina isso é o próprio Polymer.

Conforme dito na página oficial, você come-ça a utilizar os elementos em apenas 30 se-gundos, bastando encontrar um componen-te e importar sua definição em sua página por meio de um HTML Import. Em seguida, os custom elements tornam-se elementos HTML de primeira classe e podem ser usa-dos como qualquer outro.

O próximo passo é criar os elementos “cus-tomizados” do Polymer, utilizando os pa-drões de Web Components, o que – ainda segundo o site – pode ser feito em 5 mi-nutos. Em seguida, a página apresenta um tutorial bem descritivo e intuitivo, permitindo que você desenvolva o aplicativo para uma rede social em um tempo de 30 minutos.

Para completar, o site ainda destaca o proje-to de design utilizado para a web, chamado de paper elements, que é totalmente anco-rado nos conceitos de UI – interface do usu-ário. Além disso, você ainda é apresentado à ferramenta Designer que permite arrastar e soltar suas aplicações do Polymer e ain-da salvar e compartilhar suas experiências como Github Gists.

Criações simples, bonitas e clean

O interessado pode ter uma ideia do que é possível fazer com algumas demos dispo-níveis no site do Polymer. Uma delas é um divertido aplicativo de quiz, chamado de To-peka, que foi todo construído com base no material de design paper elements.

Desenvolvimento < 31

Page 32: Revista iMasters #13 - Fevereiro/2015

Outra demonstração de aplicativo web é

uma criação para apresentar o próprio mate-

rial de design do Polymer, o paper-elements.

Construído de forma bastante descritiva, o

app te mostra, de forma simples, todos os

detalhes do projeto.

O terceiro app é simplesmente uma calcu-

ladora, mas que, com design e interação in-

críveis, deixa os cálculos mais divertidos e

bonitos.

Vendo como essas criações são bonitas,

funcionais e simples, você também precisa

testar a ferramenta. Veja mais informações o

tutorial completo no site polymer-project.org

32 > Desenvolvimento

Bruno Silva Saes é formado jornalista e atua como redator publicitário na equipe de marketing do Grupo Impacta Tecnologia, além de escrever diariamente para o blogimpacta.com.br. Colaboraram: Adam Junqueira (revisão) e Wilson Divino (detalhes técnicos). [email protected]

Web Components, Polymer...

Se tudo isso é novidade para você,

entenda um pouco melhor os termos:

Web Components: É um novo padrão

para o desenvolvimento em web, que

permite o profissional criar seus ele-

mentos em HTML.

Ploymer: É um polyfill do Google para

o desenvolvimento dos padrões de Web

Components em qualquer navegador,

permitindo criar componentes apenas

com HTML, de maneira simples e fácil.

Polyfill: Um código para download que

oferece as facilidades ainda não imple-

mentadas em navegador, proporcionan-

do ao desenvolvedor a possibilidade de

criar em qualquer brownser.

Page 33: Revista iMasters #13 - Fevereiro/2015
Page 34: Revista iMasters #13 - Fevereiro/2015

É comum ouvirmos que todo software tem bugs e falhas. Parece que todos os siste-mas possuem alguma maldição ancestral que nos faz sofrer com isso. Nossas defesas são quase sempre ineficientes: mesmo que tratemos de todas as exceções sintáticas, outras que estão para além da nossa alça-da ainda aparecem. Será que essa maldição não tem nenhuma tolerância?

Para desenvolver sistemas de telecomu-nicação tolerantes a falhas, um grupo de pesquisa da Ericsson estudou por volta de 20 linguagens de programação a fim de en-contrar qual seria a melhor plataforma para seus requisitos. Isto ocorreu na primeira me-tade da década de 80 e o veridito foi que nenhuma linguagem possuía tudo o que eles precisavam. Criaram, portanto, o Erlang, para codificar sistemas que possuem nove noves de disponibilidade (ou 99,9999999% de uptime).

Será que eles não eram suficientemente ver-sados nessas quase 20 linguagens? Será que um try/catch global não resolveria? Apa-rentemente não. Tudo indica que eles esta-vam certos em criar uma plataforma nova, pois ela influenciou diversas outras lingua-gens ditas orientadas à concorrência pelo modelo de ator e mensagem. O que eles perceberam é que o menor sistema tole-rante a falhas é um sistema que executa em duas máquinas diferentes (e não simples-mente um try/catch global). Por mais que cuidemos de tudo aquilo que é executado em nosso sistema, não podemos garantir que um disco rígido não se corrompa, por exemplo. Então, para mitigar as possibilida-

des de falhas, precisamos de um sistema distribuído, paralelo e concorrente.

O sucesso da plataforma é muito grande dentro da Ericsson, porém nem tão grande fora da empresa. Apesar de ser um proje-to open source desde 1997, o Erlang não possui uma das maiores taxas de adoção da indústria. Quem normalmente leva a cul-pa por esse fato é a sintaxe da linguagem. Ela é, no mínimo, um tanto quanto diferen-te do que as pessoas estão acostumadas. Apesar de ser uma linguagem muito sucinta (poucas palavras reservadas, uma bibliote-ca padrão pequena, porém completa, etc), sua sintaxe foge dos padrões “C”. Quer ver um exemplo?

-module(ola_mundo). -compile(export_all).diz_ola(Nome) -> io:print(“Olá ~p~n”, [Nome]).

(Será essa sintaxe tão estranha assim????)

Enfim, há outros que dizem que o proble-ma é a linguagem ser funcional, outros que reclamam do suporte a testes, outros da nomenclatura utilizada, outros da falta de tooling e etc. Fato é que muitos encontram problemas para se iniciar neste mundo con-corrente, paralelo e distribuído.

34 > Linguagens

A maldição da linguagem e o ElixirPor Victor Nascimento - Consultor especialista em Android da Concrete Solutions

Page 35: Revista iMasters #13 - Fevereiro/2015

Enquanto de um lado o problema de distri-buição estava resolvido (e por conseguinte a tolerância a falhas), de outro a facilidade de uso era o que estava em alta. José Va-lim, um core commiter do Rails, tinha muita facilidade para trabalhar com Ruby. O ferra-mental é uma prioridade na plataforma, pos-sui uma sintaxe amigável (apesar de não ser como “C”) e uma grande comunidade. No entanto, quando foi incumbido de melhorar a performance multi-threaded da plataforma, ele percebeu que se virar com threads, lo-cks, mutexes e outros construtos concor-rentes não é nada fácil. Assim ele também foi procurar uma plataforma que lhe facilitas-se a vida.

Talvez não tenha sido 20 linguagens que te-nha visto, mas ele também chegou à mes-ma conclusão: criaria uma nova linguagem que executaria na máquina virtual do Erlang. Ele queria manter a facilidade de desenvol-vimento que tinha com Ruby e Rails mas em uma plataforma nativamente distribuída, concorrente e paralela. Daí surgiu o Elixir!

Revisitando o exemplo, agora em Elixir:

defmodule OlaMundo do def diz_ola(nome) do IO.puts “Olá #{nome}” endend

A estrutura é simples e muito familiar para quem já lê código Ruby. Não há classes e objetos, mas certamente ele criou uma pon-te principalmente para a comunidade de ru-bistas. Ficou mais fácil obter as vantagens da plataforma Erlang.

Claro que, como todo bom artista, ele não mudou apenas a sintaxe da plataforma, mas também incluiu alguns ingredientes pró-prios que ele sentia falta em Erlang puro: metaprogramação, polimorfismo (por meio de protocols), macros para a extensão da linguagem (influenciado por macros em Lisp) e uma estrutura padrão de projetos com todo o ferramental incluso (testes, configu-ração de ambientes, definição de dependên-cias e etc).

Com tudo isso, talvez cada um de nós con-siga criar o próximo servidor que irá aguentar 2 milhões de usuários simultâneos em ape-nas um “box” (máquina), como é o caso do WhatsApp. Talvez este número pareça de-magogia, mas isso é possível por meio do modelo de concorrência da plataforma. Ao invés de nos basearmos em threads de exe-cução nativas, a VM do Erlang se baseia em processos leves que ela mesma gerencia. Estes processos são extremamente leves pois não compartilham nenhum estado. Isso assusta quem está acostumado a compar-tilhar estado usando objetos (e os acessan-do de diferentes threads), mas na verdade é muito simples: cada processo possui uma caixa de mensagens (como um e-mail) e só se comunica com outros processos envian-do mensagens. Então, ao invés de criarmos uma instância de um objeto Thread e iniciá--lo, fazemos o seguinte:

# 1 - guardamos uma referencia ao processo atual

parent = self()# 2 - criamos um processo com spawn_linkspawn_link(

Linguagens < 35

Page 36: Revista iMasters #13 - Fevereiro/2015

fn -> send parent, {:msg, “hello world”}end)

# 3 - aguardamos receber a resposta e imprimimos no console receive do {:msg, contents} -> IO.puts contentsend

Explicando em detalhes (podemos exe-cutar estas linhas no próprio shell do Elixir que iniciamos com o comando iex):

1. Pegamos uma referência ao processo atual (se executado no shell teremos o id do processo do shell);

2. Criamos um processo que executará uma função;

3. Definimos a função que será executa-da no processo como uma função que envia uma mensagem para o processo que tem o id guardado em parent (aquele que guardamos no primeiro passo);

4. Fazemos o processo bloquear até que chegue uma mensagem (que deverá acontecer instantaneamente já que en-viamos a mensagem no passo 3).

Parece difícil? Fizemos um exemplo com pouquíssimas linhas que distribui um pro-cessamento. Podemos evoluir o exemplo para que cada processo esteja execu-tando em nós de Elixir diferentes. A pla-

taforma foi pensada com essa distribuição desde o início e a sintaxe agora não é mais desculpa! Nem o ferramental, nem a co-munidade, nem a disponibilidade de biblio-tecas e etc, etc, etc. Bem-vindo ao mundo dos alquimistas!

Veja também:

• Vídeo - Joe Armstrong explicando sobre tolerância a falhas - http://ow.ly/Gau9b

• Erlang - http://erlang.org/

• Elixir - http://elixir-lang.org/

• Talk do José Valim sobre os aspectos do Elixir - http://ow.ly/Gaujl

36 > Linguagens

Victor Nascimento é consultor especialista da Concrete Solutions, desenvolvedor Java e Android por experiência e Erlang por paixão. Bacharel em Filosofia (por opção!), acredita que o mundo das linguagens de programação anda se esquecendo muito do lado “linguagem” e se focando muito em “programação”. blog.concretesolutions.com.br | [email protected]

Page 37: Revista iMasters #13 - Fevereiro/2015
Page 38: Revista iMasters #13 - Fevereiro/2015

O Big Data trouxe uma nova era para a Com-putação: a exploração dos dados para me-lhorar o processo de tomada de decisão nas organizações. Isso está longe de ser uma novidade, mas a computação evoluiu a pon-to de fazer com que diversas tecnologias se relacionassem para permitir o acesso e uso dos dados em um volume, uma variedade e com a velocidade cada vez maior.

A Análise Preditiva é uma técnica estatística para modelar e encontrar padrões que uti-liza dados históricos para realizar previsões de tendências, padrões de comportamento ou eventos futuros. Desde o final século XIX, utiliza-se este tipo de técnica para apoiar o processo de gestão de negócios.

A Análise Preditiva é uma técnica estatística para mod-elar e encontrar padrões que utiliza dados históricos para re-alizar previsões de tendências, padrões de comportamento ou eventos futuros

No final da década de 60, houve uma maior atenção a este tema devido ao surgimento dos primeiros sistemas de suporte à de-cisão, e depois com os sistemas ERP (en-terprise resource planning) e DW (data wa-rehouses). Desde então, diversos produtos relacionados à gestão dos dados, especial-

mente aqueles voltados para Modelagem Preditiva, têm surgido.

A Modelagem Preditiva utiliza-se de esta-tística e modelos matemáticos para prever resultados futuros. Basicamente, escolhe-se o melhor modelo fundamentado na probabi-lidade de um resultado ocorrer conforme um conjunto de dados de entrada. Esses mode-los utilizam um ou mais classificadores que avaliam a probabilidade de um conjunto de dados pertencerem a outro conjunto.

Estas técnicas de previsão são muito úteis e, infelizmente, pouco utilizadas no Brasil. Al-gumas possíveis aplicações para estas pre-visões estão nas seguintes áreas:

• CRM (Customer Relationship Manage-ment): prever o cancelamento de uma assi-natura, por exemplo.

• Seguros: medir riscos de incidentes base-ado no perfil do segurado.

• Saúde: medir o risco de pacientes terem recaídas no tratamento.

• Varejo: identificar a relação entre produtos adquiridos.

• Finanças: identificar fraudes, por exemplo, em cartões de crédito.

Contudo, situações como estas se limitam a realizar previsões que podem ajudar a to-

38 > Dados

Modelagem preditivae produtos relacionados aos dados Por Celso Poderoso, Coordenador de MBA na FIAP

Page 39: Revista iMasters #13 - Fevereiro/2015

Celso Poderoso é coordenador dos cursos de MBA da FIAP (Arquitetura de Redes e Cloud Computing, Big Data - Data Science -, Business Intelligence) e professor dos cursos de pós- graduação da FIAP. É mestre em Tecnologia, especialista em redes sociais aplicadas à Educação e economista. Atua desde 1984 na área de TI, especialmente em desenvolvimento de sistemas e banco de dados Oracle, atualmente é gerente de serviços na MicroStrategy. Possui cinco livros publicados na área de banco de dados, como SQL Curso Prático e Oracle PL/SQL 10g,todos editados pela Novatec Editora. www.fiap.com.br | [email protected]

Leia mais

Cloud Computing - http://ow.ly/GbiWn

Big Data – Arquitetura do ambiente - http://ow.ly/GbiSN

A gestão de projetos de Big Data - http://ow.ly/GbiPG

mar decisões, evitar situações indesejáveis, ou até mesmo diminuir o risco de operações das organizações.

Há espaço para um passo além quando se imagina um processo de tomada de decisão orientada para a prescrição de ações. A ideia central por trás disto é que haja sistemas que além de gerar mais dados (na forma de previsões), sejam capazes de produzir orien-tações para se atingir resultados.

Uma das técnicas utilizadas para esta fina-lidade é a abordagem Drivetrain, que ficou amplamente difundida com o gigante e sua máquina de buscas conhecido como Goo-gle. Os quatro passos para esta adoção des-ta abordagem são:

• Qual o resultado que se quer alcançar: definir o objetivo sem se importar com as restrições ou qualquer limitação existente. É uma questão de negócio que precisa es-tar alinhada com uma necessidade real da organização.

• Quais são os elementos que podem ala-vancar o processo (alavancadores): iden-tificar quais as variáveis de entrada que se tem controle e, portanto, importantes utilizar para atingir o objetivo. É fundamental listar todas as que tenham qualquer nível de influ-ência no resultado esperado. É possível que em algumas destas variáveis não se tenha o controle completo.

• Quais são os dados necessários: localizar os dados que podem ser coletados e utiliza-dos no modelo ou os dados que ainda não existam, mas que sejam necessários. Em um primeiro momento, é possível que nem todos os dados estejam disponíveis ou que seja necessário um esforço muito grande para consegui-los. Este é o passo no qual se vincula o que se deseja com o que é possí-vel em termos de dados, e ter uma visão do

que será necessário produzir para alcançar o objetivo.

• Criar os modelos: vincular os alavancado-res do processo com os dados disponíveis para criar os modelos adequados para atin-gir o objetivo.

Os modelos gerados serão formados por si mesmos e também pelas variáveis de en-trada (alavancadores). Normalmente será gerado mais de um modelo para acomodar as variáveis de entrada. Os resultados des-tes modelos devem ser combinados para prever e indicar a prescrição da ação espe-rada (objetivo). A prescrição será o resultado das iterações realizadas através de cada um dos modelos utilizados até se atingir o obje-tivo final.

Dados < 39

Page 40: Revista iMasters #13 - Fevereiro/2015
Page 41: Revista iMasters #13 - Fevereiro/2015

No Fórum Mundial de Economia de 2004, Bill Gates afirmou que em dois anos o spam seria um problema resolvido. Ele se referia a 2006 como o ano em que todos estaría-mos livres dos spams definitivamente. Mas aqui estamos, mais de 10 anos depois, sofrendo diariamente com essa praga vir-tual, seja em nossos desktops, notebooks ou smartphones.

Então, fica a pergunta: se até o Bill Gates se enganou sobre o potencial de reciclagem e renovação dos spammers, será que algum dia ficaremos completamente livres dos e--mails indesejados? Mas, antes de falarmos mais sobre esse assunto, vamos ver alguns fatos e curiosidades sobre esse universo.

Um pouquinho de história: o primei-ro spam a gente nunca esquece

Existem diversas teorias sobre quem enviou o primeiro spam e as mais famosas afirmam que Gary Thuerk, ex-gerente de marketing da Digital Equipment Corporation (DEC) pode ser chamado de pai do spam.

Gary foi o primeiro profissional de marketing que idealizou e operacionalizou a divulgação de seus produtos para uma lista de poten-ciais clientes em 1978. Ele divulgou uma nova linha de computadores e produtos de informática para aproximadamente 400 en-dereços de email, o que na época represen-tava quase todos os usuários da ARPANET da costa oeste americana.

Porém, outras pessoas acreditam que o pri-meiro spam foi disparado por Laurence Can-

ter e Martha Siegel, advogados de imigração norte-americanos em 1994 e ficou conheci-do como Green Card Lotery Spam. Conside-rado o primeiro spam em larga escala, esta mensagem foi disparada para 6 mil e-mails através de um software/código escrito por um hacker contratado exclusivamente para esse objetivo.

Os spammers – quem são e o que fazem

Segundo a Spamhaus, uma das maiores organizações que lutam contra os spams no mundo, dos 10 maiores spammers em atuação, apenas 3 tiveram suas identidades descobertas: Yair Shalev (Kobeni Solutions), Dante Jimenez (Aiming Invest aka Neo Web Marketing) e Michael Lindsay (iMedia Ne-tworks aka Dialwave International e Data Advantage). Todos dos EUA, mais especifi-camente da Flórida

O que você já sabe sobre antispam

A maioria dos profissionais responsáveis pelos e-mails, pelas redes e pela cibersegu-rança já reconhece a importância dos filtros antispam e sabe o quanto essa ferramenta pode colaborar no aumento da segurança dos ambientes de e-mail corporativos. Eles sabem que além de prevenir contra ataques, o antispam também pode contribuir na eco-nomia de recursos de hardware, banda, eco-nomizando tempo e dinheiro.

A cada dia que passa, as ferramentas an-tispam estão mais acessíveis, automatizadas e independentes, exigindo cada vez menos recursos financeiros (tanto para aquisição

Spam: provando que Bill Gates estava errado Por Mariana Sousa e Eder Miranda, da Unodata AntiSpam

Gestão < 41

Page 42: Revista iMasters #13 - Fevereiro/2015

42 > Gestão

quanto para a manutenção) e tempo dos administradores, que só precisam configurar a ferramenta uma única vez. E grande parte

Antispam na nuvem ou em software? A melhor op-

ção é você quem escolhe

O antispam na nuvem reduz consideravelmente

o custo de aquisição e proporciona uma mobilida-

de/ acessibilidade impensável com a modalidade

de software.

Entretanto, muitos profissionais ainda não migra-

ram seus sistemas para a nuvem alegando que a

falta de controle do perímetro e a perda da priva-

cidade ainda são fatores que geram duvidas na

confiabilidade desse sistema, influenciando nega-

tivamente na escolha entre as modalidades.

Por isso é tão importante as organizações que

lidam com segurança de email oferecerem solu-

ções híbridas, para que os técnicos e analistas

escolham a modalidade que mais se encaixa nas

dessa evolução deve-se pela popularização da modalidade em nuvem dos antispams.

suas necessidades e restrições.

Pagar ou não pagar, eis a questão

Vale lembrar que existem diversas opções de an-

tispam gratuitos, como por exemplo, SpamAs-

sassin e Spam Fighter, além das opções embu-

tidas nas plataformas de e-mail, como o Zimbra,

Exchange e Google Apps. Porém, dependendo

do volume de spam recebido, tais opções apre-

sentam sérias limitações e em alguns casos, não

apresentam resultados satisfatórios.

As opções gratuitas são mais indicadas para aque-

les profissionais que possuem grande conhecimen-

to e experiência na área e que já possuem certo

grau de autonomia em relação à configurações

básicas, como por exemplo: whitelist, greylist, bla-

cklists, RBL e quarentena. Agora, se você não é es-

Veja o caminho que um e-mail percorre até chegar a caixa de entrada de seus usuários:

ETAPAS DE VERIFICAÇÃO - ANTISPAM

Page 43: Revista iMasters #13 - Fevereiro/2015

pecialista no assunto e não tem muito tempo para

aprender, as opções pagas oferecem um grande

diferencial: o suporte e as atualizações diárias. Em

alguns casos, ter uma equipe para solucionar even-

tuais problemas pode fazer toda a diferença...

O que você (talvez) não sabia sobre antispam

O que você talvez não saiba sobre as ferramentas

antispam é que, além de servir de gateway, pode

exercer diversas funções complementares, como

por exemplo, backup e criptografia de e-mails confi-

denciais, além de facilitar auditorias e proteger a re-

putação do seu IP/domínio com os filtros de saída.

Backup de e-mails: precaução ou obrigação?

Se você trabalha com provedores de internet ou de

aplicações, você já deve saber que o Marco Civil da

Internet, aprovado em abril do ano passado, obriga

os provedores a guardar os registros de conexão

por 1 ano e os registros de acesso a aplicações

de internet pelo período de 6 meses, conforme as

Subseções I e III do Capítulo III da Lei Nº 12.965, de

23 de abril de 2014.

E a pergunta que não quer calar: um dia, os spams vão acabar?

Infelizmente, não. Conforme surgem novas tecno-

logias, surgem novos tipos de spam. Os spammers

possuem um enorme potencial e uma criatividade

ainda maior para reinventar essa prática, que por

incrível que pareça existe há quase 40 anos.

Mesmo com todo o avanço que as ferramentas

antispam tiveram nos últimos anos, acompanhan-

do a evolução dos demais serviços de telecomu-

nicações (como telefonia e internet), atualizando-

-se constantemente e agregando cada vez mais

serviços, existe um diferencial nos spammers que

os fazem crescer mais rápido do que as soluções:

a busca por reconhecimento na comunidade

(causada pelos roubos de dados e invasões), além

de gerar uma receita rápida e com baixo risco

de punição.

E a facilidade de acesso a softwares maliciosos no

Brasil e o baixo custo para manter uma operação

dessas, aliado ao grande volume de mensagens de

e-mail trocadas diariamente (mesmo após o surgi-

mento do Facebook e WhatsApp) faz com que en-

viar spams ainda seja uma atividade relativamente

lucrativa e longe de ser extinta.

Parece que dessa vez o Bill Gates errou

na previsão...

Principais técnicas de Spam

• Snowshoe: espalhar mensagens através de uma

ampla variedade de endereços de IP e domínios a

fim de evitar listas de bloqueios e sistemas de re-

putação

• Botnet: um conjunto de computadores compro-

metidos onde um software malicioso permanece

em execução, explorando vulnerabilidades do na-

vegador web, via worms, cavalos de troia ou ba-

ckdoors, sob o comando de uma infraestrutura de

controle.

• Seqüestro (hijacking) de interfaces CGI (Common

Gateway Interface): Scripts de CGIs são modifica-

dos através da adição e controle de variáveis de

configuração ou de campos de entrada pelo usu-

ário

• Protocolo de roteamento BGP (Border Gateway

Protocol): conhecida como injeção de rota BGP ou

seqüestro de sistema autônomo, onde seqüestra-

-se faixas de endereços IP válidos que não estejam

sendo utilizados e invade um roteador com falhas

de segurança para ser responsável por essa faixa

de endereços.

Mariana Sousa é pós-graduanda em Engenharia de Marketing, especializada em content e inbound marketing. [email protected] | @mari__sousa

Eder Miranda é CEO e fundador da Unodata, possui mais de 8 anos de anos de experiência na área de segurança para e-mail. [email protected]

Gestão < 43

Page 44: Revista iMasters #13 - Fevereiro/2015
Page 45: Revista iMasters #13 - Fevereiro/2015

O seu software está protegido?

Cyberlaw < 45

Quando se fala em software ou aplicativos, sempre vem à nossa mente que, de certa forma, trata-se de um bem dos mais facil-mente violáveis. É muito fácil copiá-los, e as versões piratas desse tipo de software constituem hoje a maioria das cópias que circula no mundo.

A tamanha dependência dos países e em-presas da tecnologia digital transformou a necessidade de normas de proteção à pro-priedade intelectual em exigência da própria atividade econômica que advém de transfe-rências de tecnologia, controle de merca-dos e, principalmente, resultados financei-ros das corporações.

Você não gostaria que, após meses ou anos de desenvolvimento daquele sensacional aplicativo, o seu verdadeiro pulo do gato, a poucas semanas do lançamento do progra-ma no mercado, um concorrente apareces-se com um sistema absolutamente similar, subtraindo seus potenciais clientes.

É claro que você poderá demonstrar a um juiz ou árbitro que sua versão é a original, mas isso demandará tempo e, principal-mente, recursos financeiros em um proce-dimento pericial complexo.

Mas isso poderia ser facilitado?A legislação brasileira equipara os progra-mas de computadores às obras literárias, ou seja, possuem a natureza jurídica de um direito autoral. Dessa forma, permite-se que o software que você desenvolveu seja registrado no Instituto Nacional de Proprie-dade Industrial (INPI) com intuito de com-

provar a autoria de programas de computa-dor e, como veremos mais adiante, para que fique assegurada a exclusividade de sua exploração.

Portanto, por um custo que às vezes pode nem superar R$ 3 mil, fora os honorários dos profissionais que atuam para auxiliá--lo em tal procedimento, o registro do sof-tware no INPI provê segurança jurídica aos negócios ao se constituir um back up si-giloso e seguro do ativo, o que garante forte evidência em casos de disputas judi-ciais ou arbitragens, quantas vezes se fizer necessário, sem que a prova seja invali-dada, firmando a data da criação e, em especial, quanto à titularidade autoral do programa de computador.

A legislação brasileira equi-para os programas de com-putadores às obras literá-rias, ou seja, possuem a natureza jurídica de um di-reito autoral.

Além disso, o registro no INPI possui reco-nhecimento internacional, o que significa que você não vai precisar registrar o seu programa de computador em cada país do mundo.

Após o registro, a proteção garante a ex-ploração exclusiva por 50 anos, contados de primeiro de janeiro do ano subsequente

Por Por Ricardo Azevedo, advogado, sócio do COTS Advogados

Page 46: Revista iMasters #13 - Fevereiro/2015

ao da sua criação, ou seja, a data em que o programa se torna capaz de executar a função para qual foi projetado.

De mais a mais, os programadores que trabalham ou colaboraram para o desen-volvimento do programa de computador não podem reclamar na Justiça quanto a quaisquer direitos autorais sobre os aplicativos desenvolvidos na vigência do contrato com a empresa que os contratou, ressalvado o direito de reivindicar à pater-nidade e de opor-se a alterações não-au-torizadas, quando estas impliquem defor-mação, mutilação ou outra modificação do programa de computador que prejudiquem a sua honra ou a sua reputação.

Por outro lado, e tão importante quanto, o registro do programa de computadores e aplicativos se torna especialmente inte-ressante quando considerada a possibi-lidade de geração de negócios com eles, ou mesmo o impedimento de certos negó-cios se não tiver sido realizado o registro e seus atos posteriores, como averbações de contratos a ele relativos.

Pois bem, o registro do programa de com-putador dá segurança jurídica às partes no caso de cessão ou licenciamento do di-reito de uso dele, bem como em casos de transferência de titularidade dos direitos pa-trimoniais do software, haja vista que para tal contrato é permitida a averbação do pro-grama no certificado, garantindo os direitos das partes contratantes e de terceiros.

Isso permitirá que você possa explorar co-mercialmente o programa de computador com segurança, inclusive autorizar ou não a realização de modificações no código-fonte por terceiros.

Vale lembrar ainda que, com o registro do

software, o seu proprietário poderá partici-par de licitações governamentais, haja vista que se trata de condição necessária para a habilitação técnica e contar com ele como título para mestrado e doutorados.

Finalmente, os registros dos programas de computadores permitem a seus proprietá-rios ou seus clientes diversas deduções fis-cais, por meio de programas de incentivo.

Um exemplo é a exigência da Portaria nº 87/2010, do Ministério das Comuni-cações, que trata dos requisitos técnicos mínimos dos telefones portáteis que pos-sibilitam o acesso à Internet em alta velo-cidade do tipo smartphone, beneficiados pela desoneração fiscal instituída pela Lei nº 11.196/05, que exige um pacote míni-mo de aplicativos desenvolvidos no Brasil previamente embarcados.

A comprovação do cumprimento de tal exigência se dá por meio dos registros, no INPI, dos softwares que possuem conteúdo nacional e que devem ser depositados no Ministério das Comunicações pelos fabri-cantes dos aparelhos mobile beneficiados.

O próprio Banco Nacional de Desenvolvi-mento Econômico e Social (BNDES) possui programas para desenvolvedores inovado-res de software nacional, como “BNDES MPME Inovadora” para micro, pequenas e médias empresas que se enquadrarem em uma das ações estabelecidas para o apoio pela institui-ção finan-ceira.

Entre os di-versos requisi-

Portanto, por um custo que às vezes pode nem superar R$ 3 mil, fora os honorários dos profissionais que atuam para auxiliá-lo em tal procedimento, o registro do softwa-re no INPI provê segurança jurídica aos negócios

46 > Cyberlaw

Page 47: Revista iMasters #13 - Fevereiro/2015

tos, o referido programa de investimentos requer que a empresa possua registro ou tenha depositado o pedido de programa de computador junto ao INPI no mesmo ano do protocolo da proposta de financiamento, ou nos dois anos anteriores.

Portanto, existem os mais diversos moti-vos para o desenvolvedor procurar a pro-teção do programa de computadores junto ao INPI.

Mas para que o software tenha proteção jurídica, é necessário que obedeça ao crité-rio de originalidade. Nesse sentido, o regis-tro no INPI irá proteger o software original, no todo ou em partes, não obstante uma ou algumas partes do código-fonte serem desenvolvidas a partir de um softwa-re “standard”. O que será protegido serão as partes diferenciadoras e estratégicas que diferenciam o bem protegido dos de-mais programas.

O próprio Banco Nacional de Desenvolvimento Eco-nômico e Social (BNDES) possui programas para de-senvolvedores inovadores de software nacional, como “BNDES MPME Inovadora” A partir daí, a utilização não autorizada pelo titular do software, por qualquer meio, irá constituir infração aos direitos do pro-prietário do programa de computador, en-sejando reparações por danos materiais sofridos e até mesmo a responsabilização criminal do infrator.

Portanto, deixar de registrar o software pode trazer diversos dissabores ao desen-volvedor. Mas, como visto acima, o regis-tro do programa de computador, além de protegê-lo da pirataria ou da ação desleal de concorrentes, abrirá a porta para di-

versas e importantes oportunidades em-

presariais, como acesso a financiamentos

mais baratos, incentivos fiscais, entre ou-

tros benefícios.

Ricardo Azevedo é sócio do COTS Advogados, escritório especializado em Direito Digital e E--commerce. Especialista em Direito Tributário pela EDESP/GVLAW e professor universitário de Sistemas Tributários, no MBA de Gestão de Negócios da FIAP (Faculdade de Informá-tica e Administração Paulista). Palestrante da APET (Associação Paulista de Estudos Tribu-tários). Foi Gerente Jurídico de empresas de Tecnologia por aproximadamente 10 anos. [email protected]

Cyberlaw < 47

Page 48: Revista iMasters #13 - Fevereiro/2015

• One-stop shop: oferece todas as soluções

em nuvem de ponta a ponta para você

• Transferência de dados ilimitada, garantida pela

largura da banda*

• Hospedagem e disaster recovery 100% no Brasil

• Segurança garantida com diferentes camadas

de proteção e isolamento

• Pagamento pelo uso e com escalabilidade instantânea

• Para todo tipo e tamanho de projeto

UOL CLOUD TEM ESCALABILIDADE INSTANTÂNEA, COBRANÇA POR HORA E A ESTABILIDADE QUE VOCÊ SEMPRE QUIS.MANDE OS SEUS PROJETOS PARA A NUVEM E OS PROBLEMAS PARA O ESPAÇO.

*Acesse uol.com.br/cloude confira a largura da bandado plano contratado.

uol.com.br/cloudCapitais e Regiões Metropolitanas 11 3092 6497

Page 49: Revista iMasters #13 - Fevereiro/2015

“Quando pensamos na criação de um produto, pensamos em todos os aspectos que envol-

vem desde a concepção e apresentação, até sua interação pelos clientes. OOD é a forma de

pensar na criação de cada objeto da aplicação como um produto distinto. Focando na inte-

ração entre seus clientes, OOD é o planejamento dos objetos da aplicação para resolução

de um problema específico” – João Batista Neto, engenheiro de aplicações e administrador

do Fórum iMasters.

João Neto, foi um dos Mestres do 7Mas-ters OOD. Em sua palestra, ele falou sobre Design Orientado a Objeto com foco nos testes. Confira o vídeo: http://ow.ly/IXmPI

Priscila Mayumi Sato, Senior Developer e Technical Team Leader na Scoutfy, apresen-tou o “Bolovo”, um nome chamativo que ela deu para um problema antigo de arquitetura de software, e deu bons motivos para não usá-lo! Veja aqui: http://ow.ly/IXnf1

7Masters < 49

Page 50: Revista iMasters #13 - Fevereiro/2015

Quer participar de alguma edição? Preste atenção na agenda para este ano:

25 de fevereiro - CSS25 de março - Ruby29 de abril - Usabilidade27 de maio - JQuery24 de junho - Design de APIs 22 de julho - Segurança 26 de agosto - Design Responsivo30 de setembro - Agile28 de outubro - SQL25 de novembro - SEO

O 7Masters é o nosso Encontro de Especialistas. Todos os meses reunimos 7 mestres que apresentam palestras curtas sobre assuntos inovadores e diferentes, para uma plateia de profissionais.

Os temas de cada encontro são definidos pelo iMasters e uma equipe de curadoria, liderada em 2015 por Edu Agni. Se quiser dar alguma sugestão, escreva para [email protected].

Confira aqui como foi a edição do 7Masters OOD. Acompanhe o calendário e assista a todos os vídeos em setemasters.imasters.com.br

Ricardo Bánffy, desenvolvedor, membro--fundador e evangelista da Associação Python Brasil, falou sobre anti-patterns, software ruim: ou, a observação do efeito Dunning-Kruger no ecossistema de software. Veja a apresentação: http://ow.ly/IXn9f

Refactoring foi o tema da palestra de Tha-mara Hessel, co-organizadora do @DevBe-ers e do PHPGirls SãoPaulo, embaixadora SendGrid e desenvolvedora Rocket Internet. Confira a apresentação aqui: http://ow.ly/IXmGK

Anderson Casimiro, Technical Evangelist na Jetbrains, falou sobre Gerenciamento de Dependências e Design Orientado a Objetos. Veja a palestra na íntegra: http://ow.ly/IXmKA

O fundador da Cajuina Software, Ivo Nasci-mento, provou muito bem porque Corrigir é Caro e o que fazer quando isso for realmente necessário. Assista ao vídeo: http://ow.ly/IXmCO

Fernando Ribeiro, Principal Sales Consul-tant, Systems & Engineered Systems da Ora-cle, mostrou que a atualização de software não é opcional, e que o desenvolver deve, sim, se preocupar com isso. O vídeo está disponível aqui: http://ow.ly/IXmTN

50 > 7Masters

Page 51: Revista iMasters #13 - Fevereiro/2015

O suporte, acompanhamento e parceria do pessoal da MundiPagg foram os principais diferenciais que encontramos comparado a outros players no mercado.”

(Eduardo Cucharro, Gerente de TI e Projetos Minha Vida/Dieta Saúde)“www.mundipagg.com.br | [email protected] Capitais e Regiões metropolitana: 3003-0460 | Outras regiões 21 3554-2800

SP - Av. Brigadeiro Faria Lima, 1811, 12º andar - Jardim PaulistanoRJ - Rua da Quitanda, 199 - 10º andar - Centro

O seu parceiro ideal para pagamentos onlineSoluções inovadoras e facilidade na integração

Revolucionária API em REST, garantindo flexibilidade e simplicidade O tempo de resposta mais veloz do mercado, menos de 300 ms

Mundi Checkout, integração rápida e ambiente seguro para capturar as transações

Equipe de relacionamento especializada sempre pronta para auxiliá-lo

Page 52: Revista iMasters #13 - Fevereiro/2015

Como está seu foco nas tarefas que precisa realizar no dia a dia? Você está conseguindo lidar com a torrente de tarefas a fazer? Suas entregas estão no prazo? Você constante-mente tem a sensação de que está traba-lhando em algo não tão importante quanto outro item de sua lista? Se você parou para pensar em qualquer dessas perguntas, sig-nifica que está com problemas em dar vazão aos seus afazeres. A ideia aqui é de, com mudanças simples, melhorar seu fluxo de trabalho para melhorar sua performance ao desenvolver.

Organize a casa

Quando se está no meio da bagunça, pode ser um pouco difícil encontrar alguma sanidade e trabalhar de maneira organizada. Se você está com uma lista de tarefas gigante e não sabe nem por onde começar, você está com problemas. A primeira coisa a fazer nesse caso é não fazer nada enquanto não se organizar.

Monte uma lista do que fazer, ordenada por prioridade, na qual os itens mais importantes estão no topo. Normalmente damos a isso o nome de backlog. A ideia aqui é ter uma visão clara do trabalho a ser feito, e o que é mais importante dessa lista. Com esse ba-cklog, resolva os itens do topo e verifique se a ordem ainda é valida - se não for, re-priori-ze conforme necessário. Soou familiar, não? Sim, esse é um dos fundamentos do Scrum.

Outra coisa que pode te ajudar nisso é o conceito da Matriz de Eisenhower. Resumi-damente, você pode classificar suas tarefas

em quatro quadrantes distintos, classifica-dos quanto à urgência e à importância. E você vai se identificar em algumas situações:

Matriz de Eisenhower

Classifique seus afazeres nesses quadrantes. Descarte o que estiver na área cinza (não é urgente, nem importante). Se for possível, delegue o que estiver na caixa roxa, se não for, resolva a caixa vermelha e volte aqui em seguida. O quadrante do “urgente, mas nem tão importante” deve ser olhado com cuidado, e você deve tomar medidas preventivas para não populá-lo. O quadrante vermelho fala por si só: resolva o mais rápido possível - se os itens lá perderem a importância, mova-os para a caixa roxa. O que sobrou é onde você deve se focar, para que você possa planejar.

52 > Desenvolvimento Zen

Performance pessoal: mudanças simples que podem melhorar sua produtividade Por Anderson Casimiro, Developer Advocate na JetBrains

Page 53: Revista iMasters #13 - Fevereiro/2015

Por que estou mostrando duas técnicas? Para que tire o melhor proveito das duas! Faça a Matriz de Eisenhower, e quando o Quadrante Azul for o único preenchido, or-ganize-o com um backlog.

Backlog do Duodraco

Agora imagine isso na parede, com post-its: você tem um dashboard de suas atividades à vista. Isso é produtivo? É um motivador, inclusive para que você mantenha as tare-fas organizadas, saiba o que deve e o que não deve ser feito e quando você poderá fazê-lo. Outra dica de motivação: se puder, mantenha à vista um recipiente transparente onde você coloca os post-its com as tarefas concluídas e acompanhe esse recipiente sendo preenchido!

Use a tecnologia a seu favor Dado que esta coluna recebe o nome de Desenvolvimento Zen, acredito que você, leitor, tenha algum contato com tecnologia ou pretende tê-lo. Há inúmeras ferramentas que ajudam nosso trabalho. Fazer o uso consciente de aplicativos e sistemas de informação deve ajudar a colocar o trabalho em dia.

O exemplo que apresentei no tópico anterior pode muito bem ser aplicado a um sistema de gestão de tarefas, no qual você pode ter um “projeto” ou etiqueta (tag) só com as tarefas Importantes e Urgentes, e outro só com as Urgentes e nem tão importantes.. Aí você se foca em gerir seu painel de tare-fas… e se você puder montar um relatório com suas tarefas concluídas e ver a barra de rolagem aumentar ao longo do tempo, você consegue inclusive o motivador que citei :).

Se você usa um smartphone, aprenda a ti-rar o melhor proveito dele, além de usar o Facebook e o Instagram. Anote seus com-promissos na agenda: crie lembretes para as reuniões e as datas de entrega antes que elas aconteçam. Use aplicativos para criar lembretes baseados no tempo, como é o caso com as datas de entrega, e com base na localização - como anotar a hora que em você entra e sai da empresa. Você ainda pode usar um aplicativo de gravação de voz para tomar notas do dia a dia e transcrevê--las para texto, como o Evernote faz. Além disso, você pode criar notas faladas pelos principais assistentes pessoais.

Há várias aplicações para melhorar sua pro-dutividade e gerenciar seu tempo, como o Pomotodo, que funciona como uma lista simples de tarefas atreladas a um tempori-zador para a metodologia Pomodoro. Mas, sem dúvida, a coisa mais legal para melhorar a produtividade é fazer a Internet trabalhar para você. Essa é a proposta do IFTTT ( IF This Than That): um gerenciador de in-tegrações de diversos serviços. Você pode automatizar os lembretes que configuramos antes para dispararem e-mails, notificações ou até mesmo fazer uma lâmpada no escri-tório acender.

Desenvolvimento Zen < 53

Page 54: Revista iMasters #13 - Fevereiro/2015

nos intervalos entre os “focos de trabalho”, dar uma olhada e ver se não há nenhuma mensagem esperando. Você também pode deixar um sinal com o time quando não qui-ser ser incomodado - usar o fone de ouvido pode ser um sinal fácil e conveniente de di-zer “Estou ocupado, não me interrompa”.

Acredito que com estas dicas, configurando bem seu ambiente de trabalho para que não perca tempo e tenha tudo à mão e princi-palmente com bom senso, você vai ter uma performance melhor e com mais qualidade e tranquilidade.

Até a próxima!

Melhore o foco

Já teve aquela sensação de que passaram--se algumas horas no escritório e você ainda não começou a trabalhar? Acredite, já acon-teceu com a maioria das pessoas. Proble-mas com falta de concentração, procrastina-ção e mesmo de interrupções podem estar atrapalhando seu rendimento.

Antes de mais nada, estabeleça uma rotina de trabalho. Por exemplo, ao começar, veja seus feeds, e-mails, organize seu “Backlog de Eisenhower” e comece a trabalhar. A cada uma ou duas horas, faça uma pausa, tome um café, cheque por atualizações e continue o trabalho. Se você se acostumar com o ritmo estabelecido, alguns dos pro-blemas de concentração/procrastinação te-rão diminuições visíveis.

Outra dica: ouça música. Quando você co-meça a produção ouvindo musica, deixa me-nos espaço para que outras coisas tirem seu foco, como redes sociais ou chat. À medida que você muda de foco, acaba dividindo-o entre tudo o que você já mudou, dentro de um determinado limite. Se você começa es-cutando musica, você já a adiciona a essa lista de mudanças de foco, consequente-mente evitando que mais coisas tirem sua atenção - com a vantagem de que a musica é passiva, você pode fazer outras coisas en-quanto a escuta.

Como disse no artigo anterior, Falhando e Aprendendo, estar no escritório é pedir para ser interrompido, seja pelo gerente, colega, ou o pessoal do RH cobrando seu aviso de férias. Tente estabelecer um procedimen-to de interrupção - ou de estado de “Não Perturbe”. Configure com seus colegas um meio de comunicação passivo, como um chat, instant messaging ou ferramentas de comunicação para times e faça a comuni-cação rodar por lá. Tenha o bom senso de,

Anderson Casimiro é Developer Advocate na JetBrains, produtora do IntelliJ IDEA, PhpStorm e outras ferramentas de desenvolvimento. Também é co-fundador e ativista do PHPSP (Grupo de Desenvolvedores PHP de São Paulo). Apaixonado por Desenvolvimento desde 2001, líder de times e gerente de desenvolvimento nos últimos anos, palestrante nos principais eventos da área no país. @duodraco | [email protected]

54 > Desenvolvimento Zen

Mais um pouco pra você:

Ótimo texto do Augusto Campos sobre a Matriz de Eisenhower ow.ly/GbYH5

Pomotodo pomotodo.com

Técnica Pomodoro pomodorotechnique.com

IFTTT ifttt.com

Page 55: Revista iMasters #13 - Fevereiro/2015
Page 56: Revista iMasters #13 - Fevereiro/2015

56 > Por aí

Fazendo a internet do Brasil pelo mundoQue os brasileiros têm feito muita coisa, a gente sabe. Mas quem está fazendo o quê e onde, nem sempre fica bem claro.

A ideia aqui é que você apareça, com a sua equipe, sua turma, seus amigos, mostrando um trabalho, a participação num hackaton, palestra etc. Tudo o que signifique “fazer a internet do Brasil” para você, cabe aqui! Quer participar? Envie uma foto e descrição para [email protected]

Prêmio Mulheres Tech em Sampa

Em dezembro do ano passado, o Google for Entrepreneurs, em parceria com a Rede Mulher Empreendedora e a Prefeitura de São Paulo, lançou o Prêmio Mulheres Tech em Sampa. O objetivo era apoiar financeiramente atividades na cidade de São Paulo que estimulem o empreendedorismo digital entre as mulheres, a atuação de mais mulheres na área de tecnologia e o compartilhamento de experiências entre mulheres empreendedoras. Foram 64 inscrições com propostas para aumentar a participação feminina no ecossistema de startups da cidade por meio de cursos, treinamentos e hackathons, entre outras atividades. As vencedoras foram: Technovation Challenge Brasil 2015, de Camila Achutti (ow.ly/IKWnB); Rodada Hacker, de Gabriela Agustini (ow.ly/IKWyw); Canal Girls in Tech, de Loana Felix Santos (ow.ly/IKWDj); Startup School, de Jaciara Martins Fontes Cruz (ow.ly/IKWKS); Mulheres 50+ em rede, de Tassia Monique Chiarelli (ow.ly/IKWP0). As vencedoras receberam um prêmio de R$10 mil cada para executar suas iniciativas em 2015 na cidade de São Paulo.

Tecnologias Emergentes: Mudança de atitude e diferenciais competitivos nas empresas

Este é o título do novo livro de Cezar Taurion, colunista do iMasters e CEO da Litteris Consulting. Lançado no início deste ano, a obra é voltada para profissionais e estudantes de tecnologia e interessados no assunto. O objetivo do livro é dissecar as chamadas “ondas tecnológicas”: plataformas de redes sociais, mobilidade, computação em nuvem, Big Data, Internet das Coisas, inteligência artificial, entre outras, que já estão presentes em nosso cotidiano e, com isso, abrir linhas de pensamento para que os leitores cheguem às suas próprias conclusões. O livro é da Editora Évora e está à venda nas principais livrarias por R$ 59,00 nas livrarias Saraiva e Cultura.

Page 57: Revista iMasters #13 - Fevereiro/2015

Por aí < 57

Evento sobre equações diferenciais reúne 120 participantes

Pesquisadores de 10 países estiveram no Instituto de Ciências Matemáticas e de Computação (ICMC) da USP, em São Carlos, para participar do ICMC Summer Meeting on Differential Equations 2015 Chapter. Este ano o evento reuniu 120 participantes, 20% deles estrangeiros. Foram cerca de 75 palestras em que os pesquisadores apresentaram seus trabalhos, além dos pôsteres apresentados por estudantes de pós-graduação. Um dos outros coordenadores do evento, Matheus Bortolan, professor do Departamento de Matemática da Universidade Federal de Santa Catarina e ex-aluno do ICMC, explica que os pesquisadores que comparecem ao ICMC Summer Meeting on Differential Equations investigam modelos matemáticos de fenômenos reais. “Quando modelamos problemas do mundo real, para compreendê-los, muitas vezes nos deparamos com as equações diferencias. De forma bem simplificada, os pesquisadores desse encontro trabalham para compreender essas equações”, afirmou Bortolan. O encontro é promovido desde 1996 pelo grupo de Sistemas Dinâmicos Não Lineares do ICMC e faz parte das ações do Instituto Nacional de Ciência e Tecnologia de Matemática (INCTMat).

Primeiro hackaton da indústria brasileira acontece na Campus Party

A Ford promoveu a primeira maratona de desenvolvimento de software da indústria no Brasil, durante a Campus Party 2015. O objetivo era incentivar a criação de aplicativos para carros conectados utilizando a plataforma de conectividade SYNC AppLink como interface de acesso. O primeiro lugar ficou com Daniel Scocco, que criou um aplicativo que pode ajudar a reduzir o valor dos seguros nos automóveis. Chamado de “Bom Motorista”, o app reúne informações como geolocalização, velocidade, se a pessoa utiliza cinto de segurança e maneira que pisa nos pedais – todos os dados são coletados pelo celular ou pelo Sync. Esses dados seriam enviados para as seguradoras que, dessa forma, poderiam ter um perfil mais abrangente de seus clientes e, então, cobrar preços mais justos e eficientes.

O segundo lugar foi do projeto “Car Data Applets”, criado por Mauro Pichiliani, colunista do iMasters e autor do podcast DatabaseCast, o app premitiria a criação, compartilhamento, uso e venda de Applets criados a partir de regras simples para diferentes funcionalidades – como tocar uma música a partir de uma velocidade X. Já o terceiro lugar ficou com o aplicativo “Meu Filho”, que traz diferentes funcionalidades de conversas entre os pais e o colégio dos filhos, como a possibilidade de avisar quando está chegando para buscar a criança.

créd

ito: D

ivul

gaçã

o/Fo

rd

Cerca de 20% dos participantes do evento eram estrangeiros.

Cerca de 20% dos participantes do evento eram estrangeiros (crédito: Reinaldo Mizutani)

Page 58: Revista iMasters #13 - Fevereiro/2015

58 > Por aí

Feche os olhos e descreva, mentalmente, o perfil de um participante do GDG Dev Fest São Paulo, o maior evento realizado pela Comunidade Google no Brasil. Provavelmente virá a imagem de um desenvolvedor, um gestor ou empreendedor de tecnologia, estudantes da área de exatas, entusiastas em temas como Android Wear, Polymer, Angular.JS... Pensou em alguém da área de humanas ou mesmo arte? E se na sua imaginação essa pessoa é um homem, é melhor imaginar de novo.

Regina Fazioli é professora do curso de biblioteconomia do Centro Universitário Nossa Senhora da Assunção (UNIFAI), além de coordenadora da Biblioteca Virtual do Governo do Estado de São Paulo. Apesar de seu primeiro GDG DevFest, participa de eventos na área de tecnologia sempre que pode. Isso inclui o último evento do Google Developer Group São Paulo de 2014, realizado no último dia 22 de novembro no Centro de Convenções Rebouças.

Funcionária da Prodesp, pioneira na informatização do governo estadual, desde 1979, Regina Fazioli diz que sempre se envolveu com facilidade com o tema. “Gosto dos aplicativos do Google e acompanho seus lançamentos. Tento usar o que posso em sala de aula, de uma forma geral entendo que os bibliotecários deviam se envolver com essas coisas”, disse, logo após acompanhar o keynote com exemplos de aplicações com Beacons Bluetooth, conduzida por Jeff Prestes, do PayPal.

Mesmo voltado para a comunidade de desenvolvedores, com temas divididos entre aplicações mobile e web, o GDG DevFestSP está longe de ser um ambiente

#devfestsp14: comunidade cresce; desafios tambémPor André Rosa e Lucia Freitas, para Revista iMasters

restrito. Logo na abertura do encontro, Luís Leão, co-organizador do evento e community manager do GDGs-SP celebrou a aproximação entre artistas e programadores ao mencionar a iniciativa DevArt (devart.withgoogle.com), competição global que apresenta novos tipos de arte feito com código. “É sensacional ver artistas começando a programar”, comemorou.

Regina também gostou do que viu, mas ainda se incomoda com dois problemas que considera gritantes. “O primeiro: a área de humanas não se envolve com tecnologia. Ao lado de outras, elas se restringem à teoria e não se integram à prática”, apontou. O segundo problema, na visão dela: “as mulheres também não se envolvem!”.

Impulsionado por encontros ligados ao projeto Women Techmakers (womentechmakers.com), o número de mulheres no GDG DevFest São Paulo aumentou expressivamente. Dos 600 inscritos em 2014, 85 eram do sexo feminino - no ano anterior, foram 14. “Gostei de saber que o número de mulheres inscritas aumentou, mas ainda é muito pequeno”, lamentou Regina. “Inclusive conheço uma pesquisadora que investiga as razões pelas quais existem mais mulheres fazendo biblioteconomia e poucos homens. Tem um componente cultural aí”, explicou.

Crescimento e interesses da comunidade

O caminho para a participação das mulheres, ou mesmo para o aumento de projetos multidisciplinares, pode parecer

Page 59: Revista iMasters #13 - Fevereiro/2015

Por aí < 59

é mobile first”, apontou.

Organizado inteiramente pela comunidade de desenvolvedores do Google, o GDG DevFest São Paulo incluiu um espaço para a exibição de experimentos e “lightning talks” (apresentações rápidas de projetos e tutoriais). Tudo isso de uma forma especial: as pessoas se autocredenciaram e houve um esforço pela sustentabilidade – menos geração de lixo, por exemplo.

“Como fazer com que as pessoas se sintam parte de alguma coisa?” A resposta de Luís Leão aos profissionais que doaram um tempo de si ao se apresentar no evento foi um presente personalizado: cadeiras “open source”. Independente dos desafios, o GDG DevFest São Paulo é resultado do envolvimento de muita gente, que pode ser medido a partir das imagens compartilhadas no Instagram e dos posts no Twitter com a hashtag #devfestsp14.

longo. É inegável, no entanto, o esforço da comunidade de desenvolvedores Google para reunir e aproximar potenciais parceiros de áreas diferentes. Alexandre Borba, Google Community Manager, ressaltou que são poucos os lugares no Brasil sem um GDG local representado, resultando em cinco encontros ao final de 2014. Um resultado expressivo: no primeiro semestre, o país era o 17° em número de participantes em eventos Google. Já é o terceiro.

Além de fortalecer o relacionamento com estes grupos, o GDG DevFest busca recriar a experiência de um ambiente do Google. Trouxe, por exemplo, as novidades do Google I/O: Neto Marin, Developer Advocate do Google no Brasil, apontou a expansão do mercado para o desenvolvimento Android, especialmente interfaces para relógios inteligentes - o Android Wear. Ao contrário dos atuais dispositivos móveis, há uma preocupação para que as poucas interações destas aplicações sejam praticamente imperceptíveis. “E ainda tem gente reclamando que falta um teclado! Esqueçam!”, brincou Marin.

As trilhas técnicas, focadas em web e mobile, representam o panorama apresentado por José Papo, gerente de relações com startups e desenvolvedores do Google. Além de explicar as características do serviço Google Container Engine, 74% dos brasileiros entre 15 e 49 anos estão online, diante de múltiplas telas (especialmente móveis), durante todo o dia - mesmo na cama! “Para mim isso é um negócio disruptivo. Mesmo em um mundo multi-screen, a melhor visão

Por aí < 59

Page 60: Revista iMasters #13 - Fevereiro/2015

AntiSpam de Entrada e Saída

Arquivamento de E-mail para Auditorias

Backup de Mensagens

Criptografia de E-mails

Ferramentas flexíveis para ambientes de todos os tamanhosFerramentas flexíveis para ambientes de todos os tamanhos

Veja quem já eliminou os spams www.unodata.com.br

ou ligue para (11) 3522-3011

SUA PRIMEIRA OPÇÃOEM SEGURANÇA PARA E-MAIL

Dificuldades para administrar sua infraestrutura de e-mail?

A Unodata é a solução definitiva para empresas e provedores

eliminarem mensagens indesejadas e perigosas sem nunca

perder e-mails importantes. Confira condições

especias para

leitores Imasters

Page 61: Revista iMasters #13 - Fevereiro/2015

61 > Comunidade

Tudo começou com um bate-papo entre pessoas que gostariam de ter mais contato com outros profissionais e interessados de tecnologia em Sorocaba. Guilherme Serrano e Bianca Brancaleone haviam se mudado para a cidade e sentiam falta desse con-tato presencial, não apenas online. Nessa conversa, com Hudson Augusto, ficou claro que era possível fazer algo ali na cidade, nos moldes de um hackerspace como o Garoa, de São Paulo.

A ideia foi apresentada durante o encontro do GDG Sorocaba e teve uma ótima reper-cussão: 65% dos 68 presentes gostariam de contribuir e participar de um hackerspace. Isso foi em agosto. De lá para cá, o HackLab Sorocaba ganhou forma e participação. Os encontros oficiais começaram em janeiro deste ano com sete pessoas, e em pouco mais de um mês esse número já havia qua-se triplicado, com cerca de 15 a 20 pessoas por encontro.

O hackerspace HackLab Sorocaba reúne pessoas com interesses em comum em ci-ência, tecnologia, arte digital ou eletrônica, por exemplo, podem se encontrar, socializar e colaborar. Como o grupo ainda não possui um espaço próprio, as reuniões estão sen-do realizadas no Shopping Plaza Itavuvu, em Sorocaba.

Cada encontro – gratuito e aberto ao público – dura aproximadamente quatro horas e os grupos se organizam nas mesas da praça de alimentação de acordo com os interesses. São realizados projetos utilizando o Arduino, Raspberry Pi, mas nem só de eletrônica e programação vive um hacklab – negócios e boas partidas de jogos de tabuleiro ou cartas também estão sempre em pauta.

“A intenção é unir o pessoal “nerd” que achava que não tinha muito mais gente com interesses semelhantes na região, mas o grupo tem provado que o cenário de Soro-caba é bem diferente disso”, afirma Bianca Brancaleone.

O Hacklab Sorocaba se define como um grupo de e para entusiastas em tecnologia com o objetivo de objetivo projetar, testar, estudar e compartilhar conhecimentos sobre diversas tecnologias como programação, eletrônica, hardware, arduino, artes, música, RPG, jogos de tabuleiro e outros.

Para Hudson Augusto, o aprendizado mais importante sobre hackerspaces foi que o mais importante não é o espaço e equipa-mento, mas sim as pessoas. “Temos uma interação muito grande entre as pessoas de diversas comunidades aqui de Sorocaba, como grupos Google – GDG, GBG e GEG, Startup Sorocaba e o mais novo integran-te, o Hackeria, um grupo de jovens do sis-tema Sesi/Senai que adoram hardware livre e compartilhamento de conhecimentos. Os equipamentos a gente consegue aos pou-cos, mas são as pessoas o fator mais im-portante”.

De acordo com Hudson, o próximo passo é criar um HackFabLab Sorocaba, que seria o espaço fixo da comunidade Hacklab Soro-caba com equipamentos (CNC, cortadora a Laser, outros) à disposição da comunidade para realização de projetos.

O HackLab Sorocaba é aberto a todos os interessados. Basta chegar junto, participar e aprender!

HackLab Sorocaba - Compartilhando conhecimentoPor Rina Noronha, para Redação iMasters

Comunidadeí < 61

Page 62: Revista iMasters #13 - Fevereiro/2015

Depoimento

“Pegar um fio de telefone, dobrar forman-do um “U”, ligar na tomada e levar um tre-mendo susto com o estouro. Esse sou eu desafiando a eletricidade desde pequeno. Quando um brinquedo quebrava, a primeira coisa que eu fazia era desmontar para ver o que tinha dentro e, quem sabe, “consertar”; guardava as peças, motores, rodas, alto--falantes. Depois de algum tempo os com-putadores começaram a chamar mais minha atenção, aprendi sobre hardware e então fui para programação.

Os anos foram passando me formei em Sis-temas de Informação e fui trabalhar com desenvolvimento de sistemas empresariais. Sempre tentando automatizar algum pro-cesso via software, vinha junto um pensa-mento “e se… tivesse um hardware junto...”. Você consegue fazer tanto programando um computador, mas quando você vê hardware e software juntos interagindo, como nos ro-bôs e outros aparelhos inteligentes, tudo fica mais divertido!

Na busca por novas ideias e oportunida-des, conheci o pessoal do GDG Sorocaba no segundo semestre de 2014 e comecei a participar dos eventos, encomendei uma camiseta da comunidade e esqueci de bus-car. Alguns dias se passaram e recebi uma mensagem no grupo de WhatsApp do GDG Sorocaba, dizendo que quem ainda não ti-nha pego a camiseta poderia buscar no Shopping no sábado seguinte. Pensei que fosse uma reunião pontual do GDG e que iria pegar a camiseta e ir embora, mas lá come-çava uma nova etapa de aprendizado e troca de conhecimentos, era começo de Janeiro desse ano, um dos primeiros encontros do HackLab Sorocaba na praça de alimentação de um Shopping.

Como o assunto dos primeiros encontros

foi o Arduino, aprendi sobre eletrônica com o pessoal e busquei saber um pouco mais sobre o que era possível fazer com o Ardui-no e já consigo repassar esse conhecimento para os novos integrantes que entram para comunidade a cada encontro. O HackLab é um espaço onde consigo aprender e ensinar e todos podem aprender e ensinar sempre. Além de apoiar o pessoal de eletrônica e programação, comecei a registrar os even-tos com fotos e vídeos, colaborando com a divulgação e crescimento da comunida-de.”- Angelito Casagrande, participante do HackLab Sorocaba

dHackLab Sorocaba

Quando? Quartas, 18:30 / Sábados, 10h

Onde? Praça de Alimentação Shopping Plaza Itavuvu

Site: http://hacklab.club

Meetup: http://www.meetup.com/HackLab-Sorocaba/

Mais em Sorocaba

Além do HackLab, Sorocaba conta com vários

grupos de apoio a desenvolvedores, empreendedo-

res e tudo relacionado com tecnologia. Informe-se e

participe!

GDG – Google Developer Group:

http://www.gdgsorocaba.org/

GBG – Google Business Group:

http://gbgsorocaba.org/

GEG - Google Educartors Group:

https://plus.google.com/+GegsorocabaOrg2014

Startup Sorocaba: http://startupsorocaba.com/

Hackeria: http://ow.ly/ILbpz

Woman Techmakers Sorocaba: http://ow.ly/ILbsL

62 > Comunidade

Todas as fotos por Angelito Casagrande

Page 63: Revista iMasters #13 - Fevereiro/2015

Garanta uma formação tão amplaquanto o futuro que você merece.

Há mais de 25 anos, a Impacta atua na formação de profissionais de destaque no mercado, sendo

a maior referência em TI, Gestão e Design da América Latina. Com mais de 300 treinamentos e 40

certificações, a amplitude da formação Impacta se traduz em 7 escolas distintas, que visam

contribuir com a geração de profissionais qualificados em todas as áreas do mercado, e uma

metodologia de ensino comprovada, presente em todo o Brasil.

www.impacta.com.br

blogimpacta.com.br /grupoimpacta @grupoimpacta

Conheça mais sobre a Impacta, sua tradição

e diferenciais exclusivos.

Invista hoje mesmo em um ensino forte

para um futuro de sucesso!

informações: [email protected]

11 3254 2200

Page 64: Revista iMasters #13 - Fevereiro/2015

64 > Tendências

2014 foi um ano muito importante para con-cretizar o movimento que foi iniciado há 3 anos aqui no Brasil. Mais do que nunca “o poder está no Front”, como dizia o meu ami-go Shankar Cabus; então, para vocês que pretendem atingir um nível muito superior em 2015, seguem algumas coisas que, com 100% de absoluta incerteza, acontecerão!

Mobile

A adoção cada vez mais rápida do HTML5 está nos permitindo evoluir bastante quan-do falamos de Responsive Design. Por outro lado, ainda é preciso um pouco de consci-ência para projetar uma aplicação mobile real. Já foi provado que a preocupação de ajustar um site a um tamanho específico não é eficiente e duradoura, isso gera o que o webdesigner Brad Frost resume muito bem como Device Fatigue (http://ow.ly/Gagy2).

Consultei o numerólogo Sergio Lopes, da Caelum, sobre suas previsões para 2015, e ele acredita que este ano veremos a conso-lidação total do mobile como foco principal na Web. “Quem não conhecer design res-ponsivo estará fora do mercado. Em tecno-logias, temos a chegada da <picture> e do srcset, a nova spec de Grids, evoluções em element queries e mais uso de specs impor-tantes pro responsivo, como flexbox e view-port units”, explica.

Para reforçar as previsões do Sérgio, conver-sei também o tarólogo holandês Caio Gon-dim, da Booking, que afirma que “2015 será o ano em que a maioria irá despertar para

usabilidade, para interação. Em outras pala-vras: na remoção de atrito nas interfaces de usuário”. Gondim acredita que a usabilidade de uma aplicação sempre foi diferencial no desktop, “mas no contexto móvel ela se tor-na ainda mais importante dada a capacidade de um usuário trocar de tarefa e ao infinito número de distrações”, complementa.

Sendo assim, preparem-se para o ano mobi-le de 2015! Principalmente se você tiver Jú-piter, o planeta da sorte e da generosidade, passando pela sua empresa.

“então, para vocês que pre-tendem atingir um nível muito superior em 2015, seguem al-gumas coisas que, com 100% de absoluta incerteza, acon-tecerão!”

HTML

2014 foi o ano do HTML5, tivemos uma ade-são enorme em todo o mundo, mas uma coisa se destacou na linguagem e acredito 2015 que será deles, os Web Components!

Já faz mais de um ano que criamos o cus-tomelements.io, uma galeria com mais de 600 Web Components cadastrados. Além disso, em 2014 criamos o webcomponents.org, um hub de conhecimento da lingua-gem, juntando os melhores profissionais da área no mundo. O que fará essa linguagem

Tudo que vai acontecer na webem 2015 (ou não)Por Bernard De Luna, Product Leader do iMasters

Page 65: Revista iMasters #13 - Fevereiro/2015

Tendências < 65

ganhar espaço de vez em 2015? Perguntei ao oráculo espiritualista web Zeno Rocha, da Liferay, que prevê que Web Components decole. “Ainda mais com o suporte total do Chrome as quatro specs (Custom Elements, Shadow DOM, Templates, HTML Imports), isso vai dar início a mais possibilidades aos desenvolvedores”, vislumbra.

Mentalidade

Um dos pontos que eu tenho falado há uns dois anos é a necessidade de união e parce-ria na comunidade. Temos que aceitar que um problema tem mais de uma solução, e que quando alguém te faz uma pergunta, a sua resposta não é a melhor para sempre e para todos, ela é o “seu melhor” naquele momento, pois estamos sempre aprenden-do e tendo potenciais melhores respostas. Em 2014 eu consegui confirmar esse pensa-mento e entender melhor como funcionam as empresas, startups, produtos e inovação. Assim, 2015 tem tudo para trazer um novo estágio dessa união, não apenas entre de-senvolvedores, mas incluindo também ou-tros setores da empresa, uma integração vital para um produto inovador e ágil.

Conversando com o astrólogo Giovanni Ke-ppelen, da Planedia, entendi que ele com-partilha o mesmo pensamento, veja o que ele disse: “Eu acredito que em 2015 teremos menos desenvolvedores pensando somen-te no código, seja ele em que linguagem for, mas teremos profissionais refletindo no produto como um todo, começando a sair da sua zona de conforto. Isso se dá pelo crescente pólo de startups e empresas fora do ‘eixo’ que estão sendo criadas ou que estão chegando no Brasil, em cidades como Rio de Janeiro, São Paulo e até Belo Horizonte, onde se encontra o San Pedro Valley, que já foi reconhecido mundialmen-te. Isso vai fazer com que o profissional aprenda mais, pesquise sobre novas tecno-

logias fora do seu ecossistema, como infra, produto, métricas, testes A/B, entre outros. Isso não é novidade, até acontece com al-guns desenvolvedores, mas ainda é minoria, por isso acredito que em 2015 isso se ex-panda bastante, deixando desenvolvedores menos ‘preconceituosos’ com linguagem x ou y, até mesmo se deve ter ou não um sim-ples ; em seu código”.

O avanço da IOT vai contribuir para mu-dar essa percepção dos desenvolvedores e designers, pelo menos é o que acredi-ta espiritualista Luciano Palma, da Google. Segundo ele “palavras como ‘wearables’ e ‘makers’ prometem invadir 2015. Devs an-tenados sairão do binômio desktop/mobi-le e criarão soluções para smartwatches e dispositivos inteligentes/conectados. Terão que ser criativos, porque o jeito de pensar é bem diferente!”

“Eu acredito que em 2015 ter-emos menos desenvolvedores pensando somente no código, seja ele em que linguagem for, mas teremos profissio-nais refletindo no produto como um todo, começando a sair da sua zona de conforto.” CSS

Não é segredo pra ninguém que CSS é a minha linguagem favorita. Sei que ela não é perfeita, mas cada vez fica mais divertida, e isso ninguém pode questionar. Eu diria que este é o ano da firmação dos CSS Filters, mas o pai Shankar Cabus, da JusBrasil, acredita que será a vez do grid. Para ele, “o cenário multi-device já é uma realidade, mas um problema ainda relativamente novo para o CSS. Por isso eu acredito que a bola da

Page 66: Revista iMasters #13 - Fevereiro/2015

Bernard De Luna já foi lider de produto no Jornal do Brasil e Petrobras, Diretor criativo da Melt DSP, Coordenador de Produto da Estante Virtual e Head de Produto no Videolog. Atualmente é Líder de Produto do iMasters e Co-founder do Freteiros.com. Especializado em Front-end, Design funcional e inovação, possui pós-gradução em Marketing Digital. Já deu mentoria na Lean Startup Machine, Startup Weekend, Next, Papaya Ventures, Desafio Brasil, Ideation, 21212, Aceleratech e Startup NAVE,e já participou de mais de 85 eventos pelo Brasil, além do evento internacional do W3C, Startup Camp LATAM, HTML5DevConf, iMasters InterCon, BRAPPS, entre outros. @bernarddeluna | [email protected]

vez em 2015 seja diagramação, com pro-priedades como grid e flexbox e unidades como rem, vh, vw, vmin e vmax. E quem sabe, umas variáveis e mixins?”

JavaScript

O conhecimento de JavaScript nunca foi tão importante para o profissional web. Cada vez mais a linguagem se torna providencial e diferenciada para criar aplicações e sites complexos. Uma das plataformas que tem impulsionado esse momento incrível do Ja-vaScript é o NodeJS, como aponta o pro-gramador de búzios Leonardo Balter, da Bocoup: “No cenário do JS tem muita coisa mudando lá pro NodeJS, com o atual fork io.io, que quer o mudar o seu ecossistema pra algo colaborativo. Eu sinto que temos tudo para conseguir um ambiente bem ami-gável para o ECMAScript 6 ainda em 2015.”.

Essa evolução do JavaScript vai afetar bas-tante não só o Brasil, como também outros países, como aponta o tarólogo americano Michael Lancaster, da Orbitz. “Com o su-per buzz do JavaScript nos últimos anos (Everything JavaScript) as aplicações híbri-das/App runtime estarão cada dia mais sen-do utilizadas por países como Índia, China e também o Brasil. Principalmente por pode-rem gastar menos, fazer mais, utilizando o mesmo stack tecnológico com suas vanta-gens cross-platform.”

Outro fator de sucesso que vai ficar ainda melhor em 2015 é o crescimento dos fra-meworks JS e também suas adoções, como diz o leitor de bola de cristal Ciro Nunes, da Questrade: “As duas maiores promes-sas (que já são realidade) para 2015 são os Web Components e o advento da ES6 (EC-MAScript 6). Sobre a primeira, a expectati-va é que os browser vendors que ainda não concordaram em dar suporte à tecnologia o façam. Já a ES6 está completa (e a ES7 em

discução) e todos os browsers já apresen-tam planos concretos para dar o máximo de suporte às especificações o quanto antes! A versão 2.0 do AngularJS está sendo desen-volvida e de acordo com os design docs do core team, ela está sendo toda escrita em ES6 (com algumas features acrescentadas) e terá integração com os Web Components dos browsers.”

“No cenário do JS tem muita coisa mudando lá pro Node-JS, com o atual fork io.io, que quer o mudar o seu ecossis-tema pra algo colaborativo”

2015

Queremos ativar muito mais a comunidade brasileira em 2015. Espero que mais cidades ganhem eventos para descobrir, fomentar e capacitar mais desenvolvedores. Que mais empresas unam suas áreas de tecnologia, design e marketing, visando um produto de qualidade e sucesso. Nós do iMasters estamos planejando eventos incríveis para este ano!

66 > Tendências

Page 67: Revista iMasters #13 - Fevereiro/2015

Um dia de especialistas em WordPress por conta do seu site

Apiki WP One Day

O Apiki WP One Day é uma grande inovação na forma de contratar o time de especialistas em WordPress da Apiki. É indicado para manutenção, suporte e atuações em necessidades pontuais.Funciona assim: você contrata um dia de trabalho, agenda a melhor data pra você, de acordo com a disponibilidade dos pro�ssionais, realiza o pagamento e envia o brie�ng contendo suas necessidades. Então, no dia agendado, você terá um especialista dedicando-se exclusivamente ao seu projeto.

> Saiba mais sobre essa novidade no site: bit.ly/apikiwponeday

Page 68: Revista iMasters #13 - Fevereiro/2015

Portais corporativos: o que são e como mantê-los

Por Bruno Rodrigues, Consultor de Informação e Comunicação Digital

Tão importante para uma marca quanto atender às demandas dos públicos na In-ternet, é criar laços profundos com quem se dedica, no dia-a-dia, a mantê-la de pé: seus empregados, o público interno das empresas.

Contudo, é comum uma empresa me con-sultar sobre a necessidade ou não de de-senvolver um portal corporativo.

Para que seja tomada uma decisão acerta-da é preciso, antes de tudo, entender o que é um portal interno e qual a sua real função. Ainda são muitas as dúvidas que encontro no mercado brasileiro, após quinze anos de experiência e quarenta marcas atendidas. A verdade é que a área está em crescimento, e por isso as questões se modificam ao lon-go do tempo. A saída para obter uma res-posta sensata é estar sempre em dia com as novidades.

Afinal, que pontos são fundamentais para se compreender a função de um portal corporativo? Um bom começo é entender as diferenças práticas entre intranets e portais internos, seus norteadores, os pi-lares de sustentação e como funciona sua governança.

Intranets, Sites Internos e Portais Corporativos

Vou ajudá-lo a desmontar, desde o início, a

maior armadilha com que você deverá se deparar: não, intranet é não é sinônimo de portal corporativo. É muito simples entender a diferença: da mesma forma que a web contém sites e portais, eles também existem em uma intranet. E assim como você não é dono da web, mas de seu site ou portal na Internet, uma equipe não é dona de tudo o que há em uma intranet. Hoje, é comum que as áreas de Comunicação das empresas sejam responsáveis pelos portais corporativos, mas não de todos os aplicativos que existem em uma rede interna – SAP, sistemas de consulta a contracheques e aplicações para solicitar férias são bons exemplos, entre dezenas. Ou seja, na intranet está o seu portal corporativo, mas uma intranet não é o portal corporativo. Um portal pode existir de duas formas: coe-so, unido, a junção em um mesmo ambien-te do que poderiam ser sites independentes dentro de uma mesma intranet, ou como um conjunto de sites ‘avulsos’ de áreas, gerên-cias ou coordenações que só têm em comum a mesma porta de entrada, a primeira página (o conceito real de ‘portal’).

Na prática, para funcionar como uma real fer-ramenta de comunicação interna, a primeira opção é a que tem se mostrado a mais eficaz desde o início, meados dos anos 90. Um por-tal corporativo deve ser um ambiente único e integrado, e ponto.

68 > Sr. Conteúdo

Page 69: Revista iMasters #13 - Fevereiro/2015

Integração e padronização Por que um portal deve ser integrado? É como criar um acesso fácil a um estádio de futebol e poder comunicar-se com todo o público ao mesmo tempo: estão todos jun-tos em um mesmo lugar. Da mesma forma, um portal corporativo, além de oferecer uma entrada única e facilitada, precisa constituir um mesmo ambiente. Mais do que evitar ruídos na comunicação e no acesso aos conteúdos e aos aplicativos, a economia é enorme: utilizam-se as mesmas ferramen-tas de portal, publicação, métricas, busca e rede social, que seriam multiplicadas pelo infinito se existissem sites ‘avulsos’, cada um administrando seu espaço de uma for-ma diferente.

Uma vez construído um ambiente único, parte-se para a padronização – afinal, de que adianta reunir informações e entradas para sistemas em um mesmo lugar, se os mecanismos de acesso e consulta são di-versos para empregados de gerências di-ferentes? Ainda que cada área – ou coor-denação, ou gerência – tenha suas próprias características, estar em um ambiente úni-co significa ter o mesmo layout e a mesma arquitetura da informação (leia-se os nomes dos itens dos menus) em todo o portal. Não basta ter as mesmas ferramentas, é preciso que a experiência do usuário (UX) seja a mesma. Usabilidade antes de tudo.

Governança

Pouco adianta criar um ambiente integra-

do e padronizado se não forem elaborados documentos que garantam a manutenção desses dois norteadores. Como em toda a empresa, vale o que está escrito. Portan-to, mais que desenhar a governança de um portal corporativo - quem faz o quê, como e por quê -, fundamental é colocar essas regras no papel, produzindo documentos de governança que orientem, esclareçam e coloquem os pingos nos ‘is’ no que for preciso.

Dois documentos são essenciais: o de go-vernança propriamente dito, com a descri-ção dos personagens envolvidos na gestão do portal, e o de normas de publicação, com o passo a passo do que pode ou não ser publicado pelas áreas e seus porquês. Sendo possível criar documentos adicionais – o manual de uso da ferramenta de publi-cação deverá ser o terceiro da fila -, o faça. Mais do que servir como ‘tábuas da lei’ da administração de um portal interno, eles servem como ‘legado’, pois que a equipe envolvida em sua gestão não estará lá ad eternum – é fato. Informações permane-cem, equipes, nem sempre.

Ação, informação e interação

O que precisa existir em um portal interno? Após duas décadas, é nítida a missão de um portal corporativo funcionar como ‘a’ ferramenta de trabalho – ou seja, servir de veículo para a ação. Lembro-me de uma vez, ao entrevistar um empregado de uma

“Da mesma forma, um portal corporativo, além de oferecer uma entrada única e facilitada, pre-cisa constituir um mesmo ambiente“

Sr. Conteúdo < 69

Page 70: Revista iMasters #13 - Fevereiro/2015

Bruno Rodrigues é Consultor de Informação e Comuni-cação Digital, autor dos livros ‘Webwriting’ (2000, 2006 e nova edição em 2014) e de ‘Padrões Brasil e-Gov: Cartilha de Redação Web (2010), padrão brasileiro de redação online’. Também é instrutor de Webwriting e Arquitetura da Informação no Brasil e no exterior. bruno-rodrigues.blog.br | @brunorodrigues

grande empresa sobre sua relação com o portal interno, de ficar admirado ao ouvir que ‘se o portal saísse do ar, era melhor ir para casa’. Ou seja, embora a visão seja um pouco radical, o cenário era o sonho de muitas corporações: um portal indispensá-vel que fosse o principal acesso a instru-mentos e informações voltados para a roti-na diária de trabalho. Esteja certo: isso é o que devemos perseguir, sempre.

Ao mesmo tempo, notícia é fundamental em um portal interno. Sem material noticio-so, não há visitação, o portal não sobrevive. É o que chamo de ‘conteúdo-âncora’: no-tícia é o que alavanca todo o universo de informações e aplicações contidas em um portal corporativo. Como uma grande loja de uma marca conhecida em um shopping center, é o material noticioso que faz com que o usuário retorne ao portal, a ‘isca’ que o atrai pelo que há de novidade e que esti-mula o acesso ao conteúdo ‘fixo’, o material institucional que não muda com periodici-dade curta.

Mas, atenção: apenas 1/4 das páginas da maioria dos grandes portais internos é de material noticioso; 3/4 são compostos por material ‘fixo’, aquele que dá acesso a in-formações ou instrumentos de trabalho – e voltamos ao parágrafo anterior. Em suma: notícia é ‘conteúdo-âncora’, mas não a principal justificativa para a existência de um portal interno.

Acorde – portal não é jornal, é ferramenta de trabalho. E, além disso, atente para o fato de que uma notícia precisa permanecer duas semanas na primeira página de um portal (ou da gerência, ou da área etc.) para ser consumida pela maioria dos emprega-dos que costuma acessar o portal. Deixe o vício da ‘notícia nova a toda hora’ para os veículos noticiosos - o que um portal corpo-rativo, definitivamente, não é.

Completando o tripé de sustentação de um portal interno está a interação. Encare-a como a relação contínua entre duas perso-nas: empresa/empregado e entre os pró-prios empregados. Recurso de comentários em notícias, ‘Fale Conosco’, chat e (até) uma rede social são espaços de interação.

Exato: uma rede social ou um ambiente de colaboração são extremamente eficientes como instrumentos para a produtividade, mas estão longe de ser os primeiros instru-mentos de interação entre marca e público interno. Ao investir em uma rede social in-terna, tenha em mente que você precisará de 1) recursos financeiros 2) recursos hu-manos 3) planejamento a longo prazo. Se estiver em dúvida sobre como e por que sua empresa deve implantar um ambiente de coloração, não gaste dinheiro – e tempo – à toa.

70 > Sr. Conteúdo

Page 71: Revista iMasters #13 - Fevereiro/2015

Novo

Novo

Co

pyr

ight

© 2

013

Inte

l Co

rpo

rati

on.

To

do

s o

s d

irei

tos

rese

rvad

os.

Inte

l, o

log

o In

tel,

Xeo

n e

Xeo

n In

sid

e sã

o m

arca

s d

e p

rop

ried

ade

da

Inte

l Co

rpo

rati

on

nos

EU

A e

em

out

ros

paí

ses.

Traga o seu servidor para voar mais alto com o novo Jelastic Cloud Locaweb, agora com suportes Ruby e Python, SSH, APIs e Marketplace com mais

de 100 aplicativos pré-instalados. É mais facilidade no deploy, cloud escalável e previsibilidade de custos para seus projetos.

Se você sonha alto em seus projetos web, melhor ter um servidor que o acompanhe.

Locaweb.com.br

Conheça o novo Jelastic Cloud Locaweb. Faça o deploy agora mesmo e use por 14 dias grátis.

Jelastic Cloud Locaweb Tecnologia inteligente para seu projeto ir mais longe.

Locaweb.com.br/Jelastic

LSIINST-0079 Jelastic Cloud_170x245_Rev.indd 1 1/16/15 3:25 PM

Page 72: Revista iMasters #13 - Fevereiro/2015

Informações e dicas sobreprojetos Open SourcePor Kemel Zaidan, evangelista Locaweb em tempo integral e de software livre nas horas vagas

Chocolatey Nuget

Chocolatey é um gerenciador de pacotes, se-melhante ao apt-get, porém para Windows. Com ele, é possível instalar facilmente, a partir da linha de comando, uma infinidade de apli-cativos open source como Vim, Arduino IDE, Nodejs e Ruby. Além disso, estão disponíveis freewares para Windows, como o editor de texto hipster, Sublime Text, e versões para uso pessoal (limitadas) de aplicativos da Mi-crosoft, como Visual Studio e SQL Server. Se você está acostumado ao workflow do Linux, mas encontra-se forçado a usar uma máqui-na Windows, vai gostar bastante deste pro-grama. https://chocolatey.org

Omeka Omeka é um CMS desenvolvido com institui-ções acadêmicas, museus, arquivos e gale-rias em mente. Com ele, é possível armaze-nar e disponibilizar qualquer tipo de conteúdo (áudio, imagem, vídeo etc.) de uma forma rica e flexível. Por seguir o padrão Dublin Core, ele suporta uma grande quantidade de conteú-do, que pode ser facilmente encontrado e re-cuperado por ferramentas automatizadas de indexação. http://omeka.org/

Koala

Less, Sass, Compass e CoffeeScript são al-guns dos pré-processadores que têm dado vida nova a antigas ferramentas de front-end, como JavaScript e CSS. Se você é do tipo que não gosta de utilizar Grunt porque ela é uma ferramenta de linha de comando (não

deveria!), pode tentar usar o Koala para com-pilar os seus códigos em uma GUI. O inte-ressante do Koala é que ele é um aplicativo web multiplataforma para desktop feito com node-webkit. http://koala-app.com/

Linux Dash

O Linux Dash é um programa que permite monitorar seus servidores Linux, fornecendo dados importantes como utilização de CPU, consumo de memória RAM, processos em execução, espaço em disco, rede etc. Ao contrário de outros programas do tipo, a instalação é ultrassimplificada: basta clonar o repositório git do software (ou descom-pactar o pacote zip) na raiz do servidor web, e pronto! A única dependência é ter o PHP instalado. Não há necessidade de módulos extras. Outra vantagem é que, por ter uma interface responsiva, o Linux Dash dispen-sa a instalação de um app dedicado no seu celular, para que você tenha acesso a esses dados. A restrição de acesso deve ser feita via .htaccess ou outro mecanismo do tipo. http://www.linuxdash.com

72 > Código Livre

Kemel Zaidan é um pseudo-programador, metido a jornalista, com alma de artista e evangelista na Locaweb. [email protected] | @kemelzaidan

Page 73: Revista iMasters #13 - Fevereiro/2015

Segundo a Digital Analytics Association, Di-gital Analytics (DA) é a ciência de analisar os padrões históricos de dados vindos de inte-rações digitais, visando a melhoria da perfor-mance da empresa e a previsão de tendên-cias de negócios. Essas interações ocorrem em diversos contextos como nas visitas aos sites, uso de apps, comentários em mídias sociais e cliques em campanhas online.

O conceito de DA parece um tanto preten-sioso, e é mesmo, mas é profundamente ba-seado na realidade. Empresas como Apple, Google e Facebook que estão entre as mais valorizadas, utilizam DA para se tornarem cada vez mais competitivas.

Embora saibamos das potencialidades de DA e de sua importância estratégica, ainda há poucas pesquisas informando como as empresas brasileiras usam esse conceito. Por este motivo, resolvi estudar este tema em minha tese de doutorado apresenta-da na Escola Politécnica da USP: “Cria-ção de Valor Estratégico através de Digital Analytics”. Este estudo contou com 121 re-ferências bibliográficas e documentais, pes-quisa com 76 executivos, análise de 12 mil posts em fóruns especializados e 7 estudos de caso em empresas operando no Brasil.

O conceito de DA parece um tanto pretensioso, e é mesmo, mas é profundamente baseado na realidade

A pesquisa mostrou que 67% dos executi-vos deseja capturar dados de concorrentes na Internet para realização de benchmarks. Isso mostra o potencial que DA possui para incrementar a inteligência competitiva das empresas. Saber como os consumidores se portam na presença digital de seus concor-rentes é um belo parâmetro para melhorar a presença da própria empresa na Internet. Atualmente existem pesquisas de mercado como ComScore e Nielsen que coletam es-ses dados através de painéis de internautas.

Embora saibamos das poten-cialidades de DA e de sua im-portância estratégica, ainda há poucas pesquisas informando como as empresas brasileiras usam esse conceito

O monitoramento de mídias sociais é cita-do por 58% dos entrevistados, mostrando a alta preocupação com as opiniões que os consumidores externam sobre as marcas nessas mídias. 53% dos executivos elegem como prioridade a captura de dados de não clientes na Internet para geração de negó-cios. Isso é coerente com as propagandas que vemos na Internet e que são baseadas no histórico de navegação dos consumido-res. Em menor grau, 48% dos executivos ve-rificam informações do comportamento dos usuários no site da empresa.

Criação de Valor Estratégico através de Digital AnalyticsPor Claudio Oliveira, pesquisador do ESPM Media Lab

Analytics < 73

Page 74: Revista iMasters #13 - Fevereiro/2015

74 > Analytics

Ao compararmos estas expectativas dos profissionais de negócios com as preocupações dos profissionais que implementam e realizam as análises, verificamos uma enorme lacuna. A maior parte dos profissionais está preocupada em analisar os dados de navegação nos sites,

dedicando menos ênfase para análises de mídias sociais e tendências dos consumido-res. Isso aponta um cenário preocupante, de falta de alinhamento entre as necessidades dos executivos e a entrega dos analistas.

Saber como os consumidores se portam na presença digi-tal de seus concorrentes é um belo parâmetro para melhorar a presença da própria empresa na Internet

Alinhamento entre estratégia e TI vs aplicação de DA

Os estudos de caso em sete empresas mostraram que aquelas que possuem maior alinhamento entre a estratégia de negócios e a tecnologia da informação conseguiram aplicar melhor as informações de DA crian-do valor estratégico para o negócio. No entanto, onde este alinhamento é baixo, DA criou pouco valor, mesmo em empre-sas que investiram bastante em tecnologias de monitoramento. A boa notícia é que até mesmo empresas pequenas podem ter ex-celentes resultados com DA se utilizarem as informações de forma estratégica. Cito o caso da Banda Mais Bonita da Cidade, que ficou famosa com a viralização do ví-

74 > Analytics

Page 75: Revista iMasters #13 - Fevereiro/2015

75 > Analytics

deoclipe Oração, no Youtube. A Banda ve-

rifica as preferências de seus fãs na Internet

para definir a rota de sua turnê e saber que

músicas devem ser gravadas no próximo

álbum, num processo de colaboração com

seus consumidores que se mostrou rentável.

Outras empresas analisadas se valeram de

palavras-chave digitadas pelos clientes para

chegar em seus sites, para ter insights de

novos produtos e serviços. São ideias pos-

síveis para qualquer empresa que queira

analisar essas informações com ferramental

extremamente acessível.

Uma vez concluída a tese, pensamos em no-

vas formas de aprofundar essa pesquisa, de-

vido ao interesse mostrado pelo público em

diferentes fóruns como o Google Analytics

User Conference e a Feira de Empreendedo-

rismo da FIESP. Por conta disso, o Centro de

Altos Estudos da ESPM financiou uma con-

tinuação da pesquisa, onde pretendemos

relacionar as diferentes variáveis de Digital

Analytics com a competitividade das empre-

sas e consequente resultado nos negócios

gerados.

Em parceria com o ESPM Media Lab, cria-

mos o Índice de Presença Digital. Na primei-

ra fase do estudo, analisamos dados da pró-

pria ESPM para cálculo do índice. Na fase

atual, estamos analisando outros mercados

e aceitando indicações de empresas que

queiram participar do estudo, interessados

podem entrar em contato pelo site espm.br/

medialab. Os resultados da pesquisa serão

divulgados no 2º Fórum Digital ESPM Media

Lab, previsto para setembro.

Claudio Oliveira é pesquisador do ESPM Media Lab, Professor da ESPM, Fundação Vanzolini – USP e do Digicorp da ECA-USP. Graduado, mestre e doutor pela Escola Politécnica, pesquisador com diversos artigos publicados em congressos e periódicos internacionais, é sócio da Cognitive Consultoria e trabalha com Digital Analytics desde 2000 em grandes projetos. http://br.linkedin.com/in/cloliveira | [email protected]

Analytics < 75

Page 76: Revista iMasters #13 - Fevereiro/2015

O futuro não está tão distantePor Flávia Jobstraibizer, Analista de Sistemas, Editora-chefe das Revistas Linux Magazine e Admin Magazine

76 > Tecnologia do Futuro

As previsões feitas há algum tempo pelos analistas de mercado do Gartner, sobre como seriam os próximos anos da tecnologia, não estavam totalmente erradas. Um apanhado dessas previsões e análises foi feito em 2012 e divulgado pelo Portal Terra: http://ow.ly/Gc4RE. Em uma das previsões, estava a constatação de que no ano de 2013 as redes sociais representariam grande porcentagem do investimento em publicidade. A tendên-cia não apenas realizou-se e consumou-se, tendo as redes sociais como um dos maiores aliados das empresas na atualidade, como deve permanecer por pelo menos mais uns dois ou três anos, e se depender da veloci-dade do mercado, novas redes sociais (ou modelos de negócio baseados em redes sociais) devem surgir e absorver a crescente demanda da aproximação do público com a empresa.

Outra análise previa que em 2016 metade dos e-mails corporativos seria lida em dispo-sitivos móveis. Essa realidade já chegou aqui em 2014, e grande parte das empresas ou adotam BYOD, ou possuem iniciativas para que seus colaboradores utilizem smartpho-nes e tablets corporativos para os mais diver-sos fins (que incluem e-mail).

A tendência não apenas real-izou-se e consumou-se, tendo as redes sociais como um dos maiores aliados das empresas na atualidade

É curioso pensar que há apenas dois anos as previsões tendiam a nos fazer pensar que levaria cerca de 5 anos para que o mercado móvel dominasse o desktop, que a nuvem passaria a ser requisito fundamental para a contratação da infraestrutura de TI em-presarial e que o mercado de segurança da informação e combate ao cibercrime seria um dos custos mais representativos de uma empresa. Essas tendências, que eram pre-visões para os próximos anos, tornaram-se realidade rapidamente e, em 24 meses, por exemplo, já mostraram que são realidade e permanecerão em crescente demanda pelos próximos anos.

Seguindo essa linha, podemos prever que pelo menos 50% do comércio delivery de grandes empresas serão feitos por drones robotizados, que as casas inteligentes (com videomonitoramento, fechaduras biométricas e que avisam via SMS o proprietário da casa caso algo pareça errado) estarão totalmente inseridas na vida e no dia a dia das pessoas comuns.

Será corriqueiro, em menos de 5 anos (fazen-do uma previsão longa), que nossas roupas com chip nos mandem análises cardíacas ou mesmo de ácido úrico pelo contato com a pele. Serviços médicos poderão ser extre-mamente automatizados através da presença de robôs cirúrgicos (hoje em promissores tes-tes em grandes hospitais), que serão comuns nas salas de cirurgia, e que os dispositivos móveis, cada vez menores e mais leves, se tornem uma parte do seu corpo, seja hologra-

Page 77: Revista iMasters #13 - Fevereiro/2015

ficamente, através de tecnologias vestíveis (e por que não, por meio de chips inseridos no corpo), ou mesmo tão inteligentes que enten-dem via gestos ou pensamento as vontades do usuário.

Novos anos sempre trazem tais reflexões para nossa vida. Algumas delas são profun-damente esperadas, como o BitCoin, que po-derá se fortalecer como moeda virtual, assim como a tecnologia NFC, que já é considerada “antiga” fora do Brasil, passará a comandar muitas das nossas ações do dia a dia e, en-fim, será o padrão para pagamentos móveis (otimismo!).

Seguindo essa linha, podemos prever que pelo menos 50% do comércio delivery de grandes empresas serão feitos por drones robotizados, que as casas inteligentes (com vide-omonitoramento, fechaduras biométricas e que avisam via SMS o proprietário da casa caso algo pareça errado)

Diferenciais tecnológicos que incentivem a preservação de recursos naturais - e que em tempos de falta de água são benvindos - tam-bém serão fortes tendências. Painéis solares, energia renovável e seus derivados estão cada vez mais acessíveis para consumidores finais, que poderão gerar seus próprios recur-sos de forma inteligente. O Gartner inclusive previu que em 2016 provedores de serviços

em nuvem passariam a cobrar taxas extras derivadas do aumento de consumo e de uso de energia elétrica, portanto, todas as ações nesse sentido serão fundamentais e de gran-de impacto no futuro.

E por falar em futuro, este nos mostra que está cada vez mais perto e que não temos tempo a perder!

É possível manter soluções robustas para vir-tualização utilizando software open source. Conheça as ferramentas com as quais você pode se beneficiar

Flávia Jobstraibizer é editora-chefe das Re-vistas Linux Magazine e Admin Magazine, analista de sistemas, autora de livros de infor-mática e defensora da liberdade digital. Mãe de dois meninos lindos, solteira convicta e workaholic assumida, mantém vários projetos em paralelo nas áreas de TI e terceiro setor. Toca violoncelo, odeia cigarro e adora estu-dar, aprender, conversar com gente inteligen-te e tomar Piña Colada de vez em quando. http://flaviajobs.com.br | @flaviajobs

Tecnologia do futuro < 77

Page 78: Revista iMasters #13 - Fevereiro/2015

78 > Review

Antes de explicar o porquê da minha prefe-rência ao Gulp e também falar mais sobre ele, acho que primeiro precisamos entender um pouquinho os conceitos.

Automatizadores de tarefas

Automação (do latim Automatus, que sig-nifica mover-se por si) é um sistema au-tomático de controle pelo qual os meca-nismos verificam seu próprio funcionamento, efetuando medições e introduzindo corre-ções, sem a necessidade da interfe-rência do homem. A automação diminui os custos e aumenta a velocidade da produção. (2004 - Lacombe).

A web tem evoluído muito rapidamente e, com essa evolução, novos padrões e pre-ocupações acabaram surgindo. Otimizar imagens, compilar CSS, minificar arquivos e testar o site em diferentes browsers são algumas dessas preocupações. Mas definiti-vamente essas tarefas são muito repetitivas e nada divertidas. Por sorte, existem os au-tomatizadores, que se encarregam de fazê--las para nós.

Ah, então é para isso que o Gulp serve? Sim, é para isso mesmo! Mas ele não é o único e nem o primeiro, existem vários, como Make (Unix), Ant (Java), Rake (Ruby) e Grunt (Ja-vaScript). Se quiser uma listinha com vários

automatizadores em JS, tem esta aqui - http://ow.ly/HPx0c

Mas... vamos falar de Grunt e Gulp

Gulp (gulpjs.com) e Grunt (gruntjs.com) são os automatizadores mais famosos em JS e compartilham muitas características:

• Ambos são feitos em JS e utilizam o Node-JS para rodar

• Têm uma comunidade muito ativa e, inclu-sive, compartilham um contribuidor, Sindre Sorhus (github.com/sindresorhus)

• Funcionam através de uma cli no terminal

• São projetos open source sob a MIT Li-cense

• Servem praticamente para os mesmos propósitos

Um pouco do Grunt

Muito conhecido na área de front-end, foi criado em 2012 por Ben Alman (github.com/cowboy). Funciona através da configuração de um arquivo chamado Gruntfile.js, que irá gerenciar os vários plugins do ecossistema e cria arquivos intermediários no disco (tem-porários), até gerar o arquivo final desejado.

Por que usar Gulp?

Por Willian Justen de Vasconcellos e Richard Johansen

Arquivode entrada

Leitura doArquivo

Modi�ca doArquivo

Modi�ca oArquivo

Escreve noArquivo

ArquivoFinal

Leitura doArquivo

Escreve noArquivo

PastaTemp

Page 79: Revista iMasters #13 - Fevereiro/2015

Como instalar?

$ npm install -g grunt-cli

Exemplo

module.exports = function(grunt) { grunt.initConfig({ less: { development: { files: { “build/tmp/app.css”: “assets/app.less” } } },

autoprefixer: { options: { browsers: [‘last 2 version’, ‘ie 8’, ‘ie 9’] }, multiple_files: { expand: true, flatten: true, src: ‘build/tmp/app.css’, dest: ‘build/’ } } });

grunt.loadNpmTasks(‘grunt-contrib-less’); grunt.loadNpmTasks(‘grunt-autoprefixer’);grunt.registerTask(‘css’, [‘less’, ‘autopre-fixer’]);

};

A partir do exemplo acima, notamos que é criado um módulo, e ele irá encapsular

todas as configurações do Grunt, tendo al-gumas opções dentro de cada etapa de configuração, como arquivos e tarefas que são chamadas.

Veja um workflow usando o Grunt, feito pelo Davidson Fellipe: http://ow.ly/HPy4u

Pontos fortes do Grunt

• Comunidade grande

• Muitos plugins

Pontos fracos do Grunt

• Arquivos de configuração muito grandes

• Grande número de parâmetros para cada plugin

• Processamento lento quando utiliza arqui-vos muitos grandes

• Linha de aprendizado um pouco maior

• Criação de arquivos temporários

Um pouco do Gulp

O Gulp foi criado na metade de 2013 por Eric Schoffstall (https://github.com/contra) com o objetivo de simplificar e agilizar o processo, utilizando streams. A informação é transmitida através das tarefas usando o método de pipeline, o que reduz o número de operações I/O.

Arquivode entrada

Leitura doArquivo

Modi�ca doArquivo

ArquivoFinal

Modi�ca doArquivo

Escreve noArquivo

Review < 79

Page 80: Revista iMasters #13 - Fevereiro/2015

80 > Review

Como instalar?

$ npm install -g gulp

Exemplo

var gulp = require(‘gulp’),

less = require(‘gulp-less’),

autoprefix = require(‘gulp-autoprefixer’);

gulp.task(‘css’, function () {

gulp.src(‘assets/app.less’)

.pipe(watch())

.pipe(less())

.pipe(autoprefix(‘last 2 version’, ‘ie 8’, ‘ie

9’))

.pipe(gulp.dest(‘build’));

}); Diferentemente do Grunt, o arquivo do Gulp não irá configurar os plugins - ele irá fazer as chamadas das tarefas de forma prática e simples. Os grandes diferenciais são a utilização dos pipes(), que encadeiam as ta-refas, e a API básica do Gulp, que possui task(),run(), watch(), src()e dest().

Veja um exemplo de um worflow usando o Gulp: http://ow.ly/HPymD.

Pontos fortes do Gulp

• Melhor performance

• Arquivo de configuração pequeno e mais fácil de ler

• Linha de aprendizado menor

• Evita criação de arquivos temporários

• Facilidade de uso através dos 5 comandos principais da API

• Plugins mais simples e menores

• Utilização de bibliotecas-padrão em vez de

plugins para tudo

• As tarefas são executadas com o máximo

de concorrência

Pontos fracos do Gulp

• Menos plugins que o Grunt (precisa mes-

mo de tantos?)

• Comunidade menor

Comparativo

Já faz um tempo considerável que o Gulp foi

lançado, então o seu “boom” já diminuiu e

agora podemos analisá-lo melhor. De acor-

do com os dados do NPM, o Gulp conti-

nua crescendo e já está inclusive com um

número maior de contribuidores no core, o

que só demonstra que ele é, sim, uma ótima

ferramenta para automatização de tarefas e

é bastante aceito na comunidade.

Page 81: Revista iMasters #13 - Fevereiro/2015

Performance

As tarefas foram executadas no meu Mac-Book Air 2014 (1.4 GHz Intel Core i5 - 8Gb Ram - 256Gb SSD). Para fazer um teste mais pesado, optei por carregar todos os arquivos do Bootstrap (Sass e JS).

Tarefa Gulp GruntSass 0.821s 1.870s

UglifyJS 80ms 815ms

Podemos notar que o Gulp leva uma boa vantagem nos tempos de compilação, e isso se deve ao fato de ele utilizar as Streams, não precisando criar arquivos temporários.

Por que Gulp?

Como mostrado acima, o Gulp é mais fácil de utilizar, tem melhor performance e é es-crito em cima de código em vez de confi-guração, como no Grunt. Ele possui plugins para a maioria das tarefas utilizadas normal-mente, é mais fácil de escrever plugins para tarefas ainda não existentes e, apesar de ter uma comunidade menor que a do Grunt, é bastante grande. Como eu priorizo facilidade e performance, não pensei duas vezes em utilizá-lo no meu workflow.

Devo partir para o Gulp então?

Essas perguntas sempre aparecem, e a me-lhor resposta para elas é: “Depende!”. Se você já está confortável com a configuração do seu sistema atual, você realmente tem necessidade de mudar só porque dizem que é melhor?

Você está começando agora a montar seu workflow? Se a resposta for sim, então vale a pena olhar para o Gulp, ele será mais fácil de aprender e você já terá as vantagens dele.

Você está tendo problema de demora na

compilação dos arquivos? Teste o Gulp - ele pode ajudar bastante nisso. Eu tinha uma máquina mais modesta antes e como não era SSD, as tarefas de leitura/escrita eram bem mais lentas, e o Grunt fazia piorar ainda mais; então mudei para o Gulp e tive um belo ganho de velocidade.

O mais importante de tudo é passar a utilizar um automatizador, o que irá lhe permitir ter um padrão bem melhor nos seus projetos e ganhar um tempo considerável.

Busque conhecimento

• GruntJS - http://gruntjs.com/

• GulpJS - http://gulpjs.com/

• State of Grunt - http://ow.ly/HPyH4

• Gulp - The vision, history and future of the pro-ject - http://ow.ly/HPyKA

• Grunt vs Gulp - Beyond Numbers - http://ow.ly/HPyOp

• Building with Gulp - http://ow.ly/HPyV5

• Slides of Gulp - http://ow.ly/HPyXS

• Gulp, Grunt, Whatever - http://ow.ly/HPz2v

• Gulp: O novo automatizador - http://ow.ly/HPz5B

• Bye bye Grunt.js, hello Gulp.js! - http://ow.ly/

HPz8M

Willian Justen de Vasconcellos é desenvolvedor front-end que ama trabalhar com desafios e proje-tos criativos, trabalhando atualmente no Queremos! É entusiasta de tecnologias web e evangelista de SVG. @Willian_justen | github.com/willianjusten | [email protected]

Richard Johansen é lead front-end developer na Fu-tura Networks, membro do GT de Acessibilidade do W3C Brasil. É um pesquisador apaixonado por tec-nologias ligadas a openweb, front-end, semântica e cross-browser. Atualmente desenvolve interfaces atuando principalmente nos seguintes temas: we-bstandards, web semântica, acessibilidade, html5, css3, design responsive e openweb plataform. @ridjohansen | github.com/ridjohansen | [email protected]

Review < 81

Page 82: Revista iMasters #13 - Fevereiro/2015

A festa dos NerdsPor Fabio Lody, Diretor de Arte do iMasters

Comic Con Experience, que aconteceu em dezembro, em São Paulo, trouxe ex-celentes atrações e ótimas opções para fanáticos em action figures

Estive na Comic Con Experience - CCXP. Se tivesse que resumir tudo em uma palavra, seria um sonoro “uau!”. Foi realmente uma experiência incrível poder vivenciar um evento desses, no mesmo nível da versão americana.

Aqui no Brasil, a feira foi realizada pelo site Omelete e pelo estúdio Chiaroscuro. Como era de se esperar, reuniu grandes marcas da cultura pop no Brasil, fãs e artistas. A organi-zação declarou que foi um sucesso de públi-co, e não é de se espantar, já que o evento virou ponto de encontro de todas as gerações de nerds e de profissionais do ramo - cerca de 100 mil pessoas passaram por lá, e al-guns expositores geraram mais vendas nes-ses quatro dias do que em todo o mês de novembro, incluindo o Black Friday.

Fãs de quadrinhos, cosplayers com fanta-sias minuciosamente preparadas, youtubers e blogueiros, famosos ou não, puderam ver de perto os convidados ilustres, que tanto encantam nas edições gringas. Sean Astin (O Senhor dos Anéis/Os Goonies), Edgar Vivar (Sr. Barriga), Brad Dourif (dublador de Chucky – Brinquedo Assassino / O Senhor dos Anéis), Jason Momoa (Conan / futuro Aquaman), Jim Morris (presidente da Pixar), Maurício de Sousa, e muitos outros, marca-ram presença na Comic Con para falar de fu-turos projetos e novidades.

Expositores precisaram repor os estoques por diversas vezes. Desenhistas que auto-grafavam material ficaram sem originais para vender já na sexta-feira, porque a demanda foi muito maior do que a esperada. Eu mesmo não consegui encontrar tudo o que me pro-pus a procurar ali – e olha que fui na quinta e na sexta-feira.

Os cosplayers são os grandes animadores do evento. O Brasil tem campeões mundiais de cosplay, mas que sempre enfrentam dificulda-des de mostrar a sua arte. Levando em conta esse público especial, o evento ouviu os prin-cipais cosplayers do Brasil e criou espaços dedicados a eles, como um camarim.

“A organização declarou que foi um sucesso de público, e não é de se espantar, já que o evento virou ponto de en-contro de todas as gerações de nerds e de profissionais do ramo”

Vi muitos Coringas, Batmans, Darth Vaders e outros tantos personagens que eu nem co-nheço, todos ostentavam suas roupas, mes-

82 > Criatividade Tecnológica

Page 83: Revista iMasters #13 - Fevereiro/2015

Fabio Lody é Diretor de Arte do iMasters e colunista de Photoshop. Desenvolveu trabalhos para vários países, foi aluno de Alexandre Wollner e participou da equipe de criação de projetos como Lollapalooza Brasil, Centenário do Santos, Centenário Vinícius de Moraes, Futebol Run, Expo Money, Super Bike Series, Galinha Pintadinha, FIC, MMA Rocks entre outros. Conquistou o Best Mkt Design 2012 com a marca do centenário do Santos. É praticante de Krav Maga e está há 11 anos nessa vida maluca de subir/descer a serra todos os dias por morar em Santos. @fabiolody

mo com o calor, apenas pelo prazer de po-sar para os celulares dos curiosos ou, quem sabe, de ganhar até um prêmio no concurso.

Ano que vem tem mais, e a organização já falou que será maior, agora que o mercado já provou que tem, sim, espaço e procura para uma Comic Con. Ivan Costa, sócio da CCXP, explicou, na abertura do evento, que o objeti-vo é a transformação do mercado, provando para o fã brasileiro que investir caro num pro-duto original, ou num evento bem estrutura-do, é mais interessante do que incentivar a pirataria ou se contentar com alternativas de baixa qualidade.

No geral, a CCXP foi muito bem recebida pelo público e com certeza superou todas as ex-pectativas. As minhas, com certeza. Como bom nerd, passei anos da minha vida aguar-dando por algo desse porte!

Foi uma experiência sensacional poder fa-zer parte desse evento histórico que oi a 1ª Comic Con Experience.

Fãs de quadrinhos, cosplayers com fantasias minuciosa-mente preparadas, youtubers e blogueiros, famosos ou não, puderam ver de perto os convidados ilustres, que tanto en-cantam nas edições gringas

Criatividade Tecnológica < 83

Page 84: Revista iMasters #13 - Fevereiro/2015

ROI (return on investiment) é o termo utiliza-do para definir o quanto se obteve de retor-no sobre determinado investimento. Na área digital este termo é bastante comum entre a equipe de negócios, marketing e gestão de projetos mas em muitas organizações ainda é incomum a participação do time de TI para avaliar o ROI de projetos web.

Investidores e empresários sempre foram familiarizados com a cultura “data driven”, onde todas as decisões são tomadas com base em dados, para ampliar seus lucros. Em se tratando de produtos digitais, os pro-gramadores - responsáveis por grande parte do custo do produto - podem contribuir mui-to com um ROI mais positivo, e é isto que abordaremos neste artigo.

Performance e metas

Em “Make Data Usefull”, Greg Linden expli-cou que, para a Amazon, 100ms de acrésci-mo na latência reduziu em 1% a conversão de vendas. O faturamento da Amazon em 2013 foi de US$ 74,4 bilhões (http://ow.ly/FUbF4), portanto, teoricamente, qualquer investimento abaixo de U$740 milhões que resulte em uma redução maior que 100ms teria um ROI positivo.

A boa comunicação entre toda a equipe é determinante para o sucesso na mensuração e otimi-zação de ROI de produtos digitais

O Google divulgou uma experiência parecida

e descobriu que 500ms a mais para exibir a página de busca reduziu o tráfego em 20% (http://ow.ly/FUbKx). Em 2014 o buscador fez aproximadamente 100 bilhões de buscas por mês.

A preocupação com latência está direta-mente ligada a experiência do usuário (UX) e quando abordamos este tema devemos estar cientes que a experiência do usuário é muito mais ampla do que os layouts. Cuidar da UX envolve todo o time que desenvolve o produto: infraestrutura, designers, progra-madores, QA, negócios e atendimento. A boa comunicação entre toda a equipe é de-terminante para o sucesso na mensuração e otimização de ROI de produtos digitais.

A preocupação com latência está diretamente ligada a experiência do usuário (UX) e quando abor-damos este tema devemos es-tar cientes que a experiência do usuário é muito mais ampla do que os layouts

No exemplo do Google o teste não era de latência. Era um teste de interface com va-riação no número de resultados exibidos na página do buscador - foi neste experimento que surgiu o teste A/B com esta nomencla-tura. A variante com 30 resultados e 500ms a mais para renderizar, resultou em queda de 20% no tráfego - e foi descartada.

A implementação de testes A/B é uma forma

84 > Gestão

ROI em programação Por Guilherme Serrano, programador e empreendedor, sócio do Eu Compraria e da GS Solutions

Page 85: Revista iMasters #13 - Fevereiro/2015

rápida e barata de começar a tomar deci-sões com base em dados. A cultura de ex-perimentação e a integração entre o time de programadores e designers pode propiciar resultados fantásticos e facilmente compro-váveis. Ter um time com metas bem defini-das, autonomia para experimentar e uma boa ferramenta de métricas é a forma mais honesta de justificar investimentos em um projeto digital.

Custo de desenvolvimento e manutenção

Matematicamente só existem duas for-mas de aumentar o ROI: elevando o lucro ou reduzindo o investimento. Em produtos digitais normalmente a programação re-presenta a maior fatia de investimento, e existe um dado alarmante da Human Fac-tors International de que 50% do tempo de um desenvolvedor é gasto com retrabalhos que poderiam ser evitados. O estudo ainda aponta que arrumar um erro antes do desen-volvimento é 100 vezes mais barato que cor-rigir após implementado. Veja neste vídeo: http://ow.ly/FVsrT

A redução do custo de manuten-ção de um projeto também é uma excelente forma para melhorar o ROI e está atrelada a boas práti-cas de desenvolvimento

A participação de times interdisciplinares desde o início da concepção do projeto au-xilia a reduzir os custos com refação pois, além de propiciar um maior alinhamento da equipe com os objetivos do projeto, permite uma visão técnica para levantar impeditivos e pontos de atenção antes do início do de-senvolvimento.

A redução do custo de manutenção de um projeto também é uma excelente forma para melhorar o ROI e está atrelada a boas práti-cas de desenvolvimento: código legível, rea-proveitamento de código e descentralização da informação.

Produtividade

Acho quase impossível falar sobre produtivi-dade de trabalho intelectual sem citar Daniel Pink e a sua “ciência da motivação”, que é baseada em 3 pilares: autonomia, domínio e propósito. Se você quer alta produtivida-de para você ou para o seu time, trabalhe com autonomia para a tomada de decisões, busque projetos onde encontre um propósi-to com o qual você se identifique e aprenda cada dia mais sobre o que você está fazendo para ter domínio sobre as ferramentas e tec-nologias que você usa.

Além do ROI, tenho certeza que a satisfação do time vai crescer muito!

Veja mais:

Optimizely - Testes A/B http://optimizely.com/

TED - A ciência da motivação (Daniel Pink) http://www.ted.com/talks/dan_pink_on_motivation

Guilherme Serrano é graduado em desenho industrial e pós graduado em gestão empreendedora. Programador e empreendedor, sócio do Eu Compraria (http://eucompraria.com.br) e GS Solutions (http://gssolutions.com.br). [email protected] | @gserrano

Gestão < 85

Page 86: Revista iMasters #13 - Fevereiro/2015

Memcache em larga escalaPor Fernanda Weiden, Gerente de Engenharia do Facebook

Um grande número de websites que se tor-nam populares e atraem milhares de usuá-rios começa como uma simples arquitetura LAMP: Linux, Apache, MySQL e PHP. No Facebook não foi diferente. Com o cresci-mento do site, foi necessário encontrar so-luções para que o acesso aos dados fosse rápido e mais eficaz do que o acesso direto à base de dados (que no nosso caso tam-bém é MySQL). Foi quando começamos a usar memcache. Isso, explico, muito antes de eu chegar por aqui.

O memcache é um software que faz arma-zenamento de pares de chave e valor em memória. Ele oferece uma série de vanta-gens para as arquiteturas que o utilizam:

• O acesso à memória é mais rápido do que o acesso a disco, portanto você pro-porciona uma melhor experiência aos seus usuários;

• Serve como um “escudo” para os seus servidores de bancos de dados, que rece-berão uma quantidade menor de requisi-ções, já que os acessos ao banco de dados são reduzidos a somente dados solicitados com menor frequência;

• Como seus bancos de dados são menos acessados, o hardware desses servidores provavelmente poderá ser menos potente, e terá um tempo de vida maior. A combi-nação desses fatores contribui para baixar os custos com esse tipo de hardware, que geralmente é mais robusto e, portanto, mais caro que servidores normais.

Uma consequência do uso de tecnologias de cache é que, com o aumento da sua in-fraestrutura, o cache passa de otimização para necessidade. E como qualquer parte da arquitetura que é vital para o funciona-mento do seu sistema, quanto mais limpa e escalável, melhor. Como ampliar o tamanho do seu cache quando um só computador não é mais suficiente para armazenar todos os dados que você precisa?

Algumas vezes, os engenheiros acabam criando mais complexidade do que neces-sário ao ter que implementar uma lógica que saiba para onde enviar cada requisição na camada da aplicação web. Pelo menos o começo é sempre assim. Porém, a sim-plicidade se torna necessária para garantir a escalabilidade das soluções e também o nível de confiabilidade dos sistemas.

No Facebook, a resposta para esse desa-fio foi dada com uma solução de engenha-ria com a qual eu trabalho todos os dias: mcrouter. O mcrouter é o roteador do proto-colo memcache, que é usado no Facebook para rotear todo o tráfego que tenha origem ou destino em um dos nossos servidores de cache. Em situações de pico, o mcrouter hoje roteia pouco menos do que 5 bilhões de requisições por segundo. No último dia 15 de setembro, foi liberado como Software Livre e está disponível no GitHub sob licen-ça BSD.

Basicamente, o mcrouter recebe todas as requisições destinadas ao memcache, e as direciona baseado em regras que você

86 > Conexão Vale do Silício

Page 87: Revista iMasters #13 - Fevereiro/2015

Conexão Vale do Silício < 87

pode criar para esse roteamento. Essas re-gras vão desde pooling de conexões, para reaproveitar conexões com os servidores

Utilizando o mcrouter, você pode criar o conceito de pools replicadas, uma respos-ta ao desafio de alta disponibilidade da sua camada de cache, fazendo com que o pró-prio mcrouter resolva a escrita de dados nas diversas réplicas dessa pool. Ele tam-bém pode fazer o roteamento baseado no prefixo das chaves armazenadas em cada servidor, e assim pode combinar workloads ou cargas similares em alguns servidores selecionados para cada uma desses pa-drões de carga ou tipo de dados.

O mcrouter também monitora os servido-res de destino, e marca aqueles que não estejam “saudáveis” como não disponíveis. Quando isso acontece, ele faz automatica-mente o failover (ou redirecionamento após falha) para outro destino. Desse modo, as-sim que o monitoramento interno do mcrou-ter informa que o destino original está nova-mente funcionando, as requisições voltam a ser direcionadas para ele. Outras funciona-lidades importantes são suporte para IPv6 (Internet Protocol version 6) e SSL (Secure Sockets Layer).

Para quem se interessa por cache e gosta de brincar com infraestruturas de larga es-cala e altamente disponíveis, fica meu con-

de memcache, a diferentes esquemas para distribuição de dados entre os participantes de seu cluster memcache.

vite para experimentar esse “brinquedinho” e analisar seus benefícios para suas arqui-teturas em particular.

E cada vez que você acessar o Facebook, pode ter certeza de que cada requisição de cache está passando por esse codepath.

Github do mcrouter:

https://github.com/facebook/mcrouter

Licenças BSD:

http://en.wikipedia.org/wiki/BSD_licenses

Mais informações: http://ow.ly/CpoB4

Fernanda Weiden trabalha com infraestrutura de grande escala, atualmente no time de engenharia do Facebook responsável for caching e seguran-ça. Anteriormente, Fernanda trabalhou no Google, na Suíça, e na IBM, em São Paulo. Participante da comunidade Software Livre desde 2002, foi uma das organizadoras do FISL (Fórum Internacional Software Livre) por vários anos e entre 2009 e 2011 foi vice-presidente da Free Software Foun-dation Europe.

Page 88: Revista iMasters #13 - Fevereiro/2015

iMasters BoxSeleção: Flávia Jobstraibizer [email protected] - envie suas sugestões de ferramentas!

O iMasters Box é um agregador de serviços voltado para desenvolvedores web. Confira aqui alguns dos destaques do Box. Participe, indique a sua ferramenta favorita e torne-se um colaborador do Portal iMasters http://bit.ly/indiqueumaferramenta

88 > iMasters Box

Poedit é um software livre e multiplataforma, dispo-

nibilizado sob a Licença MIT, utilizado em processos

de internacionalização de software para simplificar

operações de tradução através do catálago gettext.

Diferente de outros editores, ele mostra os dados de

uma forma compacta e as entradas são organizadas

em uma lista para que a navegação seja mais rápi-

da e imediata. Tem suporte para formatos de plural

e compilação automática de arquivos do tipo MO.

Acesse: http://ow.ly/GbswT

Poedit

Alpha Fire é focada em montar aplicações comer-

ciais em AJAX para Web e dispositivos móveis.

Pode-se incluir gráficos, tabelas e estatísticas em

suas aplicações, permitindo que os usuários anali-

sem tendências. A ferramenta oferece classes e bi-

bliotecas de JavaScript, além de suporte ao jQuery.

O JavaScript é gerado, permitindo seu uso por

aqueles que não tem tanta habilidade para escrever

código. Alpha Fire é o primeiro produto completo

para construir e implementar aplicações empresa-

riais HTML5 para mobile e computadores pessoais.

Acesse http://ow.ly/GbsRt

Alpha Fire

A API ConsultaCPF é um Webservice para consulta

de CPF/CNPJ na SERASA. Existem vários tipos de

consultas para análise de crédito que permitem a

automação de back-office. Conheça o ambiente de

testes (http://ow.ly/Gbv1k) e o ambiente de produ-

ção (http://ow.ly/Gbv58).

Acesse http://ow.ly/GbtBR

API ConsultaCPF

API Prototype GeoIP é uma API para GeoIP, um

serviço de localização de IP. Passe o método para

localizar um endereço IP e ele retorna as informa-

ções de localização, incluindo latitude, longitude,

cidade e país. O formato de resposta é em JSON

(por padrão) ou XML. Esta API está atualmente

em “alpha” e não possui várias funcionalidades.

Acesse http://ow.ly/Gbum9

API Prototype GeoIP

Page 89: Revista iMasters #13 - Fevereiro/2015

A Stone é uma adquirente que nasceu para

atender as demandas do mundo digital com

uma abordagem de mercado disruptiva,

atendimento especializado e uma

tecnologia que não vai te deixar na mão.

Ligue e converse conosco:

Page 90: Revista iMasters #13 - Fevereiro/2015