Page 1

Agosto 2015 / Ano 04 / Edição 15

COMUNIDADE E DESENVOLVIMENTO Por um mundo melhor

R$24,00

Nós fazemos a Internet no Brasil

#capa #pag20

GAMES

AI

ENTREVISTA

DO TELEJOGO À REALIDADE VIRTUAL

REDES NEURAIS ARTIFICIAIS NO DIAGNÓSTICO DE DOENÇAS

RE-DESCENTRALIZAÇÃO DA WEB

#CriatividadeTecnológica #pag16

#InteligênciaArtificial #pag33

#WebParaTodos #pag44


Orgulhosamente especializada em WordPress.

Após a ousadia de ser a pioneira no Brasil, a Apiki tornou-se referência quando o assunto é WordPress. O domínio da plataforma somado a um time altamente qualificado fez da Apiki uma especialista no desenvolvimento de qualquer solução personalizada em WP.

apiki.com Uma empresa do grupo iMasters. Especializada em WordPress.


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 Adriana Sadowski de Souza, Alice Wakai, Anderson Casimiro, Bernard de Luna, Bruno Rodrigues, Deivid Marques, Eduardo Sena S. Rosa, Fábio José Parreira, Fabio Lody, Flávia Jobstraibizer, Gabriel Sousa Soares, João Paulo Vieira, Kemel Zaidan, Maik Basso, Marcos Ferreira, Nicolás Roberts, Reinaldo Ferraz, Ricardo Azevedo, Rina Noronha, Sergio Mira, Sidnei Renato Silveira. 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 redacao@imasters.com.br 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.


Editorial

Metade de 2015 já passou. Talvez você já tenha feito uma lista de “o que fiz até aqui” e “o que ainda falta fazer”. Aqui no iMasters, já tivemos quatro eventos grandes - PHP Experience, DevCommerce e as Developer Week Vitória e Belo Horizonte. Também realizamos sete edições do 7Masters, publicamos quase de 2.400 conteúdos no Portal e tivemos mais de 45 mil novos posts no Fórum iMasters. Fizemos muita coisa, e ainda tem bastante pela frente. Teremos outras quatro edições do 7Masters, dois Developer Week, além dos eventos Android Conference e InterCon. Mas certamente o que mais nos alegra nisso tudo é ter feito tanto pela comunidade. É o que nos motiva todos os dias. Você participa de alguma comunidade? Como se sente contribuindo para mudar o mundo através de um grupo? Comunidade, desenvolvimento e a busca por um mundo melhor é o tema da nossa matéria de capa. Você vai perceber como o trabalho em comunidade consegue mudar a vida de alguém no Perfil que trazemos na seção Por Aí - conheça o Pedro Castro, mais conhecido como Pheliz, que desde 2003 participa do Fórum iMasters. Transformar e melhorar também é assunto da nossa entrevista. Passados 25 anos da gênese da Web, Tim Berners-Lee conclama todos para mudarmos a direção e re-descentralizar a Web, para que ela mantenha seu caráter aberto e inclusivo. Conversamos com Vagner Diniz, Gerente do W3C: ele afirma que os próximos passos do desenvolvimento da Web têm relação maior com questões políticas e sociais, além das tecnológicas. E você, onde vai ficar nisso tudo? Ainda temos alguns meses este ano para agir. Espero que as reflexões que trazemos, além de todo o conteúdo técnico, possam ajudá-lo a, no final deste ano, ter uma grande lista de “coisas que fiz em 2015”. E, quem sabe, planejar ideias geniais para os próximos anos.

Abraços e boa leitura!

Rina Noronha rina.noronha@imasters.com.br Editora Chefe - iMasters


7 > Sumário

23

Capa - Comunidade e desenvolvimento: Pensando um mundo melhor

16 Revolução dos Games Do Telejogo à Realidade Virtual

33 Inteligência Artificial Redes Neurais Artificiais no diagnóstico de doenças

44 Entrevista Re-descentralização da web


Sumário < 8

09 :: Entrevista > Cal Evans e Paul Jones 16 :: Por dentro do W3C > Um centro de estudos sobre tecnologias Web no Brasil 19 :: API > Os fundamentos da segurança de APIs 23 :: Capa > Pensando o desenvolvimento fora da caixa 29 :: Tecnologia do Futuro > E a bola da vezé ... 4k! 33 :: Tendências > Blockchain e apps distribuídas em uma Internet pós-cloud 37 :: Mobile Payment > Hora de ser disruptivo no desenvolvimento de soluções de pagamento 40 :: Por Aí > Fazendo a internet do Brasil pelo mundo 42 :: Por Aí > Perfil: quem faz a internet no Brasil? 44 :: Comunidade > Labhacker - a invasão hacker continua 48 :: Banco de Dados > Persistência poliglota e NoSQL 52 :: Cyberlaw > Startups enxutas, porém sustentáveis 56 :: Desenvolvimento > Como eu precisei ver Testes 61 :: Sr. Conteúdo > Diferença entre Comunicação e Marketing no meio digital 65 :: Desenvolvimento Zen > Trabalhe (Z|B) em acompanhado 68 :: WordPress > O WordPress é seguro. Inseguro é você 71 :: 7Masters 74 :: Código Livre > Informações e dicas sobre projetos Open Source 76 :: Desenvolvimento > Seu site tão rápido quanto o Google usando ElasticSearch 79 :: iMasters Box

A iMasters é uma revista de Tecnologia/Web aberta a novas ideias. Para colaborar envie o seu material por e-mail revista@imasters.com.br


INSPIRAÇÃO QUE TRANSFORMA MAIS DE 30 CURSOS DE CURTA E MÉDIA DURAÇÃO NAS ÁREAS DE TECNOLOGIA, EMPREENDEDORISMO, PROJETOS E INOVAÇÃO. SHIFT irá inspirar mentes transformadoras, quebrar paradigmas, promover a ousadia, criar tendências, buscar o ineditismo em cada solução e acima de tudo, tirar você de sua zona de conforto. Experimente SHIFT. Reinvente-se. Deixe a marca da transformação em sua carreira.

INOVAÇÃO

Aprenda na prática como desenvolver processos e metodologias para gerar impactos positivos por meio da inovação em sua empresa ou negócio.

EMPREEDEDORISMO

Aprenda como captar recursos para sua startup, criar produtos e serviços vencedores, administrar finanças, negociar estrategicamente com executivos e muito mais.

BEYOND

TECNOLOGIA

GESTÃO DE PROJETOS

Explore temas como Digital Branding, Social Media, Social Branding, Creative Thinking e Storytelling. Explore tecnologias como Big Data, Internet das Coisas, Desenvolvimento de Apps, CCNA Routing & Switching, Java, C# e outras grandes tendências do mercado com constante demandas. Domine todas as etapas da gestão de um projetos: definição de escopo, avaliação de custos e riscos, controle de qualidade e administração de recursos entre outras coisas.

ACESSE WWW.FIAP.COM.BR/SHIFT


Entrevista < 10

Re-descentralize! Por Rina Noronha, para Revista iMasters


11 > Entrevista

Após o aniversário de 25 anos da Web, seu criador, o britânico Tim Berners-Lee, volta a fazer um apelo para que as pessoas se envolvam com o objetivo original: uma rede descentralizada, que permaneça aberta e inclusiva. Apesar de a tecnologia fundamental da Web ter se mantido praticamente a mesma até hoje, as formas como ela tem sido usada mudaram, e muito. O sistema de gerenciamento de informação para uma comunidade específica virou uma ferramenta de empoderamento que muitos consideram um direito básico da humanidade. Dessa forma, os próximos passos do desenvolvimento da Web tem relação maior com questões políticas e sociais, além das tecnológicas. Caso ela permaneça como pensava seu criador, o potencial da Web será benéfico para todos. É o que acredita Vagner Diniz, Gerente do W3C Brasil, que trabalha fundamental-

“São os desenvolvedores que globalmente definem padrões abertos dentro do W3C e que podem provar, com a prática, que a plataforma aberta da Web provê ao usuá- rio uma experiência mais rica de navegação e de integração” Vagner Diniz, Gerente do W3C Brasil

mente para garantir uma Web de todos para todos. Nesta entrevista, conversei sobre a re-descentralização da Web, além do posicionamento necessário para que a rede mantenha sua gênese. 1. RiM- No livro Impérios da Comunicação, de Tim Wu, ele diz que praticamente todas as tecnologias inventadas que foram usadas para comunicação, em especial rádio e TV, começaram abertas, mas acabaram sendo apropriadas por grandes empresas e agentes econômicos e tornaram essas tecnologias fechadas ou exclusivas. No livro, ele levanta o questionamento que talvez aconteça o mesmo com a Internet, e já é possível visualizar isso hoje, com redes sociais e serviços cada vez mais cercados e controlados por empresas como Facebook, Google, GitHub, entre outras gigantes. Isso quer dizer menos geração de riqueza e menos oportunidades de escolha, tanto para pessoas comuns quanto para desenvolvedores, que ficam cada vez mais atados às escolhas tecnológicas dos grandes players. Como mudar essa história e fazer com que seja diferente com a Web? Vagner Diniz: Re-descentralizar a Web é uma expressão utilizada por Tim Berners-Lee para enfrentar o que ele chama de balcanização da Web: “Eu quero que a Web seja aberta, funcione em nível global da melhor maneira possível e que não seja baseada em fronteiras nacionais” (http://ow.ly/OEkPa). Portanto, o risco de termos uma tecnologia como a Web fechada, cercada e controlada provém não somente de gigantes privados, mas também de governos que, por meio de vigilância permanente, censura e regulação autoritária, criam muros de suposta “proteção” aos seus cidadãos. 2. RiM: No ritmo de mudanças que vivemos, quem são os maiores responsáveis por levar a ideia da descentralização à frente?


12 > Entrevista

Vagner Diniz: Berners-Lee entende que é papel de governos, startups e jornalistas puxar esse debate e mantê-lo vivo para provocar mudanças em direção a uma “Open Web”. E no setor privado, a competição dará conta dessa dependência dos gigantes de tecnologia. Eu acrescentaria que governos têm papel dos mais relevantes na definição de políticas públicas que apontem para um governo aberto, porque as políticas têm impacto direto no mercado. 3. RiM: Qual o papel dos desenvolvedores nisso? Vagner Diniz: Os desenvolvedores são aqueles que de fato fazem opções tecnológicas no desenvolvimento de ambientes Web. São a experiência e o conhecimento deles que definem a tecnologia que vai dar certo ou não. São os desenvolvedores que globalmente definem padrões abertos dentro do W3C e que podem provar, com a prática, que a plataforma aberta da Web provê ao usuário uma experiência mais rica de navegação e de integração. 4. RiM: Em uma entrevista para a Wired (Nov/2013), Tim Berners-Lee falou sobre a necessidade de proteger pessoas como Edward Snowden, que vazam informações em situações extremas, e também da necessidade de termos uma cultura de hackers, que pensem na responsabilidade do que podem fazer, como vozes alternativas às informações governamentais. O que você pensa disso? Vagner Diniz: As minhas respostas anteriores citam exatamente essa entrevista, que sugere que a balcanização da Web também é uma resposta dos governos afetados pelos atos de vigilância permanentes denunciados por Snowden. O ponto mais preocupante é o fato de ações autoritárias e ilícitas, como a vigilância do governo americano sobre cida-

dãos e governos, provocarem reações também autoritárias que, comumente, restringem a liberdade de expressão. O primeiro princípio da carta de “Princípios para a Governança e Uso da Internet”, do Comitê Gestor da Internet no Brasil, afirma que “o uso da Internet deve guiar-se pelos princípios de liberdade de expressão, de privacidade do indivíduo e de respeito aos direitos humanos, reconhecendo-os como fundamentais para a preservação de uma sociedade justa e democrática”. (N.E: veja a carta de princípios do CGI em www.cgi.br/principios). 5. RiM: Descentralizar pressupõe que não existe hierarquia, ou que ela é baixa. Até que ponto isso é utópico? Como alcançar essas coisas sem uma autoridade central? Vagner Diniz: A descentralização não pressupõe a ausência de hierarquia. Ela é a redistribuição de funções e poderes (en.wikipedia. org/wiki/Decentralization). No limite, em um sistema peer-to-peer, ela pode levar a uma independência do centro. A re-descentralização da Web trata de empoderar os nós da rede de tal forma que ela não dependa do centro e permita que os nós se comuniquem com outros livremente. Exemplos para entender melhor a ideia de Internet descentralizada são o Serval Project, que propicia a criação de uma rede de celulares independente de provedores (http://ow.ly/OElMY), ou a tecnologia block chain, que viabiliza o Bitcoin como meio de pagamento descentralizado na Web. 6. RiM: Alguns governos discutem que limitar o acesso à Internet tem como motivação “proteger as informações estratégicas do País”. É o caso do Irã e da Coreia do Norte, por exemplo, com suas “intranets nacionais”. A preocupação do governo no controle de uso de dados pode ser uma medida centralizadora no ambiente da Web ou é necessária por conta da privacidade de dados?


13 > Entrevista

Governos não precisam controlar o uso de dados de maneira generalizada. Como qualquer outra organização, o uso de dados deve ser feito para a realização das ações que lhe são pertinentes, definidas constitucionalmente. Dados que são sigilosos, como a lei os define, devem ser controlados. O que passar disso vem do “maligno”.

proporcionarão a experiência de realidade aumentada; maior intersecção do físico e social por meio de tagueamentos, mapeamentos e banco de dados. No entanto, para a Web, a maior expectativa é de que ela seja totalmente imperceptível - iremos utilizá-la naturalmente, sem pensar “vou entrar na Internet para ver isso”. Já estaremos nela, seremos ela.

7. RiM: Por que o Marco Civil é importante para alcançar uma Web descentralizada? Tanto o Marco Civil como a Lei de Acesso à Informação e o anteprojeto da Lei de Proteção de Dados Pessoais são marcos regulatórios importantíssimos na garantia de princípios como liberdade de expressão, privacidade, neutralidade na rede, diversidade, governança democrática, universalidade e inovação na rede [3]. A regulamentação do Marco Civil, atualmente aberta para contribuições aos processos de sistematização da consulta pública (http://ow.ly/OElR8), tem sido um grande debate entre grandes forças do mercado, governo e sociedade civil. Assim também será com a Lei de Proteção de Dados Pessoais, pois grandes questões econômicas estão em jogo, já que os dados que circulam na Web são ativos de enorme valor. É nessa discussão que governo e sociedade devem mostrar se querem ou não a Web aberta como ela foi criada. 8. RiM: A web fez 25 anos em 2014. Quais as expectativas para ela daqui a 25 anos? Daqui a 25 anos, terei 82 anos. Espero estar vivo para que eu mesmo, meu corpo humano, seja um nó desta rede. O Pew Reaearch Group levantou as expectativas sobre o futuro da Internet, e as apostas vão para o mais óbvio: um ambiente em rede totalmente global, invisível e imersivo; a proliferação de sensores, câmeras, software e banco de dados conectados (Internet das Coisas); mais tecnologias portáteis, vestíveis e implantáveis que

Para saber mais: O debate sobre a re-descentralização da Web, também será abordado durante a Conferência Web do W3C Brasil – Web.br 2015, que acontecerá nos dias 22 e 23 de setembro, em São Paulo. http://conferenciaweb.w3c.br Re-decentralize http://redecentralize.org “Tim Berners-Lee: we need to re-decentralise the web”, por Liat Clark, para Wired UK http:// ow.ly/OEkPa “De volta para o passado (ou vamos deixar a Web divertida de novo?)”, por Yasodara Córdova, para iMasters http://ow.ly/OEm3Q “How the Web Needs to Change in the Next 25 Years”, por Victoria Turk, para Vice http://ow.ly/OEm1D Texto completo da proposta da Web de Tim Berners-Lee’s http://info.cern.ch/Proposal.html


14 > Entrevista


Criatividade Tecnológica < 16

Do Telejogo à Realidade Virtual: a revolução dos games Por Fabio Lody, Diretor de Arte do iMasters

Criatividade Tecnológica tem tudo a ver com games. Mas você sabe como tudo começou? No artigo desta edição, quero falar um pouco sobre a criação de games que marcaram a história. Em 1951, foi criado o “Univac”, primeiro computador comercial da história, que abriu caminho para diversos órgãos de pesquisa e instituições acadêmicas desenvolverem alguma coisa. Porém, devido ao alto custo, ao grande consumo de energia e à necessidade de se empregar uma equipe altamente treinada para manter e operar as máquinas, a tecnologia da computação ficou limitada a empresas e organizações maiores. Com isso, a criação dos primeiros jogos eletrônicos foi limitada a testes e demonstrações de estratégias militares. Muitos desses testes sequer possuem documentação, além de existirem diversas disputas judiciais de patente. Mas o primeiro jogo criado foi o “Tennis for Two” (1958), do físico norte-americano William Higinbotham. Ele foi desenvolvido especialmente para entreter os convidados no dia da visita anual ao Laboratório Nacional de Brookhaven. “Tennis for Two” era um simulador de tênis, exibido na tela de um osciloscópio. A bola era representada por um ponto piscante, e os jogadores controlavam seu movimento por cima de uma linha vertical, que representava a rede. Apenas a bola e a quadra eram representadas numa vista lateral. Na década de 1960, o Instituto de Tecno-

logia de Massachussetts (MIT) era um dos principais centros de pesquisa na área de computação no mundo. Lá eles dispunham de um computador com transistores (em vez de válvulas), o TX-0, o menor dos mainframes na época. Estudantes de Engenharia desenvolviam ferramentas de programação e jogos simples, como “Mouse in the Maze” (simulava um rato em um labirinto) e “Tic-Tac-Toe” (um jogo da velha). Após algum tempo, esse computador foi substituído por um PDP-1, um minicomputador com monitor de resolução 512 x 512 e capacidade de plotar qualquer objeto na tela. Ocupando 2KB de memória e finalizado em 1962, Spacewar foi um dos primeiros jogos de computador que teve distribuição nacional (nos EUA), graças à fabricante do PDP-1 (DEC), que o incluiu como um programa de teste em cada computador comercializado. Isso serviu de inspiração para outros programadores desenvolverem seus próprios jogos, aumentando a quantidade deles no mercado.

Jogos modernos: Telejogo O Telejogo era a versão brasileira do Tele Game (console da Atari para o jogo Pong), porém com alguns aprimoramentos que o deixaram mais divertido - ou menos entediante. Era um videogame simples, consistia basicamente de traços que subiam ou desciam para rebater um quadrado - o controle era feito através de um dial (como o sintonizador de


Criatividade Tecnológica < 17

rádio girando-o para a direita e para a esquerda para movimentar a barra). No Brasil, ele foi comercializado em 1977 pela Philco/Ford.

com a competição do recém-lançado Nintendo Famicom. O Atari chegou ao Brasil em setembro de 1983, fabricado pela Polyvox e logo se tornou um fenômeno de vendas, principalmente entre os anos de 1984 a 1986. Seus jogos permanecem na memória de muitos que viveram a juventude nessa época. O primeiro lote enviado às lojas era composto de 30 mil unidades, com um preço sugerido entre 180 e 200 mil cruzeiros.

Odyssey 100 - o Magnavox Odyssey foi o primeiro console de jogos com sucesso no mundo. Foi apresentado pela primeira vez em abril de 1972 e lançado em agosto do mesmo ano. Era um console digital, embora muitas vezes seja erroneamente definido como analógico, devido à incompreensão de seu projeto de hardware. Projetado por Jay Miner e lançado em 1977 nos Estados Unidos, o Atari 2600 é considerado um símbolo cultural dos anos 80. Foi do Atari o jogo Space Invaders, da Taito, um grande sucesso de vendas que aumentou consideravelmente sua popularidade, dobrando as vendas para mais de 2 milhões de unidades nos anos 1980, só nos Estados Unidos. Atari 2600 e seus cartuchos foram o maior fator por trás do gigantesco lucro da Atari, de mais de 2 bilhões de dólares em 1980. As vendas dobraram novamente pelos dois anos seguintes, com venda de quase 8 milhões de unidades em 1982. Nesse período, a Atari expandiu a família 2600 com outros dois consoles compatíveis. O Atari 2700, uma versão sem fio do console, nunca foi lançado por causa de uma falha de design. A companhia também construiu uma versão menor e arredondada da máquina, apelidada de Atari 2800, para vender no mercado japonês no início de 1983, mas sofreu

Consoles (8 bits)

da

terceira

geração

A terceira geração de vídeo games teve início em 15 de julho de 1983, com o lançamento, no Japão, do Family Computer ou Famicom, que mais tarde se tornaria o NES (Nintendo Etertainment System) e do SG-1000 da SEGA. Essa geração foi um marco, principalmente no Japão e os Estados Unidos, com a transição dos gráficos em blocos para uma rolagem contínua de hardware (smooth scrolling) de pontos quadriculados e sprites. Um salto gigantesco na história dos jogos eletrônicos. O console mais vendido foi o NES, seguido do Master System e do Atari 7800. Foi quando começaram a ser rotulados por seus “bits”. Isso se tornou uma moda nos próximos sistemas, como o Mega Drive/Genesis e o Super Nintendo, ambos em sistemas de 16-bits.

16-32-64-128 bits Da quarta à sexta geração de vídeo games tivemos uma evolução surpreendente. Os jogos ganharam gráficos elaborados e os consoles receberam inúmeras melhorias. Lançado em 1988 no Japão, o Sega Mega Drive foi o segundo videogame de 16-bits,


Criatividade Tecnológica < 18

sendo durante esse ano de lançamento o mais famoso, pois era sequência de seu predecessor, o Sega Master System. Ele foi posteriormente lançado na América do Norte, em 1989, com o nome de Sega Genesis. Um dos maiores títulos para o console foi o “Sonic the Hedgehot” que, devido ao sucesso, rapidamente virou o novo mascote da Sega. Os investimentos em campanhas de marketing da Sega também cresceram muito nessa época, com slogans como “Genesis does what Ninten doesn’t” (O Genesis faz o que o Nintendo não faz) e o famoso grito de “SEGA”, sem falar nas campanhas em torno do Sonic. Tudo isso pois, quando o Genesis entrou nos EUA, o NES dominava as vendas na região. Com isso, o Genesis ficou com grande parte das vendas até 1991, quando o SNES foi lançado. Com o lançamento do SNES, a Sega inventou um novo termo para o mercado, o “Blast Processing”, que sugeria que o Genesis era capaz de rodar jogos com melhor velocidade de exibição do que o SNES. Essa grande campanha da Sega foi muito favorável, o que tornou o console um dos mais vendidos nos EUA, atrás somente do console da Nintendo. O Super Nintendo Entertainment System (SNES) foi o primeiro console da Nintendo na era dos 16-bits. Ele foi lançado inicialmente no Japão em 1990 com o título de Super Famicon, e em 1991, na América do Norte, ele foi remodelado e lançado com o nome de SNES. Apesar da grande concorrência com o Genesis, o Super NES se tornou um dos consoles mais bem sucedidos e conhecidos da quarta geração, conhecido e adorado por muitos até nos dias de hoje. O jogo de maior sucesso do console foi o Super Mario World, que atingiu mais de 20 milhões de vendas, o que bateu em muito o mais vendido da Sega, que foi o Sonic, the

Hedgehot 2, que vendeu apenas 6 milhões de cartuchos. Também conhecida como a era dos 32 bits, a quinta geração dos videogames teve início em 1993 e seguiu até o ano de 2002, quando o Nintendo 64 foi descontinuado. Se na geração passada vimos a guerra entre dois consoles específicos, na quinta geração se viu muito mais do que isso – não houve uma, mas várias guerras –, e elas não foram entre consoles, mas entre conceitos e tendências. A quinta geração foi dominada pelo Sega Saturn, Nintendo 64 e PlayStation. Foi na sexta geração que o mercado recebeu o Sega Dreamcast1, o PlayStation 2, o Nintendo GameCube e o X-Box. Ela foi marcada pela entrada da gigante americana Microsoft no mercado dos videogames, bem como pelo fato de ser a última geração de aparelhos na qual a Sega ainda atuava na área de consoles. Atualmente, a empresa japonesa atua apenas na área de jogos eletrônicos. Em novembro de 2005 a Microsoft lançou o XBox 360, marcando o início da sétima geração. Um ano depois, a Sony lançou o PlayStation 3, e a Nintendo, o Wii, que fez com que a empresa ampliasse consideravelmente sua participação no mercado. O Wii foi lançado com a promessa de “revolucionar a forma de jogar”, com seus controles sensíveis ao movimento, mesmo tendo tecnologia gráfica considerada da geração passada. Já no lançamento do PlayStation 3, se prometia gráficos foto-realísticos e jogos cinematográficos com sua nova tecnologia de mídia, embora seja o console mais caro desta geração e também equiparável ao Xbox 360 em termos gráficos. O Xbox 360 também prometia ótimos gráficos e uma experiência “online” inigualável, contudo sendo o único nesta geração que cobra por este serviço.


Criatividade Tecnológica < 19

Nesta época também foram lançados os consoles portáteis,, como o Nintendo DSi, que trazia duas maravilhosas camêras VGA de 0.3 megapixel e acesso à internet via wifi.

Oitava geração Enfim, a oitava e mais atual geração de consoles, foi iniciada com o lançamento do Wii U da Nintendo. Além dele, há o Playstation 4 e o Xbox One, ambos lançados em novembro de 2013. Juntos, os consoles da nova geração já ultrapassaram a barreira das 25 milhões de unidades vendidas no mundo todo. Desde o Xbox 360, a proposta da Microsoft é oferecer tanto jogos quanto uma farta biblioteca de filmes, músicas, programas de televisão, seriados, documentários, esportes e aplicativos de entretenimento em geral. Kinect - O Xbox One foi pensado e criado juntamente com o desenvolvimento de uma nova versão do Kinect, acessório que dispensa controles para jogar, interagir com elementos na tela e executar comandos por voz. Para o novo console, a experiência de uso é totalmente integrada ao dispositivo: já nos primeiros minutos, o Kinect reconhece sua fisionomia e atributos físicos para agilizar o processo de log-in na Xbox Live e, a partir daí, você pode acessar jogos, configurações gerais, iniciar aplicativos e visitar os produtos à venda na loja online do console sem maiores dificuldades. Oculos RIF – Foi desenvolvido pela Oculus VR, empresa comprada pelo Facebook em 2014. O potencial da tecnologia pode ser explorado por diversas áreas, mas são os games que mais chamam a atenção, e ele é um dos principais gadgets de realidade aumentada. Surgiu como um projeto no site colaborativo Kickstarter, e tem sido apontado como uma grande inovação.

O primeiro kit tinha tela de LCD de 7 polegadas com resolução de 640×800 por olho. A nova geração do Development Kit (DK2), lançada em 2014, trouxe algumas melhorias, como o uso de um display de OLED de baixa persistência com o dobro da qualidade (são 960×1080 pixels por olho) e um acessório extra para aprimorar o rastreamento de posição. Os últimos detalhes do Oculus Rift foram anunciados por Mark Zuckerberg em seu perfil no Facebook. A grande novidade é uma espécie de joystick que virá na versão final do produto. O controle ficará preso ao pulso e vira com alavanca, botões e um gatilho. Além disso, os fones poderão se desencaixados para que o usuário utilize o que preferir. A versão final tem o lançamento previsto para os primeiros meses de 2016. É meus amigos, em 30 anos os games evoluiram demais. Embora eu seja saudosista, aguardo ansiosamente que os jogos ao menos cheguem no nível de interação do filme “Her” em que o personagem do jogo respondia e interagia a praticamente tudo de seu controlador e do cenário externo. É isso, espero que tenham gostado, até a próxima!

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


O MERCADO BUSCA ESPECIALISTAS. A IMPACTA FORMA. Desenvolva suas habilidades em programação mobile, web e gestão de TI.

Escolha o seu próximo desafio Desenvolvimento Mobile Android Developer iOS Developer

Desenvolvimento WEB C# Web Developer PHP Developer HTML 5 CSS3 Java Script

Projeto aprovado.

Banco de Dados SQL Server MySQL

Planejamento e Gestão Scrum PMI

Conquiste as mais valorizadas certificações do mercado nos setores de Tecnologia, Criatividade e Gestão.

www.impacta.com.br

11 3254-2200


21 > Capa

Comunidade e desenvolvimento por um mundo melhor Por Alice Wakai, para Revista iMasters


22 > Capa

Uma pessoa que passa dias e noites em frente ao computador, sem falar com ninguém. Se alguém tem essa visão dos profissionais de tecnologia e desenvolvimento, ou até mesmo de si mesmo (a), é porque nunca ouviu falar das comunidades que abrigam esses profissionais. Apesar de não haver nenhuma informação exata de quando ou onde as comunidades começaram, elas surgiram da ideia de que a troca de conhecimento entre diversas pessoas pode ser uma ótima forma de aprender, ensinar e desenvolver coisas bacanas - um ciclo positivo para construir um mundo melhor. Tudo muito bonito, muito fascinante. Mas, apesar de ter me apaixonado pelo conceito de comunidades desde o momento em que recebi o tema como pauta da revista iMasters, algumas perguntas precisavam ser respondidas, antes que qualquer conclusão fosse feita. O que faz com que uma comunidade dê certo? No final das contas, a colaboratividade, sem objetivos financeiros ou de qualquer outra natureza, a não ser o simples fato de ajudar alguém, realmente funciona? Para Anderson Casimiro, Community Manager do iMasters, CTO da Agrosmart e Ativista do PHPSP, as comunidades nascem para suprir uma necessidade comum de seus membros. “Desde os primórdios, existem demandas como distribuição de recursos, de comida, abrigo etc. No mercado de tecnologia em específico, a necessidade normalmente existe principalmente por conta da qualificação precária”, explica Casimiro.

Nada mais natural, então, que solucionar o problema fomentando o conhecimento de profissionais mais experientes através desses grupos. Foi assim que Pedro Castro, que trabalha com Photoshop desde 2002, encontrou o Fórum iMasters. “Eu estava começando com o Photoshop e procurava um bom site com tutoriais e dicas para aumentar meu conhecimento”, conta ele. Hoje, Castro – mais conhecido online como Pheliz – é um dos administradores do Fórum iMasters. E ele conta que os principais “benefícios” de estar em uma comunidade, além de aprender e compartilhar conhecimento e fazer uma boa rede de amigos, é a possibilidade de fazer tudo isso de forma aberta e, “o melhor, sem pagar nada”. “Quem não participa de nenhuma comunidade online deveria tentar participar de uma. Com certeza todos têm alguma área de interesse e existem diversos fóruns que podem ser interessantes seja de assuntos profissionais, seja de assuntos de seu hobby ou entretenimento”, aconselha Castro. Humberto Zanetti, professor e mestre em Ciência da Computação e também cofundador da comunidade Fatecino (Clube de Arduino da Fatec de Jundiaí), explica que a principal motivação para se criar uma comunidade é acreditar que o ambiente colaborativo é a melhor maneira de aprender e se engajar em alguma tecnologia. “A troca de experiência dentro de um grupo é algo raro de se conseguir em outro ambiente”, diz Zanetti.

Para Anderson Casimiro, Community Manager do iMasters, CTO da Agrosmart e Ativista do PHPSP, as comunidades nascem para suprir uma necessidade comum de seus membros


23 > Capa

Além de “abrir os olhos” de muitos iniciantes e pessoas que não têm determinado tipo de experiência, a troca de ideias com pessoas de interesses em comum acaba despertando um rico senso de ‘cocriação’. “Sem dúvida o ponto mais forte é o incentivo a criar e colaborar com projetos de outras pessoas, o que nos leva a ter novas ideias sobre nossos próprios projetos”, explica Zanetti. Daí o que acontece é que muitas vezes a experiência de trocar conhecimento nas comunidades é tão marcante que se torna a principal motivação de seus membros. “A motivação vem do simples prazer em ajudar, em ver que de alguma forma, para aquela pessoa ou grupo, você pode fazer a diferença”, conta a desenvolvedora PHP Thamara Hessel.

Sem dúvida o ponto mais forte é o incentivo a criar e colaborar com projetos de outras pessoas, o que nos leva a ter novas ideias sobre nossos próprios projetos

Outro “incentivo” que contribui para o sucesso das comunidades é a inexistência de vínculo empregatício, regras ou normas pré-estabelecidas, como explica Cal Evans, um dos principais representantes da comunidade PHP em todo o mundo. “Não existem regras. Na nossa comunidade, por exemplo, você já é um membro, desde que seja programador PHP. Não precisa ser daqueles ativos para te consideramos como parte do grupo”, disse Cal. Mas é claro que existe o mínimo de organização, para que o grupo não se torne um ‘caos total’. No caso da comunidade Nomads PHP, o trabalho é centrado principalmente nos User Groups. “Não somos coordenados por um centro, mas nós temos um grupo de organizadores que conversam uns com os outros de forma regular via e-mail”, diz Cal. Um bom exemplo de que você pode fazer grandes coisas como voluntário, sem necessariamente ter um vínculo com alguma empresa, é o caso do designer de interface, Vinicius Depizzol. Quando Vinicius entrou para a faculdade, acabou “botando a mão na massa” de verdade em um projeto desenvolvido dentro de uma comunidade.

Envolvida em comunidades desde 2009, quando começou a buscar referências e artigos de forma aleatória na Web, Thamara viu seus esforços em comunidade realmente valerem a pena depois de publicar o trabalho DojoOnline. Foi quando ela conheceu Rafael Pimentão, um desenvolvedor de Belo Horizonte que estava começando e queria muito fazer um sistema para mudar sua realidade profissional. “O Rafael começou do zero e depois de nossas conversas conseguiu fazer seu primeiro sistema”, conta.

“Fazia coisas como se eu estivesse empregado; desenvolvia telas de aplicativos, interface do usuário, fazia testes de usabilidade… Fui conhecendo gente fora do meu ‘circuito’ e acabei ganhando uma experiência que fez muita diferença”, conta Depizzol. Com o networking adquirido nas comunidades, Depizzol acabou recebendo uma proposta irrecusável para trabalhar na startup Xamarim em São Francisco (CA), onde está há mais de três anos.

Para Thamara, o mais bacana da comunidade é a ligação que as pessoas criam, a preocupação com a “elevação do próximo, o querer que o outro saiba também para crescer junto”, acrescenta.

Uma comunidade também pode ser criada com o objetivo de disseminar a tecnologia de uma determinada empresa - alguns exemplos são Google, Microsoft e os GDGs. “Empresas também ganham quando trazem


24 > Capa

o espírito de comunidade para dentro de casa. Times de desenvolvimento podem ser comunidades”, explica Casimiro. Luis Leão é co-organizador do GDG (Google Developer Group). Para ele, as melhores experiências vividas no grupo são encontrar gente nova, com vontade de criar coisas diferentes com tecnologias disponíveis e ver alguns projetos saírem do papel, principalmente com foco em impacto social. Esses fatores o animam a continuar no grupo. “A gente já tem uma comunidade grande, com pouco mais de 2 mil membros, e é muito bom ver pessoas que apenas participavam do grupo e que hoje palestram e são conhecidas por outras comunidades além do GDG”, conta Leão. Os eventos também são outra forma de incentivar os membros da comunidade a se engajarem, gerar networking qualificado e dar oportunidade para que eles possam realizar palestras, demos, workshop, codelabs, entre outros. “Como profissional, isso gera algumas mudanças em como você enxerga o mercado. Ao mesmo tempo, você se sente mais responsável pelo que apresenta e como representa a comunidade”, afirma Leão, que participou da organização do DevFest, evento que reuniu cerca de 600 participantes. “Ao mesmo tempo que é um desafio, é muito gratificante receber o feedback positivo de quem participou”, conta Leão.

Como fazer um mundo melhor a partir das comunidades? A dica é: encontre um grupo local e se envolva. Seja voluntário para ajudar. Fale, escute, patrocine, seja um anfitrião. “O que quer que você possa fazer, faça. As pessoas doaram o tempo delas para que você pudesse ter linguagens de programação, como o PHP, agora é a sua vez de retribuir isso ajudando outras pessoas”, diz Cal Evans.

Para Thamara, a expectativa é de que a comunidade do futuro seja valorizada por empresas e governos que apoiem o crescimento profissional. “Aliás, é exatamente isto que as comunidades de desenvolvimento querem: “um mundo melhor”. Assim como na medicina, na engenharia ou mesmo matemática, os desenvolvedores de uma forma geral amam compartilhar descobertas do seu dia a dia, e talvez isso tenha vindo dos primórdios da computação popular, quando todos apenas queriam ver algo novo e melhorar o que já existia, apenas por ajudar”, finaliza Thamara.

Aliás, é exatamente isto que as comunidades de desenvolvimento querem: “um mundo melhor” Já para Zanetti, a comunicação será a grande problemática a ser superada. Para ele, por mais organizada que seja a comunidade, ainda é preciso fazer com que pessoas com interesses ou dúvidas em comum se comuniquem e troquem experiências. “É a questão da Inteligência Coletiva. Conseguir integrar pessoas com conhecimentos e habilidades diversificadas e uni-las em um propósito comum será um grande desafio”, disse Humberto. Realizar mais eventos que envolvam as comunidades e promover conteúdos para cada nível de aprendizado é um dos objetivos a serem seguidos por Leão. “Vejo que seria importante diversificar mais as atividades, inclusive com conteúdo não muito técnico, para daí darmos condições de surgirem projetos dentro da comunidade, com a pegada de aprendizado e até mesmo voltados para impacto social”, finaliza Leão.


HOSPEDE SEU SITE NA KINGHOST Suporte especializado + Infraestrutura robusta

SUPORTE TÉCNICO 24X7

SERVIDORES DELL COM HD SSD

KINGHOST.COM.BR

EXCELÊNCIA EM HOSPEDAGEM DE E-MAILS

MIGRAÇÃO GRÁTIS DO ATUAL HOST PARA A KINGHOST


26 > Por aí

Fazendo a internet do Brasil pelo mundo Que 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 redacao@imasters.com.br

Brasileiros levam prêmios no Real Sense Intel Challenge Três brasileiros mostraram que estão muito bem colocados nos rankings de programação mundial. Alexandre Ribeiro da Silva, Mauro Pichiliani (colunista do iMasters!) e Keila Matsumara ficaram nos primeiros lugares de suas categorias no Real Sense Intel Challenge 2014. Alexandre ficou com o 1º lugar na categoria Games, com o SEED (http://ow.ly/OsLFU, um game intuitivo em que o jogador precisa guiar uma semente na sua jornada para reflorestar uma terra devastada. Os gestos para as ações do jogo foram criados a partir de uma pesquisa que o desenvolvedor realizou entre os participantes da Campus Party. Fusion 4D (http://ow.ly/OsLEg), de Keila Matsumura, ficou em 2º lugar na categoria Interação Natural. Fusion 4D é uma interface de usuário que permite a interação com objetos 3D com o uso de mãos e comandos de voz. O sistema é baseado em dispositivos de baixo custo e não requer nenhum tipo de display especial para as imagens 3D. Mauro Pichiliani, que é um dos colunistas mais antigos do iMasters, levou o segundo prêmio na categoria Inovação Aberta, com o projeto HTMA Hand Tremor Measurement Application (veja o vídeo http://ow.ly/OsLBS), que tem o objetivo de fornecer dados precisos sobre o tremor da mão, dedos e pulso, de forma a ajudar no acompanhamento de diagnóstico e tratamentos do Mal de Parkinson, e ainda fornecer

dados para futuros produtos voltados para os pacientes. Você pode conferir detalhes do Real Sense, incluindo os vídeos de outros projetos participantes, em http://ow.ly/OsLBm

UX Weekend Nos dias 23 e 24 de maio aconteceu, em Florianópolis, a 30º edição do UX Weekend, curso sobre UX Design, que acontece em diversas cidades do Brasil, sempre aos finais de semana. Cerca de 30 pessoas vivenciaram na prática a aplicação de técnicas como Testes de Usabilidade e criação de Personas, além de discutir temas como Design Centrado no Usuário e Design Thinking. O UX Weekend está com novas turmas abertas em São Paulo e Porto Alegre, e as inscrições podem ser feitas através do site www.uxweekend.com.br

Ux Weekend terá novas turmas em SP e POA


Por aí < 27

Intel Software Day no Nordeste

Edit-a-thon das Minas RJ

A Intel Software do Brasil realizou, nos dias 12 e 13 de junho, o Intel Software Day 2015, que reuniu mais de 900 participantes entre desenvolvedores independentes, empresas e área acadêmica. Nesta edição, o evento mudou de ares e foi realizado em Salvador, sendo recepcionado pelo Senai – Cimatec Bahia. Durante o evento foram realizadas cinco trilhas de palestras com foco em Android, RealSense.Windows, IoT, HPC e startups com profissionais de alto nível, além de apresentações de demos e muito networking entre os participantes. Para mais informações sobre o trabalho da Intel Software, acesse:

Aconteceu em junho, na sede da CI&T em Botafogo, o Edit-a-thon das Minas do Rio de Janeiro. A ideia era promover a Wikipédia para editoras mulheres - que têm apenas 15% de participação na comunidade - e aumentar o conteúdo disponível sobre mulheres notáveis, entre elas algumas ligadas a tecnologia e computação, como Ada Lovelace. Além da Ada, outras 12 páginas foram criadas ou melhoradas pelos voluntários: Meridel Le Sueur, Jennifer Niederst Robbins, Stormy Peters, Audre Lorde, Fernanda Bianchini, Margaret Hamilton, Anna Anthropy, Mary Seacole, Rosana Munhoz Silva, Elisa Frota Pessoa, Elza Furtado Gomide e Maria José von Paumgartten Deane. O Edit-a-thon teve transmissão ao vivo por hangout, e o vídeo está disponível em

software.intel.com/pt-br

Guia de Front-end O caminho das pedras O que é necessário estudar para se tornar um bom desenvolvedor front-end? O que ler? Que fóruns acompanhar? Como participar da comunidade? Será que você está no caminho certo? Se você é desenvolvedor front-end, quer entrar na área ou busca se tornar um grande profissional, essas dúvidas já devem ter passado por sua cabeça. Neste livro, Diego Eis nos guia sobre o mundo de desenvolvimento Web através de uma análise franca e objetiva de diversas tecnologias adotadas, necessidades do mercado e postura profissional. Com um foco pouco técnico, o material traz orientações para que o iniciante tenha ideia de quais tecnologias e técnicas você precisa estudar para se tornar um bom dev front-end. Publicado pela Casa do Código, o livro está disponível em versões impressa e digital. http://ow.ly/Ocwh7

http://ow.ly/OEc9Y

Samsung Developer Day Voltado para desenvolvedores de plataformas móveis, especialmente Android e Tizen, o Samsung Developer Day reuniu cerca de 300 participantes, no MASP (SP), que aproveitaram as 9 horas de conteúdo. Em sua 2ª edição no Brasil e 4ª na América Latina, o foco do evento foi na inovação, com destaque para as apresentações de realidade virtual, wearables e Internet das Coisas.

DevCommerce Conference 2015 No dia 20 de junho, São Paulo recebeu a primeira edição do DevCommerce Conference, um congresso técnico, focado no desenvolvimento de TI. 800 profissionais puderam ouvir e aprender com os líderes de desenvolvimento do setor, em palestras com conteúdo extremamente dinâmico e avançado. O palestrante Nicolas Coniglio, IT Project Manager do Mercado Livre, enxerga muitas oportunidades nos HUBs. “Poucos fazem uso de todos os


Por aí < 28

channels. Além disso, para muitos varejistas é uma necessidade e as integrações in house são caras e lentas”, explica Coniglio. Já para Fernando Zanatta, IT and Product Director do Netshoes, a escalabilidade no e-commerce depende da arquitetura da aplicação e do reability do software. “Requisição não vai chegar nos servidores, por isso é importante segregar conteúdo. Não tem produto nem escalabilidade sem monitoramento. Não deixe para depois o que você pode fazer agora”, define Zanatta. Quem também subiu no palco do DevCommerce foi Igor Costa – PMC, que é da Fundação Apache e definiu o que é e a importância do Manifesto Reativo. “É um movimento de desenvolvedores que pode ser aplicado para inovação de tecnologias e também do

e-commerce”. Costa concluí que são quatro os pilares que podem ajudar as lojas virtuais a terem melhores desempenhos, principalmente durante datas que geram muito mais tráfego que o normal, como a Black Friday. São eles: Responsivo, Resiliente, Elástico e Orientado a mensagens. Este ano, o iMasters já realizou o PHP Experience, também em São Paulo, e duas edições do DevWeek, em Vitória e em Belo Horizonte. Em agosto acontecerá o Android DevCon (androiddevcon.imasters.com.br). O DeveloperWeek terá edições ainda no Rio de Janeiro, em setembro, e em Porto Alegre, em novembro (developerweek.imasters.com.br). E, em 24 outubro, acontece o tradicional InterCon, evento de tecnologia e criatividade do iMasters (intercon.imasters.com.br).


Por aí < 29

Quem faz a Internet no Brasil? A cada edição, dentro da coluna “Por aí”, vamos mostrar quem são as pessoas que participam do Fórum iMasters e ajudam a fazer a Internet no Brasil. Hoje você conhece o Pedro Castro, mais conhecido como PC ou Pheliz. Membro do Fórum iMasters desde 2003, ele participa ativamente da comunidade de Photoshop e é admin do Fórum. Nesta minientrevista, você conhece um pouco mais sobre ele e sua participação. RiM: Por que você resolveu participar de uma comunidade, como o Fórum iMasters? Pheliz: Quando eu estava começando com Photoshop, procurei de um bom site com tutoriais e dicas pra aumentar meu conhecimento e acabei encontrando o site e o Fórum iMasters. Gostei e fiquei! RiM: Como tem sido essa experiência ao longo dos anos? Pheliz: O Fórum é incrível para aprender e compartilhar conhecimento. Além de fazer uma rede boa de amigos, podemos aprender e ensinar muita coisa. E o melhor: sem pagar nada. RiM: O que de mais interessante/importante existe em uma comunidade? Pheliz: A troca de informações, dicas/ensinamentos e amizades. É o que movimenta o Fórum e faz valer ainda mais a pena participar. RiM: Que tipos de benefícios você obteve com a participação no Fórum? Pheliz: Aprendizado específico em algumas

áreas que gostava de participar, e principalmente boas amizades. Sem contar que pude conhecer ao vivo pessoas com as quais só tinha contato online, como o Fabio Lody e o Tiago Baeta. Além disso, visitei a sede do iMasters e participei do InterCon. Tudo isso não tem preço. RiM: Hoje você é um admin do Fórum. Que conselho você daria para quem está começando na área de Internet, e ainda não participa de nenhuma comunidade? Pheliz: Quem não participa de nenhuma comunidade online deveria tentar ser parte de alguma. Com certeza todos têm alguma área de interesse, e existem diversos fóruns sobre vários assuntos por aí, seja tema profissional, hobby, entretenimento etc. Basta a pessoa procurar e participar, que com certeza aprenderá muito mais sobre os assuntos que gosta e poderá passar adiante seus ensinamentos, além de fazer boas amizades.


Cloud < 30

Desenvolvendo aplicações nativas para Cloud Por Eduardo Sena S. Rosa, especialista de TI da IBM e Advisor Técnico de Bluemix para clientes da América Latina “Cloud” é uma buzzword que vem causando frisson já há algum tempo. Complica muito o fato de o termo ser muito amplo: “Você trabalha com Cloud” está virando equivalente a “Conserta aqui minha impressora, você não trabalha com informática? ”. Neste artigo, pretendo descrever os desafios para escrever uma aplicação que seja “cloudable” (desculpem, certas coisas não

traduzem bem). Mas, primeiro, vamos entender o quero dizer por cloudable.Uma das frases que mais ouço nas minhas visitas a clientes é: “Eu já uso Cloud! Tenho aqui o virtualizador XPTO que resolveu essa questão”. Como anteriormente citei sobre a amplitude do termo “Cloud”, não é que a frase anterior esteja incorreta: ela simplesmente é limitante.

O que eu acho mais interessante sobre essa figura é que ela deixa claro que não existe um modelo de adoção correto. O que existe é o modelo que mais se aplica ao problema de negócio que estamos tentando resolver! Por exemplo, vamos usar IaaS (ou Infraestrutura como Serviço) como um ponto de partida: a grande sacada de IaaS é que você pode migrar praticamente qualquer aplicação existente sem impacto nela, uma vez que é possível reproduzir fielmente um ambiente


Cloud < 31

“tradicional” (clusters de servidores de aplicação, de banco de dados etc.) nesse mundo. É um modelo de adoção que permite, com baixo investimento, adicionar flexibilidade e escalabilidade à uma aplicação existente. Mudando o foco para PaaS (Plataforma como Serviço), vemos que nesse modelo o cliente não tem controle sobre a infraestrutura; ele tem gerência apenas do código de sua aplicação e seus dados. Portanto, não é possível se apoiar em funcionalidades de infraestrutura (como cluster de servidor de aplicação) para que a aplicação tenha sua operação básica garantida e, além disso, o princípio básico de escalabilidade desse modelo é o horizontal. O problema é que a grande maioria das aplicações não foi escrita pensando em escalabilidade horizontal. Historicamente, endereçamos problemas de performance de sistemas na força bruta, adicionando processadores e memória para aumentar a capacidade de processamento. Há algum tempo, o termo “Micro Serviços” vem sendo utilizado. Conforme disse Martin Fowler em seu artigo a respeito do tema (http://ow.ly/OszOp), embora não haja uma definição formal sobre ele, há um senso comum sobre características e práticas que cercam esse estilo arquitetural, como: especialização em capacidades de negócio, deployment automatizado e independência de linguagens de programação/tecnologia, entre outros. Ora, no mundo de micro-serviços, não existe o conceito de escalabilidade vertical: um serviço deve ser capaz de ser replicado (escalado) horizontalmente quantas vezes for necessário, até que a carga recebida seja atendida com o nível de serviço esperado (em geral, medido em termos de tempo de

resposta), e é nesse jogo que PaaS cai como uma luva! Idealmente, uma aplicação cloudable deve ser construída como um conjunto de micro-serviços, com escalabilidade, ciclo de vida e métricas de performance independentes, e um grande guia para criar esse tipo de aplicação é seguir os preceitos 12Factor (12factor.net). Utilizando como exemplo uma aplicação instalada no Bluemix: ao se associar um serviço a ela, automaticamente é injetado no environment dessa aplicação uma variável chamada VCAP_SERVICES, que nada mais é do que um objeto JSON que contém todos os dados de acesso ao serviço (URL, usuário, senha etc.). Já existem alguns projetos, como o spring-cloud (cloud.spring.io) que permitem que o parse dessa variável seja feito de forma transparente e o serviço disponibilizado para a aplicação através de injeção de dependências, sendo apenas necessário o uso de anotações para acessar o serviço. O código-fonte de uma aplicação que exemplifica esses princípios pode ser baixado da minha conta no Bluemix DevOps Services (http://ow.ly/OszQj); lá você encontrará um “Readme” que explica como testá-la no Bluemix, para validar os princípios aqui demonstrados. Bom divertimento e até a próxima!

Eduardo Sena S. Rosa possui 17 anos de experiência em TI. Já atuou como programador, analista, arquiteto, administrador de infraestrutura e gerente de projeto. Nos últimos 8 anos, tem se dedicado à integração, conectividade e Cloud. Você pode encontrá-lo no Twitter @edsena | edsena@br.ibm.com


API < 32

Novas APIs para open platform de sistemas de pagamento Por Nicolás Roberts, Gerente de Integrações do MercadoPago Há menos de uma década, o conceito de open platform não existia. O primeiro grande movimento nesse sentido foi feito pelo Facebook, em 2007: seus usuários passaram a compartilhar resultados de jogos online, calendário de aniversários e a utilizar o login e a senha da rede social para também acessar outros sites. Por volta de 2010, o conceito de open platform chegou aos sistemas de pagamento online e gerou uma verdadeira revolução. As ferramentas para processar pagamentos, que antes eram determinadas pelo provedor, passaram a ficar expostas, como em uma vitrine, podendo ser utilizadas conforme a necessidade de cada negócio. Com a open plataform, é a plataforma que se adapta ao desenvolvedor, e não o contrário. No caso de MercadoPago, vale destacar alguns aspectos. A plataforma aberta está baseada em APIs REST, uma tecnologia standard da indústria de internet que, além de simplificar o processo de integração, permite criar soluções na web e no mobile utilizando as mesmas ferramentas. Esse conceito open também desburocratiza os processos. Não é necessário “pedir autorização” para usar as APIs, basta acessá-las

e depois submeter o projeto a uma rápida homologação da plataforma. Isso assegura a qualidade da integração e garante a segurança do processo para todos os envolvidos. Desenvolvedores de diversos países podem utilizar as APIs, que são preparadas para atender às exigências específicas de cada legislação. A plataforma aberta conta com uma credencial pública no front-end, que dá ao desenvolvedor acesso a APIs de itens descritivos - por exemplo, para criptografar os dados do cartão de crédito e identificar o banco e a bandeira a partir do BIN (Bank Identification Number) - os primeiros seis dígitos do cartão. Também é possível automatizar a oferta de parcelamento da compra de acordo com o que é permitido por cada cartão. Por meio de outra credencial, de acesso restrito, o desenvolvedor acessa as APIs para o back-end, as quais permitem criar, cancelar e devolver um pagamento total ou parcial e fazer a busca por pagamentos já feitos ou recebidos. No processo de integração das APIs, é possível utilizar credenciais de teste, diferentes das credenciais produtivas, para, em um


API < 33

Para garantir que novas integrações open platform sejam um processo simples e rápido, as APIs são disponibilizadas em SDKs para diferentes linguagens client side, para Mobile e para integração server side ambiente Sandbox, testar todo o funcionamento da integração de maneira segura e rápida. Uma vez definidas as credenciais produtivas, elas poderão ser renovadas pelo proprietário do e-commerce caso ele opte, por qualquer motivo, pela mudança de desenvolvedor. As credenciais antigas perderão a validade. Outro ponto que garante a segurança do lojista é que, se ele preferir não compartilhar suas credenciais com o desenvolvedor, é possível autorizar uma aplicação com acessos restritos. Por exemplo, com base no framework OAuth 2.0, é possível definir que o desenvolvedor poderá processar pagamentos, mas não poderá fazer outras operações. Desse modo, o lojista garante sua liberdade, segurança e autonomia. A possibilidade de criação de novas APIs é outra vantagem de uma open platform, que se mantém, dessa forma, em constante evolução. Atualmente, uma nova geração de APIs para sistemas de pagamento permite o armazenamento criptografado de referências do comprador, a criação de checkout com um ou mais cartões de crédito e até a criação de fluxos para pagamento em um click. Isso significa que o cliente não precisa mais preencher os dados do cartão toda vez que fizer uma compra. Basta incluir o código de segurança do cartão de crédito. A API voltada para plataformas de pagamento permite que o lojista opte apenas por um scoring binário ou também manual. Apesar de esse último ser bastante impor-

tante - geralmente, boa parte dos pagamentos retidos pela análise binária é liberada mediante análise manual -, há lojistas que preferem não submeter seus pagamentos a esse processo. Além da segurança do vendedor, essa mesma API cuida da segurança do comprador, evitando fraudes. Um processo de compra é cancelado se o sistema identificar que os dados de um cartão estão sendo utilizados em uma compra que foge ao perfil do seu usuário. E para garantir que novas integrações open platform sejam um processo simples e rápido, as APIs são disponibilizadas em SDKs (Software Development Kits) para diferentes linguagens client side, como Java Script (web), para Mobile com Android e iOS, e para integração server side: PHP, Python Ruby, Java, .NET, Node.js e ASP.

Nicolás Roberts é graduado em Engenharia de Software pela Universidad Nacional del Centro de La Provincia de Buenos Aires e é mestre em Maketing, pela mesma universidade. Ingressou no MercadoLivre na Argentina, em 2007, onde atuou como Líder de Projeto e Gerente de Desenvolvimento. Foi transferido para o Brasil, em 2013, para assumir como Gerente de Desenvolvimento do MercadoPago, plataforma de pagamento online do grupo MercadoLivre. Nicolás também atuou em outras empresas de tecnologia como a NEC Argentina e Sistemas Bejerman S.A. nicolas.roberts@mercadopago.com.br www.mercadopago.com.br/developers/


Front < 35

Acessibilidade com jQuery Validate Por Deivid Marques, desenvolvedor front-end com foco em membro do Grupo de Trabalho de Acessibilidade do W3C Brasil Se você desenvolve aplicativos, sites ou mesmo sistemas, sabe o quanto não é nada divertido criar, validar e salvar formulários. No entanto, eles são fundamentais e precisam funcionar corretamente para que o fluxo da navegação atinja seu objetivo. E se o usuário estiver sem o mouse, ou utilizando algum leitor de tela? Será que essa validação realmente funciona?

O que é acessibilidade Web? Significa que pessoas portadoras de necessidades especiais sejam capazes de usar a Web, mais concretamente, significa uma Web projetada de modo que essas pessoas possam perceber, entender, navegar e interagir de uma maneira efetiva com ela, bem como criar e contribuir com conteúdos (W3C).

O trabalho do desenvolvedor web nada mais é do que criar interfaces navegáveis, funcionais e principalmente usáveis. E como se aplica esse conceito aos formulários? Utilizando WAI-ARIA e jQuery Validate, podemos criar formulários acessíveis, ou melhor, incríveis.

Sobre leitores de tela É um programa que interage com o sistema operacional do computador, captura toda e qualquer informação apresentada na forma de texto e a transforma em uma resposta falada utilizando um sintetizador de voz.

O que é WAI-ARIA ? Define uma forma de tornar o conteúdo e aplicativos web mais acessíveis a pessoas com deficiências. Ele contribui especialmente com conteúdo dinâmico e interface de controles de usuário avançadas desenvolvidos com Ajax, HTML, JavaScript e tecnologias relacionadas. Resumidamente, ele serve para estender o significado das interações da sua aplicação. O que é jQuery Validate? É um plugin jquery utilizado para criar validações front-end em formulários. A grande vantagem está na facilidade em implementá-lo e personalizá-lo, de acordo com seu projeto.

Hoje existem excelentes leitores de tela que podem atender às mais diversas necessidades dos deficientes visuais, alguns são pagos e outros gratuitos. Os mais utilizados são: • • • • •

NVDA (Windows) - gratuito JAWS (Windows) - pago Voice Over (Mac) - gratuito DosVox (Windows) - gratuito Virtual Vision (Windows) - pago

Iniciando o formulário Após escrever todo seu HTML, criar seu estilo via CSS e implementar via JavaScript toda a sua regra aos campos de formulário, vamos personalizar o plugin para deixá-lo


Front < 36

acessível. Existem alguns métodos do plugin - neste exemplo usaremos errorPlacement, highlight e unhighlight. $(‘form’).validate({ errorClass: ‘help-block’, errorElement: ‘p’, errorPlacement: function(error, element) { element.parents(‘.form-group’). append(error); var msg = $(element).next(‘.help-block’). text(); $(element).attr(‘aria-label’, msg ); }, highlight: function(element, errorClass){ $(element) .attr(‘aria-invalid’, true) .parents(‘.form-group’) .addClass(‘has-error’); }, unhighlight: function(element, errorClass){ $(element).removeAttr(‘aria-invalid’) .removeAttr(‘aria-label’) .parents(‘.form-group’).removeClass(‘haserror’); } });

errorPlacement: É adicionado no elemento (campo de input), no valor do atributo aria-label, a mesma mensagem de erro. Assim, quando o leitor dá um foco no campo, ele lê a informação para o usuário. highlight: É adicionado no elemento (campo de input) o atributo aria-invalid=”true”, informando ao leitor que há erro no campo. unhighlight: São removidos os atributos aria-invalid e aria-label, já que na função unhightlight, acontece quando não existe mais erro nos campos. Veja um exemplo online de um formulário com JQuery Validate http://ow.ly/OsGSp Finalizando o formulário Quando o usuário preenche todos os campos obrigatórios e não há mais a necessidade de exibição da validação, chegamos à última fase do formulário, que é a de exibir uma mensagem de feedback, ou seja, do que aconteceu depois da ação desse usuário. Um exemplo fácil será uma mensagem escrita: Formulário enviado com sucesso! No entanto, essa mensagem precisa receber o foco na hora da exibição. Assim, tanto o usuário vidente quanto aquele que utiliza o leitor de tela consegue receber claramente a mensagem final.


Front < 37

Dica final: utilize a role=”alert” conforme no exemplo, assim o leitor entenderá que é um elemento de alerta.

<div role=”alert” class=”alert alertsuccess”> Cadastro feito com sucesso! Verifique seu e-mail. </div> Conclusão Criar formulários é um pouco chato, mas deve ser pensado e desenvolvido de uma forma simples, pra que ele tenha um fluxo de fácil entendimento e compreensão por parte do usuário. As mensagens de erro precisam ser bem descritivas, com visual de destaque e acessível aos leitores de tela. Dessa forma, todos ganham: quem vende, quem compra, quem cadastra, quem reclama, ou mesmo aqueles que querem apenas fazer um elogio, crítica ou sugestão. Façam testes usando somente o teclado, e apenas depois com os leitores de tela. O grande lance de trabalhar com web é que

podemos melhorar diretamente a vida das pessoas, sendo quando elas compram produtos, viagens, roupas, objetos etc. E pra tudo isso precisamos de um formulário. Façam sites acessíveis, consequentemente formulários acessíveis. Esse pensamento deve fazer parte de todas as áreas: Vendas, Gerência, UX, Designer, Front-end, Back-end, Redatores, Social Mídia e QA. Acessibilidade não é caridade, e sim uma questão de consciência. Se a Web é conteúdo, então que esse conteúdo chegue a todos!

Deivid Marques é uma pessoa que acabou transformando seu hobby em profissão. É desenvolvedor front-end há 6 anos com foco em usabilidade e atualmente trabalha na Locaweb. É um dos organizadores do Front in Sampa e da Conferência CSS Brasil, além de fazer parte do Grupo de Trabalho de Acessibilidade do W3C Brasil. deividmarques@gmail.com


Precisa de ajuda na integração? MundiPagg gateway de pagamentos online

• API em Rest, garantindo flexibilidade e simplicidade

• O tempo de resposta mais rápido do mercado, menos de 300 ms

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

www.mundipagg.com.br | contato@mundipagg.com Capitais e Regiões metropolitana: 3003-0460 Outras regiões 21 3554-2800

Desenvolvendo para você


Segurança < 39

SecOps - Segurança em DevOps Por Marcos Ferreira, analista de segurança na Site Blindado A abordagem do DevOps envolve o conjunto de práticas que tem como foco o desenvolvimento de software que enfatiza a comunicação, a colaboração e a integração entre as equipes de desenvolvimento e as operações de uma empresa. O principal objetivo na implementação do DevOps é reduzir o tempo no lançamento de novas versões e funcionalidades, além de agilizar o desenvolvimento e aumentar a estabilidade de aplicações. Essa entrega contínua já é amplamente utilizada por grandes empresas da Internet como Amazon, Netflix, Google e Flickr, além de algumas brasileiras como Sieve e Pagar.me. Claro que nem todos os deploys são novas funcionalidades ou atualizações de segurança - muitas vezes esses deploys resolvem algum problema de configuração, implementam alguma sugestão do cliente etc. Em um primeiro momento, do ponto de vista de segurança, isso dificulta o trabalho de fazer a auditoria do código e outras rotinas de segurança antes de ser colocado em produção. Mas como podemos integrar a segurança nesse processo? Como é possível automatizar as verificações para garantir o mínimo de segurança? A implementação do DevOps é uma grande oportunidade para a equipe de segurança instituir as melhores práticas na infraestrutura e no desenvolvimento seguro desde o início do projeto e não apenas no final, como é feito hoje por muitas empresas. Quando pensamos dessa forma, e nos preocupamos em automatizar e integrar segurança no

processo, estamos falando de SecOps, que também conhecido como SecDevOps.

O principal objetivo na implementação do DevOps é reduzir o tempo no lançamento de novas versões e funcionalidades, além de agilizar o desenvolvimento e aumentar a estabilidade de aplicações O primeiro passo para conseguir realizar essa integração da segurança no ciclo de desenvolvimento e no apoio das equipes operacionais é incluir a área de segurança desde o início do projeto, ou seja, no planejamento.

Como começar 1) Planeje a segurança: pesquise a tecnologia e as soluções que serão utilizadas tanto no desenvolvimento como na implementação e levante os aspectos de segurança de cada item. Em tecnologia, fique atento às melhores práticas de segurança para implementação dos servidores e serviços que serão utilizados. Já na parte de desenvolvimento, faça o mapa das áreas mais críticas do código - um código back-end que não possui interação com o usuário não possui a mesma criticidade de uma área onde é possível trocar a senha. Além disso, pesquise as melhores práticas no desenvolvimento seguro dessa linguagem e verifique se existe algum framework de segurança.


Segurança < 40

2) Traga os desenvolvedores para próximo de segurança: isso vai muito além de apontar as falhas que devem ser corrigidas ou dar uma passada no departamento; é oferecer treinamentos constantes sobre os problemas de segurança que acontecem em todos os lugares. Uma ótima referência para isso é o projeto OWASP, que enumera as principais vulnerabilidades em aplicações web. Além disso, compartilhar exemplos, ferramentas e casos reais ajuda a visualizar e a entender o problema.

3) Disponibilize ferramentas: a utilização de frameworks e ferramentas de segurança para análise de códigos auxilia os desenvolvedores a prevenir diversos problemas de segurança já no código-fonte, e pode fazer parte dos testes automatizados do clico de DevOps.

tro desse pacote, o Chaos Monkey derruba um servidor de produção para simular uma falha real, o Conformity Monkey procura por instâncias que não estão utilizando as melhores práticas e o Security Monkey monitora e analisa vulnerabilidades e falhas de configuração. Aconselho você visitar o blog da Netflix para conhecer todas as ferramentas e suas funcionalidades: http://ow.ly/Osv5Q

Conclusão Colocar segurança junto com DevOps irá reduzir drasticamente o risco de vulnerabilidades, e a segurança se tornará parte integrante desse processo contínuo. Mas para que isso aconteça com sucesso, a área de segurança deve ser colaborativa e todo processo deve ser iniciado aos poucos e, preferencialmente, com os pontos mais críticos e depois ir se estendendo para todo o restante.

Alguns exemplos de frameworks são OWASP Python Security, HTML Purifier, Spring Security, Apache Shiro. Entre as ferramentas que analisam o código podemos citar Visual Code Grepper (C/C++, C#, VB, PHP, Java e PL/SQL), Brakeman (Rails), FindBugs (Java), Flawfinder (C/C++).

4) Faça verificações constantes: mesmo adotando as práticas anteriores, as vulnerabilidades irão aparecer, mas pode ser em quantidades bem menores. A cada seis meses, é indicado realizar um teste de invasão que irá verificar manualmente as vulnerabilidades existentes em sua aplicação e infraestrutura. A utilização de uma empresa que faça um code review mais abrangente também é recomendada nesta fase. Se a sua aplicação utiliza a estrutura da Amazon, você precisa conhecer o conjunto de ferramentas chamado Simian Army, que foi disponibilizado pela Netflix. Den-

Marcos Ferreira atua há 13 anos na área de Segurança da Informação, com ampla experiência com análise de vulnerabilidades, testes de invasão e auditoria. Foi responsável por trazer ao Brasil a primeira certificação CVE. Atuou durante quatro anos (2004-2007) no quadro de profissionais selecionados pelo SANS Institute para descrever anualmente as próximas tendências de ataques na Internet e as vulnerabilidades mais críticas. Essa lista é utilizada como base para empresas privadas e órgãos americanos como Department of Homeland Security (DHS) e Computer Emergency Response Team (CERT). marcos.ferreira@siteblindado.com.br www.siteblindado.com.br


Desenvolvimento Zen < 42

Gangues da Nova Web Por Anderson Casimiro, CTO da Agrosmart e ativista do PHPSP

Salve pessoal! Nos últimos tempos, temos tido um grande em enfoque em situações de discriminação. Aproveitando isso, quero falar aqui sobre como isso nos afeta no dia a dia – em resumo, qualquer preconceito te afasta de realizar seus objetivos e vou tentar mostrar o porquê. Neste artigo, vou expressar outra visão sobre alguns tipos de preconceito e fanatismos e como lidar com eles - para isso, faz-se necessário ter a mente aberta para ver pelos olhos de outro. Caso não fique confortável com a opinião alheia, fique livre para ler outro artigo, mas reforço o convite para que leia até o final. O gênero é um dos grandes pontos de discriminação em TI. É muito comum encontrar times multiculturais e multiétnicos nos mais variados projetos, mas se há algum colega homossexual ou uma mulher na equipe, o preconceito deixa de ser velado e se torna bastante claro. De questões culturais, como sotaques, até a raça ou a cor de uma pessoa viram motivos de “piadinhas” em encontros grandes ou pequenos. Aqui faço um mea culpa: já ri e fiz esse tipo de “piada” no passado e me arrependo muito disso. Claro que isso não acontece apenas em TI. Ou será que você não conhece ninguém que pensa que todo cabelereiro ou enfermeiro é, obrigatoriamente, homossexual? Ou que seu gênero e cor definem e limitam o que você pode ou não fazer? Até mesmo o domínio ou não de um idioma parece ser, hoje, motivo de discriminação e piada. O

foco tende a ser, infelizmente, em ridicularizar um erro ou mesmo uma característica da fala da pessoa, ao tentar conversar em outro idioma. Sim, sabemos que conhecer outro idioma faz muita diferença no mercado de trabalho, sem falar nas possibilidades de enriquecimento cultural - e isso vale para o inglês, o espanhol, o mandarim e qualquer outro idioma. Somos tão arrogantes que acreditamos que sabemos mais e melhor que todos.

“Excelente mesmo é compartilhar o porquê de suas decisões e entender as decisões de outras pessoas, sem intentar ser o dono da verdade” Se você foi ao PHP Experience, vai se lembrar de Paul Jones na abertura da sua palestra, fazendo piada ao dizer que quem fala muitas línguas é poliglota, quem domina duas é bilíngue e quem fala apenas uma é... norte-americano. É algo para se pensar, não acha? Achamos os americanos arrogantes por não falarem outros idiomas, mas somos os primeiros a atirar pedras em qualquer erro de alguém que está aprendendo! Também podemos falar dos “fanboys”, que pré-julgam outros que não gostam da mesma marca/linguagem de programação/qualquer outra preferencia que eles. Usuários de Apple que se sentem superiores, ou Linuxeiros que acreditam ter “o poder do kernel” em suas mãos. Há ainda alguns que defendem como solução única


e irrevogável que seu ambiente é melhor que o do outro simplesmente porque é “enterprise” ou porque é a ultima moda. Entenda, não quero fazer uma generalização, mas com certeza você já “socializou” com pessoas que pensam assim. Aqui valem alguns cuidados, inclusive de interpretação: não é ruim defender uma opinião ou gosto; o problema é não ter a mente aberta para aprender fora de sua zona de conforto. Excelente mesmo é compartilhar o porquê de suas decisões e entender as decisões de outras pessoas, sem intentar ser o dono da verdade - o que nos leva ao próximo ponto.

“Diferenças não existem para segregar - elas existem para que mutuamente o conhecimento, seja técnico ou cultural, se expanda a mais partes” Há pessoas experientes e reconhecidas dentro de suas áreas de domínio. Mas há uma linha tênue entre saber muito e compartilhar, e propagar a “verdade absoluta”, pelo menos do ponto de vista de quem ouve esses dois tipos de profissional. Posso cair na minha própria armadilha aqui, mas a verdade é que não há verdade absoluta. Se alguém te diz que, genericamente, testes unitários são o caminho, a luz e a vida, tome cuidado. Não há problema algum no teste de unidade, o problema às vezes é pensar só nele. Todo tipo de teste tem um propósito e um custo. O mesmo acontece com decisões arquiteturais. De infraestrutura. De pessoas. Cada situação em um projeto, desde uma contratação a uma decisão de estratégia de cache, deve ser considerada única: experiências anteriores podem servir de base para a discussão, assim como a evolução da própria tecnologia em si, que provavelmente terá muitos elementos novos com relação ao

tempo no qual “a experiência” foi formada. Ah, não só “gurus” com cinco anos de mercado têm experiência para opinar. Possivelmente o “estagiário” pode ter passado por uma situação completamente inédita comparada ao restante do time que pode ser justamente o fundamento de uma nova solução. O meu ponto aqui é que todo conhecimento é válido, vindo de um noviço ou de um sacerdote. Pode parecer um discurso político, mas o objetivo está em outra frente. Pessoas, credos, opiniões… diferenças sempre existiram, e sempre existirão (eu espero!). Quando seu foco está em manter errada uma opinião diferente da sua, você perde uma oportunidade única de aprender algo fora do seu leque de habilidades. Se você trata como inferior uma pessoa com qualquer atributo diferente de você, estará dispensando a possibilidade de aprender com ela - mesmo sabendo que o sangue dela é tão vermelho quanto o seu. Diferenças não existem para segregar - elas existem para que mutuamente o conhecimento, seja técnico ou cultural, se expanda a mais partes. Quanto maior a quantidade de experiência com a qual você tiver contato, melhor será o seu leque de opções para tomar uma decisão. Conhecimento, esse sim, deve ser um objetivo acima de qualquer diferença. Até a próxima!

Anderson Casimiro é CTO da Agrosmart e ativista do PHPSP. Apaixonado por Tecnologia desde sempre, tendo atuado como desenvolvedor, instrutor, evangelista e líder de times de desenvolvimento, além de palestrante nos principais eventos de tecnologia do país. @duodraco | duodraco@gmail.com


Brasil

*Referente à contratação do plano Linux básico trienal

HOSPEDAGEM DE ALTA PERFORMANCE AGORA NO BRASIL

Planos a partir de R$ 9,90/mês*

br.bluehost.com


Infra < 45

Centralizando e facilitando a utilização de serviços de infraestrutura interna Por Sergio Mira, cientista da computação e administrador de redes e sistemas da Gerencianet.

Desde o surgimento do cloud computing, boa parte das empresas de TI (ou que possuem um departamento de TI) decidiu terceirizar seu setor de infraestrutura (servidores, telefonia, redes) com o objetivo de reduzirem custos, ficarem mais independentes de tecnologias físicas e, como estamos falando de um setor que depende de disponibilidade (elétrica, Internet etc.), estarem sempre online. Contudo, há empresas que, devido ao seu nicho de mercado, ou até mesmo por cultura de segurança, optam por trabalhar com uma infraestrutura interna própria, a fim de terem maior controle sobre seus sistemas, dados e rede. Obviamente que, com uma infraestrutura própria, deve-se estar preparado para disponibilizar rede e serviços de alta qualidade, uma vez que não se utiliza a Internet para trafegar nenhum tipo de dado interno, ou seja, são necessários profissionais extremamente especializados, espaço próprio adaptado e equipamentos de ponta. Um dos desafios para um administrador de infraestrutura está nessa disponibilização de serviços de alta qualidade. Imaginemos um cenário de uma empresa de serviço web que possui vários setores de desenvolvimento, e cada setor é responsável por um subsistema que faz parte do sistema web da empresa, trabalhando com um tipo de

linguagem/tecnologia diferente. Nesse cenário, o setor de infraestrutura é responsável por disponibilizar serviços para esses subsistemas, tais como gerência e controle das tecnologias utilizadas por cada setor, gerência e manutenção de bancos de dados diferentes, gerência e controle de serviços de hospedagem, gerência de controles de versionamento, envio e recebimento de mensagens internas e externas (e-mails, SMS etc.), entre outros. Além disso, o setor de infraestrutura é responsável pela integração entre a empresa e os serviços externos, controles de backup de bancos de dados, regularização de servidores de resolução de nome (DNS), controle de chegada e saída de Internet (Firewall), controle de roteadores internos e roteador de borda, alta disponibilidade, segurança computacional e de rede, entre muitos outros. É nesse ponto que aparece a necessidade de se criar uma camada interna de oferta de serviços de infraestrutura para o setor de desenvolvimento. Essa camada deve abstrair toda a complexidade de implementação e configuração dos serviços propriamente ditos, já que o desenvolvedor, no âmbito de sua produtividade e prazo de entrega, não deve estudar, implementar e configurar serviços como enviar um e-mail.


Infra < 46

Nada mais apropriado para isso do que uma API RESTful de serviços de infraestrutura, nos quais a Amazon é líder no mercado, entre outras empresas especializadas que surgiram ao longo dos anos. Para que uma empresa tenha sua infraestrutura e seus serviços acessíveis por uma API, algumas mudanças são visíveis logo no planejamento. Muitas vezes, algumas demandas de infraestrutura são feitas com alguns shell scripts rápidos ou até manualmente. Por isso, a primeira mudança é tornar possível, via código, toda implementação e configuração de servidores, ou seja, automatizar o serviço no próprio setor de infraestrutura.

Um dos desafios para um administrador de infraestrutura está nessa disponibilização de serviços de alta qualidade Além disso, é preciso que o fluxo operacional de toda a empresa sofra algumas alterações, de forma que o setor de infraestrutura participe dos momentos em que seja importante o controle de algum serviço. Por exemplo, numa situação em que um funcionário é admitido na empresa, ele deverá ter acesso à rede intranet. Isso é controlado de alguma forma pelo setor de infraestrutura, porém, para a automatização dessa demanda, o setor deve ser notificado da admissão desse funcionário e, então, realizar as operações de entrada dele. Outro ponto que atormenta muito sysadmin é quando os sistemas rodando em vários servidores diferentes precisam enviar e-mails. Por exemplo, um cliente fez cadastro no sistema da empresa e precisa receber

uma mensagem no seu endereço eletrônico para confirmar o cadastro. Por meio da API de infraestrutura, o desenvolvedor só precisa escrever um método que consome um webservice, sem preocupações. A escolha do método de saída da mensagem é da infraestrutura, que pode também configurar outras diretivas no envio de mensagens. Com uma API realizando a integração, tornam-se mais práticas a gerência de credenciais e as permissões, além de centralizar as opções de serviços somente em um local. É absolutamente necessário em uma empresa de pequeno, médio ou grande porte, que possui uma infraestrutura própria, centralizar os serviços oferecidos por sua infraestrutura, de forma a organizar seu crescimento. Essa topologia ainda prevê redundância geográfica, o que é a menina dos olhos para sistemas que requerem alta disponibilidade.

Sergio Mira é graduado em Ciência da Computação pela Universidade Federal de Lavras (UFLA), onde trabalhou nas áreas de Redes de Computadores e realizou pesquisas na área de Engenharia de Software. Trabalha na Gerencianet desde 2012, onde atua na área de administração de redes e sistemas e, atualmente, é membro do CSIRT interno. Possui experiência em desenvolvimento web, servidores Linux, redes de computadores, segurança computacional, virtualização e base de dados @sergioext4 | sergio@gerencianet.com.br


Conte com os especialistas do Sebrae para ter toda a orientação para a sua loja virtual.

: EBIT

onte ão F

jeç *Pro

No Brasil e no mundo, o comércio eletrônico cresce a cada ano e pode ser um ótimo canal para pequenos negócios que desejam aumentar o faturamento e conquistar mais público com presença digital. Conheça as soluções e serviços do Sebrae para quem quer montar ou expandir seu negócio on-line em sebrae.com.br/comercioeletronico. /sebrae

@sebrae


Tecnologia do Futuro < 48

Tempos inseguros Por Flávia Jobstraibizer, Analista de Sistemas, Editora-chefe das Revistas Linux Magazine e Admin Magazine

A Internet e a tecnologia em geral estão passando por momentos tensos. A cada dia triplicam as vulnerabilidades encontradas em aplicativos que estavam sendo utilizados há anos, assim como novas falhas em aplicativos recém-lançados são rapidamente exploradas e acabam prejudicando diversos negócios e empresas em geral. Mas não são apenas as empresas as prejudicadas com as brechas e as falhas de segurança. Pesquisadores da Kaspersky apontam várias ameaças presentes nos dispositivos domésticos que utilizamos todos os dias. Uma delas é a falha de segurança que expõe arquivos, fotos e documentos pessoais de usuários de smartphones conectados à Internet, de forma que podem ser copiados e até mesmo apagados dos dispositivos. A falha foi encontrada em um aplicativo de backup de arquivos na nuvem. David Jacoby, analista da Kaspersky, aproveitou e conduziu um levantamento em dispositivos encontrados dentro de sua própria casa. Ele examinou dois modelos de NAS de diferentes marcas, uma Smart TV e um roteador doméstico. Como resultado de sua pesquisa, conseguiu descobrir 14 vulnerabilidades nos dispositivos NAS, uma vulnerabilidade na Smart TV e várias funções de acesso remoto escondidas no roteador. Já em outra série de falhas descobertas, os dispositivos da Samsung estão na berlinda. A empresa vem trabalhando arduamente no desenvolvimento de sua plataforma de segu-

rança, o Knox, que foi criado para oferecer uma camada adicional de proteção para seus clientes. No entanto, têm surgido notícias revelando que a linha Galaxy pode não ser tão segura como muitos pensam. A questão foi levantada por Ryan Welton, da empresa NowSecure, durante o evento Blackheat, que notou uma grande vulnerabilidade na TouchWiz.

Uma delas é a falha de segurança que expõe arquivos, fotos e documentos pessoais de usuários de smartphones conectados à Internet, de forma que podem ser copiados e até mesmo apagados dos dispositivos. A falha foi encontrada em um aplicativo de backup de arquivos na nuvem O problema está relacionado ao teclado SwiftKey que vem pré-instalado nos principais dispositivos da empresa, que, em vez de usar um canal seguro com criptografia ativada, é feita via texto simples. Como resultado, Welton destacou que atualizações maliciosas podem ser enviadas para o seu smartphone utilizando esse método. Além disso, o código malicioso pode permanecer no dispositivo, o que, por sua vez, poderia ser usado para


Tecnologia do Futuro < 49

atacar o smartphone hospedeiro ou mesmo roubar os dados do dono do aparelho (o que inclui o acesso a fotos, vídeos e arquivos armazenados no gadget). Já as lojas virtuais são os alvos mais famosos dos hackers. Em busca de números de cartão de crédito, falhas em scripts e acesso desprotegido aos cadastros de clientes, hackers tentam de mil e uma formas conseguir informações muito valiosas de servidores desprotegidos.

de segurança nestes tempos, que atire a primeira pedra, mas o futuro da tecnologia está ameaçado pela falta de segurança. Se não pudermos garantir o uso de nossos dispositivos sem ter uma surpresa desagradável, a evolução da tecnologia, já tão demorada em nosso País, irá invariavelmente andar a passos ainda mais lentos. Vamos esperar para ver!

Como resultado, Welton destacou que atualizações maliciosas podem ser enviadas para o seu smartphone utilizando esse método. Além disso, o código malicioso pode permanecer no dispositivo, o que, por sua vez, poderia ser usado para atacar o smartphone hospedeiro ou mesmo roubar os dados do dono do aparelho (o que inclui o acesso a fotos, vídeos e arquivos armazenados no gadget) Caixas eletrônicos com “chupa-cabras” clonando nossos cartões, acesso remoto indevido à câmera do seu notebook, invasões e deface em websites e até mesmo adulteração de dispositivos médicos como marca-passo e aplicadores automáticos de insulina estão entre as preocupações tecnológicas da vida moderna. Quem nunca teve nenhum único problema

Flávia Jobstraibizer é editora-chefe das Revistas Linux Magazine e Admin Magazine, analista de sistemas, autora de livros de informá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 estudar, aprender, conversar com gente inteligente e tomar Piña Colada de vez em quando. http://flaviajobs.com.br | @flaviajobs


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

Com o API Management Suite da Sensedia você consegue:

Conheça melhor e agende sua demo em sensedia.com

a a a a a a

Expor dados e serviços com segurança Engajar desenvolvedores Proteger o seu backend Gerenciar as dependências de APIs externas Monitorar o seu tráfego Entender o uso das suas APIs


Sr. Conteúdo < 51

Para (a) sua informação Por Bruno Rodrigues, Consultor de Informação e Comunicação Digital

De nada adianta insistirmos na necessidade de um entendimento definitivo sobre a importância do conteúdo em sites, portais e redes se não paramos nem um minuto sequer para entender o que, de fato, é a informação – logo ela, a alma do conteúdo. Pode parecer óbvio que o que move o conteúdo é a informação que se deseja transmitir, mas passamos rápido demais por aspectos responsáveis pelo sucesso (ou pelo fracasso) do trabalho que executamos. Precisamos refletir, sempre. Há alguns pontos que não podem passar despercebidos:

A informação não é algo etéreo Conteúdo não deve ser visto como um fluxo ‘descontrolado’ de informação para quem abrimos a ‘porteira’ e ficamos torcendo para que se espalhe conforme o planejado. Informação bem construída pode e deve ser rastreada, mensurada, mantida e conservada. Ou seja, um conteúdo é algo extremamente palpável e não ‘invisível’; digital é apenas seu meio e formato. Há tempos o mercado criou ferramentas capazes de avaliá-lo.

A informação é uma massinha de modelar O que você quis transmitir com uma infor-

mação pode - e provavelmente irá – sofrer uma ‘mutação’ assim que virar a esquina. Acontece desde o início da web, mas virou regra com a ascensão das redes sociais: o usuário assume que o conteúdo é dele e lhe dá outro formato. Funde o conteúdo com outras informações, insere-o em textos, imagens, posts e vídeos e, assim, o que aparentava ser intocável assume formatos e faces diferentes. A verdadeira ‘cuidadoria de conteúdo’ (uma parente mais realista da tal ‘curadoria’) age a partir deste ponto: quando o que era 100% seu passa a ser de todos, e por esse motivo deve-se acompanhar sua trajetória no meio online.

A informação é um bem Conteúdo não pode ser produzido em escala industrial. A criação de uma informação é um trabalho delicado; seu conteúdo deve ser visto como um produto elaborado em pequena escala, feito para um público definido (por mais amplo que ele seja). Esse esforço em colocar em ‘slow motion’ a produção de um conteúdo reforça a nossa necessidade de atenção, acentua a urgência em darmos valor ao que, no final das contas, é responsável pela imagem das marcas no meio digital.

Tipos de informação Entendidos esses aspectos, que por vezes


Sr. Conteúdo < 52

sabemos que existem, mas aos quais não damos a devida importância, é hora de decidir com que tipo de informação vamos lidar, e qual função vamos aplicar a cada uma delas. Os tipos de informação mais utilizados em marketing de conteúdo são também os mais usuais entre os consumidos pelos públicos no meio online: a notícia e a informação institucional. A notícia tem relação profunda com a origem do meio digital. As primeiras iniciativas de informação na Internet, assim que a web ousou sair dos recônditos acadêmicos, foram justamente aquelas que pretendiam dividir com os internautas o material noticioso produzido pelos grandes veículos, seja de forma oficial ou amadora. Ao trabalhar com material noticioso, é importante ter noção clara do tipo de informação com que estamos lidando, e observar suas peculiaridades.

Notícia A notícia movimenta a web Não à toa o jornalismo impresso passa por uma crise terrível. A função noticiosa foi ‘tragada’ pelo meio digital de uma forma imprevisível – apostava-se em um equilíbrio ‘pacífico’ até alguns anos atrás – e os mais diversos ambientes, dos blogs às redes sociais, apropriaram-se da missão da Imprensa, várias vezes

com sucesso. A ‘credibilidade sacrossanta’ dos meios impressos começa a esvair-se à medida que o meio digital amadurece, e o que antes era visto como regra, ou seja, desconfiar da notícia que surge dos recônditos obscuros da Internet, começa a ser encarado com menos desconfiança.

A notícia é objetiva ao extremo Pode parecer estranho apontar a objetividade de uma noticia – sua razão de ser – como um problema ou defeito, mas no trabalho de marketing de conteúdo o material noticioso é visto como hermético e praticamente incapaz de ser usado como um recurso para trabalho de marca.

Os tipos de informação mais utilizados em marketing de conteúdo são também os mais usuais entre os consumidos pelos públicos no meio online: a notícia e a informação institucional A notícia se basta, é recurso de divulgação, uma ferramenta ‘ponto a ponto’ que se esgota. Como informação, a notícia existe com o propósito de atender estritamente às necessidades do leitor – qualquer intenção que ela tenha de ser trabalhada como um recurso de apoio à imagem e/ou marca morre na praia. A notícia é como um carro que vem de fábrica sem nenhum opcional: ele anda,


Sr. Conteúdo < 53

mas não surpreende em absolutamente mais nada.

‘Ficar bem na fita’ é, antes de tudo, emocionar - e é disso que toda marca precisa.

A notícia perde o valor rapidamente

O conteúdo institucional é vigiado

O material noticioso é o tipo de informação que não pode ser retrabalhado. A notícia retrata o momento: é veiculada, depois mixada a outras informações, mas sua ‘alma’ não é eterna. O fato jornalístico condena o conteúdo à morte, a validade da notícia esfacela a informação.

Hoje você cobra de uma marca nas redes, não nos sites. A sua interatividade com produtos acontece em um meio em que a conversa é a pedra de toque, não a ‘consulta’. Assim, somos eternamente vigiados nas mídias sociais. Somos ‘embaixadores das marcas’, mas não percebemos que, na verdade, exercemos a função de ‘mantenedores’ da integridade do bem mais precioso que há nesses ambientes: a informação que nós mesmos publicamos.

Por isso, como bem, o horizonte de valor do conteúdo noticioso para uma marca não vai muito além do imediato: ele cumpre sua função imediata de emissão da informação, mas perde o peso em um piscar de olhos. O universo do conteúdo não vive sem a notícia, mas já foi provado que não podemos contar em sobreviver apenas com a notícia.

Conteúdo institucional Da mesma forma, o conteúdo institucional tem vantagens e alguns riscos:

O valor que uma notícia esgota em um piscar de olhos fica como tesouro e maldição em nossos posts em redes, como um lembrete de permanência e promessa. É muito risco e muita oportunidade, ao mesmo tempo. Informação tem rosto e temperamento, já deu para perceber, não é? Pronto para encarar? ;-)

O conteúdo institucional é emocional - se tratado desta forma As redes se esbaldam com o conteúdo ligado a marcas, fazem com ele a festa que anos a fio não conseguimos com sites e portais. Nos recônditos da ‘informação estruturada’, aquela em que a informação é ‘consultada’ via menus ou ferramentas de busca, a informação com o maior potencial de persuasão se viu sitiada, e logo extrapolou para achar sua morada definitiva nos posts das redes. Não há emoção que sobreviva a ambientes de consulta, e o conteúdo institucional conquistou o mundo - e os usuários - quando abraçou de vez a subjetividade de Facebook, Twitter e Instagram.

Bruno Rodrigues é Consultor de Informação e Comunicaçã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


Cloud < 55

Migrando para a nuvem com segurança Por Gabriel Sousa Soares, Analista de Operações de Hosting e mantenedor de ambientes Cloud na KingHost O que você deve considerar para escalar uma aplicação sem ter a segurança do ambiente web comprometida? Com todas as mudanças que surgiram junto à tecnologia do cloud computing, contamos também com certa dose de incertezas, especialmente relacionadas à segurança das aplicações. Um dos principais desafios em escalar e migrar para a nuvem é manter os padrões de segurança estabelecidos em ambientes de hospedagem tradicionais. Por isso, listamos aqui alguns itens de indispensáveis que você deve considerar antes de adotar um provedor de cloud.

Backup e restauração Além do backup, é importante testar suas restaurações pelo menos uma vez por ano, examinando e garantindo a integralidade e a integridade dos dados. Algumas questões importantes para esse item são: quais os dados que o seu provedor guarda e qual a periodicidade com que esses backups são feitos? Como você pode solicitar um backup? Durante quanto tempo os dados serão mantidos e onde eles estarão armazenados? Que técnicas são utilizadas para restaurar dados? Existem testes de integridade de dados nas restaurações? As respostas a essas perguntas são bons guias para avaliar o comprometimento do provedor nessa área.

Testes de vulnerabilidade Provedores sérios devem estar atentos às vulnerabilidades divulgadas e rapidamente buscar e aplicar atualizações de segurança, evitando riscos nas aplicações hospedadas. Além disso, devem realizar testes de vulnerabilidade periodicamente para desvendar falhas antes mesmo de elas serem divulgadas. Por outro lado, o desenvolvedor da aplicação também deve se atentar para possíveis vulnerabilidades em sua aplicação, executando atualizações periódicas e estando atento aos riscos de segurança mais críticos em aplicações web com base no TOP 10 da OWASP (Projeto de Segurança de Aplicações Web Aberto).

Gerenciamento de patches para servidores Depois das vulnerabilidades, a segunda maior fonte de brechas de segurança são os softwares sem correções. Você deve questionar se seu provedor faz testes de patches de segurança crítica e os aplica o mais rápido possível - de preferência no prazo de uma semana da disponibilidade no caso de correções simples, e ainda mais rápido durante alguma campanha agressiva antimalware. Descubra se o provedor executa o gerenciamento e verifica o status de patches com regularidade.


Cloud < 56

Encriptação É importante encriptar dados sensíveis das suas aplicações, especialmente os hospedados na Nuvem. Quais tipos de algoritmos de criptografia são usados e como eles são aplicados? Os dados são criptografados em repouso e em trânsito? Que tamanho de chave é usado nas suas aplicações? Com que frequência as chaves são renovadas e substituídas? Quem tem acesso às chaves? Essas são perguntas que você precisa esclarecer antes de entregar seus dados ao provedor. Geralmente chaves simétricas são consideradas fortes se tiverem ao menos 256 bits.

Detecção de intrusão É importante saber quais os métodos utilizados para detectar possíveis tentativas de intrusão. Ambientes que envolvem entregas de serviços críticos precisam contar com gerenciamento de logs ativo para que se possa identificar possíveis eventos de segurança relevantes.

Respostas a incidentes Provedores de Cloud devem ter uma equipe responsável pela resposta a incidentes devidamente treinada, que responderá rapidamente a eventos críticos. Se um evento de segurança é observado, quanto tempo demora para que a equipe responda? Em quanto tempo você será notificado depois de um comprometimento de dados?

Isolamento de domínio Tradicionalmente, ambientes de tecnologia da informação eram divididos em internos, externos e DMZ. Infelizmente, o Cloud não se encaixa nessas categorias. Sendo assim, pergunte ao provedor como é feito o isolamento de domínios. Esse é um item

necessário de segurança para que haja certeza de que apenas usuários e dispositivos permitidos tenham acesso à leitura e à manipulação do conteúdo hospedado.

Um dos principais desafios em escalar e migrar para a nuvem é manter os padrões de segurança estabelecidos em ambientes de hospedagem tradicionais Elucidamos aqui alguns pontos relacionados à segurança, imprescindíveis quando estamos alocando nossos serviços na nuvem. Esses itens devem ser analisados de forma minuciosa, para que possamos ter segurança ao escolher o provedor para o nosso projeto. Ao avaliar soluções Cloud Computing, não devemos economizar tempo!

Gabriel Sousa Soares é Analista de Operações de Hosting e mantenedor de ambientes Cloud na KingHost Hospedagem de Sites. gabriel.soares@kinghost.com.br http://kinghost.com.br


LOGIN COM


58 > Por dentro do W3C

Uma breve história do áudio na Web Por Reinaldo Ferraz, Especialista em Desenvolvimento Web do W3C Brasil

Não que eu seja uma pessoa saudosista (afinal, apesar do romantismo da codificação do HTML puro, o desenvolvimento era muito limitado), mas gosto de analisar e lembrar como a tecnologia evoluiu para chegar onde ela está e quais os possíveis caminhos ela deve seguir. No artigo desta edição, quero falar um pouco sobre como o áudio na Web evoluiu nos últimos anos. Antes de começar, vale um alerta: não vou falar de download de arquivos de áudio, e sim de execução de áudio nativo nas paginas Web. Para isso, é preciso voltar aos primórdios da Web. Por volta de 1995, a Web era um amontoado de GIFs animados, tabelas, textos sem formatação e backgrounds em gradiente feitos de imagens (lembre-se de que não existia CSS nessa época e todos os backgrounds eram declarados dentro do HTML). Foi nessa época que surgiu um elemento que só funcionava nas primeiras versões do Internet Explorer, chamado <bgsound>. Ele permitia algo inimaginável até então: adicionar som a uma página web. O <bgsound> permitia que se inserisse um arquivo .MID para tocar toda vez que o usuário entrasse na sua página. Atributos como loop e volume tinham tudo para transformar a vida do usuário em um inferno. Em 1996, a Macromedia percebeu o quanto a Web podia ser muito mais do que hiperlinks

(ou áudio em .MID) e lançou o software Macromedia Flash, que possibilitava criar experiências multimídia limitadas apenas ao seu bom senso. Pirotecnias como o EYE4U reinavam nessa época, com músicas de fundo e sons de cliques em botões. Ainda no HTML4, tratávamos arquivos de áudio de forma precária, pois além dos arquivos .SWF, reinavam plug-ins de Real Player, Quicktime e muitos outros. Esses plug-ins já faziam uso do elemento <object> para reproduzir seus arquivos multimídia (vale lembrar que o elemento <embed>, muito utilizado nessa época, não fazia parte do padrão W3C e só veio entrar depois na especificação do HTML5). Isso se mostrou um caso de uso importante, já que sem esses plug-ins não seria possível o YouTube ser criado em 2005, por exemplo. O problema era a necessidade de um plug-in no navegador para acessar esse conteúdo.

“A Web deixou de ser aquele amontoado de links há muito tempo. O áudio na Web cresceu, mas acho que ele e ainda é um adolescente” Finalmente dentro do HTML5, o áudio na Web começou a ser tratado como realmente deveria: com respeito pelos grandes players da Web. Foi em 2007 que começaram a surgir as pri-


59 > Por dentro do W3C

meiras referências a um elemento nativo para reproduzir exclusivamente áudio na Web. Em 2008, o elemento <audio> apareceu dentro da primeira versão da documentação do HTML5. A chegada do elemento <audio> teve um impacto muito maior do que o <bgsound> por um simples motivo: o novo elemento foi criado dentro de um consórcio internacional, em parceria com os demais players do mercado. Opera, Mozilla, Microsoft, Google, Apple e muitas outras empresas participaram da construção do padrão que deveria ser interoperável entre os navegadores, e não funcionar apenas em um browser. Apesar da batalha entre os codecs, com o elemento <audio> foi possível oferecer ao usuário outras fontes e formatos, caso o navegador não desse suporte a um determinado codec. A tag <audio> foi muito importante para o HTML5, mas esse elemento sozinho não é poderoso o suficiente para modernas aplicações de áudio. Para aplicações como jogos na Web ou aplicações interativas mais elaboradas, era necessário ir além.

Por volta de 1995, a Web era um amontoado de GIFs animados, tabelas, textos sem formatação e backgrounds em gradiente feitos de imagens (lembre-se de que não existia CSS nessa época e todos os backgrounds eram declarados dentro do HTML) A necessidade de aplicações mais complexas foi a principal motivação para o desenvolvimento da Web Audio API. Essa especificação descreve uma API JavaScript de alto nível para processar e sintetizar áudio em aplicações web. E o mais legal de tudo isso foi que a API foi criada baseada em casos de uso já existentes, ou seja, foi construída com a ajuda

de quem já tratava o áudio na Web de forma profissional. Uma navegada na documentação (que em junho de 2015 tinha seu status em Working Draft http://www.w3.org/TR/webaudio/ ) mostra o quanto as possibilidades de uso são grandes: desde efeitos e mixagens até a integração com MediaStream usando getUserMedia(). Uma busca no caniuse.com por “Web Audio API” mostra que a API já é amplamente suportada pelos principais browsers do mercado. A Web deixou de ser aquele amontoado de links há muito tempo. O áudio na Web cresceu, mas acho que ele e ainda é um adolescente. Vamos ver (na verdade ouvir) essa evolução cada vez mais depressa com a Web embarcada em mais dispositivos e cada vez mais presente em nossa vida. Lembrar-nos do passado nos dá informação para planejar o futuro melhor.

Reinaldo Ferraz é especialista em desenvolvimento 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


Já imaginou uma máquina de cartão

com aplicativos? A Stone já.

Nosso objetivo como adquirente de cartão é lutar sempre pelo negócio do cliente e oferecer a melhor experiência de pagamento para nossos lojistas e seus consumidores. Acreditamos que o futuro deste mercado está na integração dos meios físicos com os digitais e por isso estamos construindo uma solução inovadora que faz a ligação entre esses dois mundos. Esta e muitas outras novidades vêm por aí.

Venha fazer parte desta revolução! euquero@stone.com.br

www.stone.com.br


61 > Cyberlaw

Uso de softwares abertos: uma vitória no judiciário brasileiro Por Carlos Alberto Ribeiro e Márcio Cots, advogados do COTS Advogados

A Internet e seus programas são códigos e, desde sua origem, existiram inúmeras mudanças tecnológicas, muitos códigos reescritos e aprimorados, e uma infinidade de licenças foram criadas (proprietárias e livres), normas, regulamentações, além de incentivos tributários e sociais. Enfim, muitas coisas mudaram, exceto as intermináveis discussões sobre qual o melhor código, qual a melhor solução, qual a melhor distribuição, e por aí vai. Discussões quase sempre originadas pela vaidade de desenvolvedores de códigos ou ainda frutos de ideologias e diretrizes corporativistas. Sendo assim, desde muito tempo, encontramos dilemas como software proprietário x software proprietário (Adobe Illustrator x Corel Draw), software livre x software livre (openSUSE Linux x Ubuntu) e, logicamente, software proprietário x software livre (Linux x Windows).

melhor para cada necessidade. Detalhe que inclusive pode ser o responsável pelo sucesso ou fracasso de qualquer projeto, e é aqui que começamos a falar dos códigos da Lei. Foi pensando nos usos e costumes, na responsabilidade social e nos princípios de nossa Constituição Federal que, no dia 9 de abril, o Supremo Tribunal Federal (STF) julgou improcedente, favorecendo o software livre, uma Ação de Inconstitucionalidade que questionava a validade da Lei 11.871/2002 quanto da preferência de uso de plataformas livres e abertas na Administração Pública (http://ow.ly/OsEEs). O questionamento principal, apontado pelo partido Democratas (DEM), alegava que a Assembleia Legislativa não poderia interferir nas regras de licitações, pois essa função é do Poder Executivo.

Muitas vezes, o impasse envolve não apenas questões filosóficas, mas principalmente questões técnicas, como qual software possui a melhor integração ou qual código é o mais enxuto, estável e seguro. Questões cujas respectivas respostas acabam por direcionar investimentos tanto no setor público quanto no setor privado.

Em fundamentação de seu voto, o Ministro Ayres Britto argumentou da seguinte forma:

O problema é que muitos desenvolvedores, empresários, investidores, startups e até o próprio governo acabam se esquecendo de um detalhe importantíssimo durante a fase da escolha de qual código ou solução é a

“a contratação e utilização de programas de computador com restrições proprietárias ou cujas licenças não estejam de acordo com esta lei: I - quando o software analisado atender a contento o objetivo

“A lei em causa não predetermina o vencedor da licitação nem retira da autoridade pública o poder de ponderação das circunstâncias do caso concreto. Veja que o art. 3º do diploma legislativo permite:


62 > Cyberlaw

Muitas vezes, o impasse envolve não apenas questões filosóficas, mas principalmente questões técnicas, como qual software possui a melhor integração ou qual código é o mais enxuto, estável e seguro. Questões cujas respectivas respostas acabam por direcionar investimentos tanto no setor público quanto no setor privado licitado ou contratado, com reconhecidas vantagens sobre os demais softwares concorrentes, caracterizando um melhor investimento; II – quando a utilização de programa livre e/ou código fonte aberto causar incompatibilidade operacional com outros programas utilizados pela administração direta, indireta, autárquica e fundacional do Estado, ou órgãos autônomos e empresas sob o controle do mesmo”. Outro questionamento, também apontado como inconstitucional pelo DEM, trata dos princípios da economia e da eficiência, que também foi apontado como manifestação improcedente no voto do Ministro Ayres Britto: “…existe, sim, um atributo do software “livre” que justifica a preferência estabelecida em lei: a aquisição do conhecimento. Quando a Administração Pública visa a adquirir um programa de computador, a proposta mais vantajosa será, quase sempre, aquela que lhe permita não somente usar o software, como também conhecer e dominar sua tecnologia. Isto tanto para viabilizar futuras adaptações e aperfeiçoamentos quanto para avaliar a real segurança das informações públicas. Tendo em vista essas específicas necessidades do Poder Público, pode-se afirmar, então, que o software “livre” é, a princípio, mais vantajoso, deven-

do, portanto, ter preferência em relação ao software “proprietário”. “... o software “livre”, assim como o “proprietário”, constitui-se num produto “acabado”, profissional. Ao adquirir um programa de computador “aberto”, a Administração Pública não está a contratar um produto experimental, menos ainda um serviço a cargo de amadores ou curiosos do ramo. Pelo que as mesmas garantias que se exigem das grandes empresas detentoras dos direitos autorais de softwares “proprietários” são requeridas para o correto funcionamento e manutenção dos softwares “livres”. Já quanto aos custos de migração de sistemas e de treinamento de usuários, eles também existem para a implantação e a atualização de softwares “proprietários”. E se tais custos são, eventualmente, maiores para operacionalizar softwares “livres”, isto se deve exatamente ao fato de que muitos órgãos e entidades da Administração Pública terminaram reféns dos programas “fechados”.


63 > Cyberlaw

Ainda em favor do software livre, o Ministro Luiz Fux fundamenta em seu voto:

quanto da adoção e incentivo do uso de softwares livres”.

“É lícito e legítimo que o Poder Público opte por adquirir licenças de software livre. Seria plenamente válido que a Administração Pública optasse por contratar apenas licenças amplas, que permitissem ao Poder Público obter acesso ao código-fonte dos programas de computador adquiridos”.

Resumindo, seja código proprietário, seja código livre, Gimp ou Photosohop, Linux ou Windows, a palavra final é a que vale, e a palavra final invariavelmente é baseada nos códigos comentados na palavra da Lei. Sendo assim, uso de softwares abertos – vitória no judiciário brasileiro!

Em outras palavras, ao optar por um software livre, a Administração Pública, seguindo os princípios já definidos pela GNU (General Public License), tem como garantias: (I) liberdade de execução – pode executar o programa para qualquer propósito; (II) liberdade de conhecimento – pode estudar o funcionamento do programa e adaptá-lo livremente às suas necessidades; e (III) liberdade de compartilhamento – uma única cópia do programa pode ser utilizada por todos os funcionários de um mesmo órgão público ou por qualquer outro ente, seja ele pessoa física ou jurídica, sem custos adicionais.

O questionamento principal, apontado pelo partido Democratas (DEM), alegava que a Assembleia Legislativa não poderia interferir nas regras de licitações, pois essa função é do Poder Executivo Tendo então o STF chegado à seguinte decisão: “… por unanimidade de votos, em julgar improcedente o pedido formulado pelo partido DEM na ação de Inconstitucionalidade

Carlos Alberto Ribeiro é Paralegal no COTS Advogados, escritório especializado em Direito Digital, Tecnologia da Informação e E-commerce. Especialista em Direito da Tecnologia da Informação pela FGV. Profissional especializado em plataforma Linux e padrões abertos desde 1998, possui experiência nacional e internacional, cursos e certificações MCSE, Novell Certified Linux Administrator, Novell Certified Linux Professional, CCNA Cisco, Novell OES Bootcamp, Novell Identity Manager, IBM Data Center Technical Specialist, IBM – SystemZ e ACS Cisco. Também é palestrante em eventos nacionais e internacionais nas áreas de direito e tecnologia. Márcio Cots é sócio do COTS Advogados. Professor universitário de Direito Aplicado à Economia Digital nos MBAs da FIAP e como Professor Convidado e Especialista em Direito Digital nos MBAs da FIA/USP. Mestre em Direito pela FADISP, especialista em Cyberlaw pela Harvard Law School (EUA), com extensão universitária em Direito da Tecnologia da Informação, pela FGV-EPGE. Membro do Harvard Faculty Club, da Diretoria Jurídica da ABComm – Associação Brasileira de Comércio Eletrônico e da Comissão de Direito Eletrônico e de Crimes de Alta Tecnologia da OAB/SP. Autor de diversos artigos sobre o tema Direito Digital e coautor do livro Marco Civil Regulatório da Internet – Editora Atlas – 2014.


Carreira < 65

O que você quer ser quando crescer? Por Bernard de Luna, Líder de Produto do iMasters

O mercado criativo (ou, como eu chamo: desenvolvimento, design, marketing e empreendedorismo) está crescendo e aquecendo cada vez mais, mas onde vamos parar? Ou melhor, onde você vai parar? Ainda, você vai parar? Um dos maiores medos de analistas é não conseguirem se manterem atualizados com o passar do tempo e da idade, sem falar no trauma que carregamos dos anos 90, quando os funcionários mais experientes eram comumente trocados por jovens programadores. Esse medo levou - e leva - profissionais incríveis a trocarem sua atuação por cargos de gestão, liderança técnica e até mesmo cargos administrativos. Já faz mais de dois anos que tenho feito essa pergunta em eventos para centenas de pessoas, e sempre vejo muita gente na defensiva, talvez porque nunca tenham parado para pensar sobre esse assunto antes. Veja bem, não estou dizendo que você não pode ou que não deva se aposentar como desenvolvedor/engenheiro/analista/programador ou até mesmo como DBA/QA/ infra ou designer/ux/diretor de arte/scrum manager/product owner. Meu questionamento é bem mais simples, você já pensou nisso? Para se tomar uma decisão eficiente e planejar o seu futuro, é preciso primeiro entender o contexto, e por isso contarei um pouco da minha história na web.

1996 - Comecei a aprender web, conhecendo programas como bloco de notas (HTML), HotDog, Homesite (sendo integrado anos depois ao dreamweaver) e Front-page. 1998 - Primeira vez que criei um site profissional, sendo remunerado por isso (R$ 100,00). 2000 - Mudança significativa das interfaces web pela entrada do Fireworks e FutureSplash (que virou, depois, o Flash) em meados de 1998, e entrada do Macromedia Flash no fim de 1999 no Brasil. 2001 - Comecei a fazer grandes projetos no Brasil com apenas 16 anos. Isso me levou a pensar se “webdesign” era uma nova área ou uma onda passageira, pois os editores foram ficando mais inteligentes e acreditava-se que sua automatização anularia o ser racional por trás de tudo. Por causa disso, optei por cursar Comunicação Social: Publicidade, para ganhar estratégia e convencimento para lidar com essas máquinas automatizadoras que acabariam com os empregos de desenvolvedores e designers. Eu acreditava piamente que os webdesigners seriam substituídos por máquinas! Confesso que errei o motivo, mas acer-


Carreira < 66

tei no caminho que segui. Ter estudado estratégia da publicidade me abriu a mente para criar projetos cada vez mais criativos, explorando diferentes mídias, tecnologias e interações. O mais importante é que isso abriu as minhas possibilidades de carreira, pois me preparou para assumir cargos maiores e ajudar na tomada de decisões em outras empresas. Por outro lado, minha paixão pela web foi aumentando cada vez mais, principalmente com a chegada de Acessibilidade, Microformats, Tableless, Performance, CSS (eu amo CSS, vocês sabem, né?), Animações, Organização, Componentização e a Comunidade. Cursei minha faculdade em publicidade dos 17 aos 22 anos. Nesse ponto, já sabia que as áreas de desenvolvimento e design cresceriam cada vez mais, porém já tinha a certeza de que era muito pouco pra mim. Assim sendo, fui tentar fazer um mestrado e tive uma das maiores decepções de choque de geração que já vi. Bernard, você entende que aqui você não vai aprender a mexer em nenhuma ferramenta de design? Quando liderava o time de produto do portal do Jornal do Brasil (e tive um dos melhores chefes do mundo, Sandro Pessanha), comecei a me envolver bastante com acessibilidade e acreditava que podia somar muito a pesquisa e criação de novas práticas, metodologias e produtos para essa área. Assim, fui tentar um mestrado na área de Design. Nesse momento da minha vida, eu já dava aula de webdesign em uma faculdade. Quando fui conversar com o orientador da linha de pesquisa que pretendia cursar, percebi pela primeira vez que eu fazia parte de uma nova geração, uma geração com poucos nomes na frente, como Diego Eis, Pedro Rogério, Maujor, Tiago Baeta, Henrique Fer-

reira, entre alguns outros. E que a inércia seria um dos maiores desafios, pois como eu geraria inovação se a academia não reconhecia a minha área? Criei um projeto acadêmico superbacana, fui até elogiado pelo orientador, até que ele começou repetidamente indagar o motivo de eu querer fazer mestrado, visto que não me ensinaria a mexer em nenhum software de webdesign. Foi tão chocante ter que citar três vezes que já tinha conhecimento nessa área, que já dava aula sobre isso, que queria era aumentar o legado na área de acessibilidade, tornando-me um pesquisador do assunto. Dentre as poucas vagas liberadas, até consegui passar em todas as etapas, mas menos de “0,5” me colocou duas vagas abaixo dos inscritos. Primeira frustração da minha vida, primeira grande lição da minha vida. Sempre soube que quanto mais expectativa, maior a chance de frustração. Até hoje, levo essa lição comigo, mas uma frase do Papa João XXIII representa melhor o que aconteceu comigo: “Consulte não a seus medos mas a suas esperanças e sonhos. Pense não sobre suas frustrações, mas sobre seu potencial não usado. Preocupe-se não com o que você tentou e falhou, mas com aquilo que ainda é possível a você fazer.” Hoje as coisas mudaram, sete anos após esse momento, é impossível você pensar em Design sem considerar o digital, ergonomia, usabilidade, experiência e “desejabilidade”. Mais do que tudo, hoje temos novas gerações, temos ídolos e fãs, temos um papel a zelar e muita gente a inspirar. Através de palestras divertidas, cursos criativos, papos descontraídos e projetos e labs open souce, muita gente acredita e se inspira, e outros acreditam que é apenas diversão,


Carreira < 67

mas como diz o italiano Michelangelo, “se as pessoas ao menos soubessem o quão duro trabalho para ser mestre no que faço, não lhes pareceria tão maravilhoso”. Além de ter me enganado sobre o fim da carreira do webdesigner, houve o nascimento de outras especializações, o que ajuda a contribuir com o crescimento do mercado de desenvolvimento, mas também a dificultar a pergunta origem deste artigo: o que você vai ser quando crescer? O mercado brasileiro não ajuda os profissionais a seguirem carreira. Essa foi uma das respostas que recebi quando levantei essa discussão em um evento do iMasters. Essa frase me lembrou quando visitei os escritórios da Mozilla e da Google em San Francisco, onde você identificava muitos programadores seniores com carreira de mais de 20, 30 anos de programação, algo que é mais difícil de observar aqui no Brasil. Não estou certo se o problema é a falta de incentivo do nosso governo com a profissão, falta de cultura dentro das empresas, para valorizar a carreira dos profissionais criativos que nelas estão, ou até mesmo na mentalidade do próprio profissional. Hoje, uma nova geração de designers, desenvolvedores e novos empreendedores está chegando, muito mais criativa (Millennials 66%, Geração X 34%), muito mais aberta a mudanças (Millennials 72%, Geração X 28%). Você está preparado para atuar com ela, seja liderando esses novos talentos, seja trabalhando em sintonia com eles, aprendendo na mesma velocidade que eles? Seja qual for sua decisão, eu apoio irrestritamente. Escolha o seu caminho, estude seus próxi-

mos passos e se prepare para o futuro. As coisas podem mudar, ou melhor, as coisas vão mudar. Nessa longa jornada que está por vir, você tomará rotas erradas, e muitas vezes perceberá que elas te levarão para destinos incríveis. Devido à sua pouca ou muita idade, raça, gênero, orientação sexual, religião, roupa, barba, corte de cabelo, situação econômica e até mesmo sotaque, as pessoas vão te julgar, mas nunca deixe que isso atrapalhe sua jornada. Se você for forte, correto, integro, sempre aparecerá um novo caminho para ti, ande com passos firmes de quem marcha como protagonista da sua própria vida. E não se esqueça de que fracassos ocorrerão, mas como diz Michael Jordan: “Eu perdi mais de 9.000 cestas em minha carreira. Eu perdi quase 300 jogos. Em 26 ocasiões, me foi confiada a jogada final e eu perdi. Eu falhei e falhei repetidamente mais de uma vez na minha vida, e foi justamente por isso que venci”. Dentro da sua perspectiva profissional e análise do mercado em que você atua, repito meu questionamento: onde vamos parar? Ou melhor, onde você vai parar? Ainda, você vai parar?

Bernard De Luna já foi líder de produto no Jornal do Brasil e na 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 | deluna@imasters.com.br


Não importa o tamanho. Com UOL HOST seu site não cai.* a única com isolamento de recursos • Suporte técnico em português – 24 horas • Hospedagem de até 5 sites • Espaço de até 30GB

PLANOS A PARTIR DE

12

R$

,90 POR MÊS**

LIGUE 4003-5973 OU ACESSE UOL.COM.BR/HOSPEDAGEM

HOST

Seu sucesso online começa aqui.

*Garantia de 99,8% de estabilidade. **Referente à contratação de plano trienal de Hospedagem Fit.

• Nova geração de hospedagem:


69 > Código Livre

Informações e dicas sobre projetos Open Source Por Kemel Zaidan, evangelista Locaweb em tempo integral e de software livre nas horas vagas

Nesta edição, resolvi fazer algo um pouco diferente e trazer uma seleção de softwares livres para despertar o “maker” que existe dentro de você: robótica, IoT, drones... Há opções para todos os gostos e linguagens.

Artoo Você gostaria de programar os seus robôs de uma maneira simples como executa seus projetos web em Rails? Então esta pode ser a solução. O Artoo é um framework Ruby para robótica com suporte para 15 diferentes plataformas que vão desde mini-pcs, como Beaglebone Black e Raspberry Pi, a dispositivos como ARDrone, Peeble, Leap Motion e muitos outros. https://artoo.io

Cylon.js Independentemente de ser um desenvolvedor com inclinações hipsters ou mais ligado às últimas tendências do mundo da programação, NodeJS talvez seja a “sua praia”. Nesse caso, o Cylon.js está aqui para te auxiliar na tarefa. Trata-se de uma plataforma semelhante ao Artoo, porém com suporte para mais dispositivos e a vantagem de utilizar JavaScript, uma linguagem fácil e que já nasceu embarcada, mas que vem ampliando seus horizontes para além dos navegadores nos últimos anos. http://cylonjs.com

Gobot Não gosta de JavaScript e Ruby? Com os mini-pcs passando a adotar processadores ARM de múltiplos núcleos, escolher Go pode

ser uma ótima opção para seu próximo experimento robótico, uma vez que a linguagem concebida pelo Google possui excelente reputação justamente por facilitar a criação de programas que executam de forma eficiente em paralelo. http://gobot.io

Pingo O Pingo (que significa “pin, go!”), de autoria do brasileiro Luciano Ramalho, atua como um “wrapper” para diversas plataformas de mini-pcs (como Arduino, Raspberry, Beaglebone, UDOO, Intel Galileo, entre outras), expondo uma única API em Python de forma a simplificar e unificar a maneira de programar para esses dispositivos. Assim, o projeto pretende se tornar uma plataforma universal para IoT, diminuindo a barreira de entrada de quem pretende dar os primeiros passos ou apenas focar em seus projetos. http://www.pingo.io

Kemel Zaidan é um pseudo-programador, metido a jornalista, com alma de artista e evangelista na Locaweb. kemel.zaidan@locaweb.com.br | @kemelzaidan


Inteligência Artificial < 70

Utilizando Redes Neurais Artificiais no diagnóstico de doenças como diabetes Artigo apresentado originalmente no EATI – Encontro Anual de Tecnologia da Informação (http://eati.info/eati/2014/, CAFW/UFSM, 2014), sob o título “Sistema Inteligente para Apoio ao Diagnóstico de Diabetes Empregando Redes Neurais”

As Redes Neurais Artificiais (RNAs) são um paradigma de processamento de informação inspirado no sistema neural biológico, o cérebro humano. As RNAs são sistemas massivamente paralelos e distribuídos, formados por unidades de processamento simples, que calculam determinadas funções, normalmente não lineares. Essas unidades são distribuídas em camadas, sendo interligadas por conexões, as quais se associam a pesos, que armazenam o conhecimento representado na rede, servindo para ponderar as entradas recebidas por unidade constituinte (Haykin, 2001). A capacidade de aprender por meio de exemplos e de generalizar a informação aprendida é, sem dúvida, o principal atrativo da solução de problemas por meio de RNAs. As RNAs são aptas a resolver problemas de cunho geral, tais como aproximação, classificação, categorização e predição, entre outros (Braga et. al., 2000) (Lorenzi; Silveira, 2011). Nesse contexto, uma das aplicações das RNAs é apoiar o diagnóstico de doenças, classificando os pacientes como portadores ou não de uma determinada enfermidade. O trabalho aqui apresentado aplicou, como estudo de caso, o diagnóstico de diabetes,

doença cuja incidência tem aumentado rapidamente em nível mundial. Recentemente, a Organização Mundial de Saúde (OMS) reconheceu que a doença é epidêmica. As estatísticas apontam que o número de casos, em todo o mundo, atualmente chega a 246 milhões. Até 2025, esse número deve chegar a 350 milhões, de acordo com a Federação Internacional de Diabetes (IDF). No Brasil, segundo dados do Ministério da Saúde, estima-se que existam aproximadamente 11 milhões de portadores de diabetes, sendo que 7,5 milhões já sabem que têm a doença (Oliveira; Vencio, 2014). Embora a detecção de diabetes esteja melhorando, o tempo para diagnosticá-lo pode ser superior a 10 anos, a contar do início da doença até a concretização do diagnóstico. Visando a auxiliar os profissionais da área de saúde, podem ser utilizados sistemas computacionais com a finalidade de apoiar o diagnóstico. Tais sistemas processam informações, com mais detalhe e em menor tempo, quando comparados com aos seres humanos, proporcionando uma melhora na qualidade dos serviços médicos, além de contribuir para a difusão de conhecimentos especializados (Kayaer; Yıldırım, 2003) Nesse sentido, desenvolvemos um protó-


Inteligência Artificial < 71

tipo de sistema inteligente, empregando Redes Neurais multicamadas, para apoiar o diagnóstico de diabetes: o Sistema Neural para Apoio ao Diagnóstico de Diabetes (SND).. Para treinar e testar a aplicação da RNA no SND foi utilizada a base de dados da Universidade da Califórnia (UCI, 2014), denominada Pima Indians Diabetes (PID). As informações para compor essa base foram coletadas na comunidade indígena Pima, que vive perto de Phoenix, Arizona, Estados Unidos. Todas as pessoas cujos dados foram coletados são mulheres, com idade igual ou superior a 21 anos. Diversas pesquisas foram realizadas nes-

sa comunidade, pois ela é conhecida por apresentar a maior taxa de incidência de diabetes do mundo. Entre os adultos, 50% são diabéticos, além de apresentarem uma alta prevalência de obesidade (Baier e Hanson, 2004). O Sistema Neural para Apoio ao Diagnóstico de Diabetes (SND) implementado tem como pilar computacional a RNA feedforward, com múltiplas camadas, cujo treinamento é supervisionado utilizando o algoritmo de treinamento back-propagation. Para desenvolver o sistema, foi utilizada a linguagem de programação Java, juntamente com o Sistema Gerenciador de Banco de Dados SQL Server. A figura 1 apresenta a arquitetura de alto nível do SND.

SND: Sistema Neural para Auxílio ao Diagnóstico de Diabetes A validação do SND foi realizada com o subconjunto definido para a etapa de teste, sendo que essas informações, embora pertencentes ao PID, eram até então desconhecidas pelo sistema. O total de pacientes usados para compor o teste foi 230 – destes, 70% são classificados como normais e 30%, diabéticos.

A arquitetura da RNA utilizada possui uma camada de entrada, com oito neurônios, e uma de saída, com dois neurônios. O número de neurônios na camada de entrada é igual à quantidade de informações utilizadas para classificar cada paciente, ou seja, oito. Os neurônios da camada oculta (ou camada escondida) foram obtidos de forma empírica. Já os da camada saída foram


Inteligência Artificial < 72

fixados de acordo com as possíveis classificações para cada paciente (diabético ou normal), ou seja, dois. O sistema proposto realizou 2.262 iterações para chegar aos resultados, obtendo uma taxa de acerto de 81,31%, o que resultou em 187 acertos e 43 erros (18,69%). Esse resultado torna o sistema muito promissor, principalmente se comparado aos resultados obtidos pelos trabalhos apresentados em Polat (Polat et. al., 2008) e Kayaer e Yildirim (2003).

ne Learning and Intelligent System, School of Information and Computer Science, 2010. Acessado em: 17/08/2014 https://archive.ics.uci.edu/ml/datasets/ Pima+Indians+Diabetes

Artigo apresentado originalmente no EATI Encontro Anual de Tecnologia da Informação (http://eati.info/eati/2014/, CAFW/UFSM, 2014), sob o título “Sistema Inteligente para Apoio ao Diagnóstico de Diabetes Empregando Redes Neurais”

Referências BAIER, L. J.; HANSON, R. L. Genetic studies of the etiology of type 2 diabetes in Pima Indians. Diabetes, 53, 1181–1186, 2004. BRAGA, A. P.; CARVALHO, A. C. P. L. F.; LUDERMIR, T. B. Redes Neurais Artificiais: teoria e aplicações. Rio de Janeiro: Livros Técnicos e Científicos, 2000. HAYKIN, Simon. Redes Neurais: princípios e prática. 2 ed. Porto Alegre: Bookman, 2001. KAYAER, K.; YILDIRIM T. Medical diagnosis on Pima Indian diabetes using general regression neural networks. In: Proceedings of the International Conference on Artificial Neural Networks and Neural Information Processing (ICANN/ICONIP) (pp. 181–184), 2003. LORENZI, F.; SILVEIRA, S. R. Desenvolvimento de Sistemas de Informação Inteligentes. Porto Alegre: UniRitter, 2011. OLIVEIRA, J. E. P.; VENCIO, S. Diretrizes da Sociedade Brasileira de Diabetes. São Paulo: AC Farmacêutica, 2014. POLAT, K.; GUNES, S.; ASLAN, A. A cascade learning system for classification of diabetes disease: Generalized discriminant analysis and least square support vector machine. Expert Systems with Applications, Volume 34, Issue 1, January 2008, Pages 482-487. UCI.

University

of

California,

Machi-

Maik Basso, Graduando em Sistemas de Informação (UFSM – Universidade Federal de Santa Maria/Campus de Frederico Westphalen-RS), maik@maikbasso.com.br João Paulo Vieira, Graduando em Sistemas de Informação ( UFSM – Universidade Federal de Santa Maria/Campus de Frederico Westphalen-RS), vieira.jpviera@gmail.com Fábio José Parreira, Doutor em Engenharia Elétrica (UFU – Universidade Federal de Uberlândia), Professor Associado do Departamento de Tecnologia da Informação (UFSM – Universidade Federal de Santa Maria/Campus de Frederico Westphalen-RS), fabiojparreira@gmail.com Sidnei Renato Silveira, Doutor em Ciência da Computação (UFRGS – Universidade Federal do Rio Grande do Sul), Professor Adjunto do Departamento de Tecnologia da Informação (UFSM – Universidade Federal de Santa Maria/Campus de Frederico Westphalen-RS), sidneirenato.silveira@gmail.com Adriana Sadowski de Souza, Especialista em Tecnologias Aplicadas a Sistemas de Informação com Métodos Ágeis (UniRitter – Centro Universitário Ritter dos Reis), adrianasadowski@gmail.com


12 ,90*

Conheça os novos planos a partir de R$

Locaweb Hosting: hospedagem 24 horas para pessoas 24 horas.

*Valor equivalente por mĂŞs para a primeira anuidade.

EAT SLEEP CODE REPEAT Locaweb.com.br

www.locaweb.com.br/hospedagem


iMasters Box < 74

iMasters Box

Seleção: Flávia Jobstraibizer fjobs@linuxmagazine.com.br - envie suas sugestões de ferramentas! Indique a sua ferramenta favorita em http://bit.ly/indiqueumaferramenta e torne-se um colaborador do Portal iMasters!

Marvel

Marvel é uma plataforma de prototipagem e desenvolvimento de aplicativos móveis sem necessidade de experiência com programação. Construído para designers, empresários, startups, agências, estudantes, não importando o nível de habilidade técnica ou desenho que você tem, o usuário será capaz de criar protótipos de aplicativos em minutos. Os protótipos criados no Marvel são visíveis em navegadores web, o que significa que funcionam em desktop, iOS, Android e muitos outros dispositivos. É possível ainda compartilhar por e-mail, SMS ou até mesmo incorporar o seu protótipo em blogs e websites. O Marvel oferece uma maneira fácil e rápida de criar protótipos interativos, e é gratuito. http://ow.ly/LpTSz

Prott

Prott para iOS é uma ferramenta de prototipagem rápida e que engloba ainda uma completa área de desenvolvimento colaborativo, voltado para a criação de aplicativos móveis. Os protótipos podem ser criados e exportados para dispositivos iOS e Android e todas as resoluções de tela são totalmente suportadas, além dos tamanhos de exibição que são facilmente personalizáveis. O Prott é uma ferramenta com preços razoáveis, e você pode escolher entre várias tipos de pacotes, dependendo do tamanho da sua equipe. http://ow.ly/LpTUi

DBMaestro

Otto

Otto é uma biblioteca que permite desacoplar diferentes partes do seu código sem que eles deixem de se comunicar. Esse desacoplamento é alcançado a partir do uso de produtores e consumidores dos eventos que você irá criar para sua aplicação. Ou seja, você irá lançar eventos personalizados em uma parte da sua aplicação e uma outra parte irá reagir a esse evento sem que haja uma ligação direta no código entre elas. http://ow.ly/LpTR5

Utilizando o DBMaestro, é possível se conectar à rede de gerenciamento de lançamento das últimas versões dos bancos de dados, para automatizar a atualização de produtos. A equipe de desenvolvimento do DBMaestro consegue integração com IBM, Microsoft, CA e outros e oferece um banco de dados para compilação e depuração automatizada. Utilize o DBmaestro Open API Platform, escolha a solução de gerenciamento que oferece melhor controle em tempo real, suas ferramentas de desenvolvimento preferidas e selecione a automatização de suas soluções. http://ow.ly/LpTQb


76 > 7Masters

Ruby Abrindo o 7Masters Ruby, Ulisses Almeida, falou sopbre o que não .gitignorar na sua app Rails. Ulisses é desenvolvedor de software na @plataformatec e trabalha com metodologias Ágeis e Ruby on Rails no dia-a-dia. Assista ao vídeo: http://ow.ly/PI2eF Thiago Scalone é palestrante do Guru-SP e Ruby + Rails no Mundo Real, além de desenvolvedor de C embarcado. Neste 7Masters falou sobre “Internet Of Things & Ruby”: http://ow.ly/PI2N4 Programação Funcional e princípios funcionais no Ruby foi o tema da talk de Ricardo Almeida, que atualmente trabalha com Ruby na GetNinjas. Ricardo palestrou em eventos como TDC e Dev in Sampa, além de palestras e workshops sobre Ruby em Fatecs. http://ow.ly/PI3hS Hanneli Tavante é uma desenvolvedora fissurada por programar em C pra relaxar e comitar código útil (ou não) em projetos Open Source aleatórios que encontra vasculhando Githubs alheios. “Ruby performance distilled”

foi o tema da sua talk neste 7Masters Ruby. http://ow.ly/PI3Me “Medindo performance do seu código Ruby” foi o título da talk apresentada por Rafael França no 7Masters Ruby. Ele é Desenvolvedor de Aplicações em uma variedade de negócios, com interesse principal em aplicativos web e agile. É membro do Core Team do Rails desde 2012, ano em que começou a contribuir com o framework. http://ow.ly/PI4Mz Co-fundador da Codeminer 42, empresa de desenvolvimento de software principalmente para startups, Fábio Akita também é o criador e organizador do Rubyconf Brasil. Nesta edição do 7Masters Ruby, ele falou sobre “WTF Oriented Programming”. http://ow.ly/PI5nu

Usabilidade Neste 7Masters de Usabilidade, Robson Santos mostrou indicadores para avaliar a usabilidade. Doutor e Mestre em Design, possui diversos artigos publicados no Brasil e no exterior, com larga experiência na área de usabilidade e experiência do usuário, ten-


7Masters < 77

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 setemasters@imasters.com.br. 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

do participado de projetos de abrangência global. É mentor na Interaction Design Foundation e líder local na Interaction Design Association. http://ow.ly/PI6cc Diana Fournier é UX Designer e Product Owner no UOL e Diretora do UXPA São Paulo. Tem foco em mobile e projetos com metodologias ágeis. No 7Masters Usabilidade, falou sobre usabilidade como estratégia de fidelização em players de streaming de músicas online. http://ow.ly/PI6sx “Testes de usabilidade: você está fazendo isso errado” foi o tema da talk de Carolina Leslie. Cientista molecular de formação, Carolina é sócia da Saiba+, consultoria em UX. Em 2015 lançou o Tagarela, um aplicativo de pesquisa de mercado via celular. Assista ao vídeo: http://ow.ly/PI6Tv Especialista em Design Estratégico e diretor da Welab Design e Inovação, Érico Fileno falou sobre Design-driven Innovation em sua talk. Desde 2007 Érico leciona em cursos de design e há mais de 10 anos presta consultoria através da abordagem do Service Design Thinking. http://ow.ly/PI7lR

“A importância de discordar” foi a talk de Emerson Niide. Consultor independente e especialista em UX, começou a programar aos 13, mas desistiu dessa vida para trabalhar como web designer. Ao ler “Designing Web Usability” descobriu que UX unia suas duas paixões – comunicação e tecnologia – aos seus talentos – navegar na web e beber café. http://ow.ly/PI7GU Eurípedes Magalhães deu 5 motivos para a publicidade desistir de UX em sua talk. Consultor em UX Design, Design Thinking, Educação, Digital Design e Graphic Design, Eurípedes trabalha em publicidade desde 1995 e dá aulas desde 2003. Também criou o Reset-Lab, consultoria especializada em UX e educação. http://ow.ly/PI8ip A gerente de Experiência do Usuário da Locaweb falou sobre o papel do texto na usabilidade neste 7Masters. Patricia de Cia tem mais de dez anos de experiência na área e trabalha junto a times de desenvolvimento ágil desde 2008. É adepta da metodologia Lean. Assista: http://ow.ly/PI8Py


78 > 7Masters

JQuery Em sua talk no 7Masters jQuery, Felquis Gimenes falou sobre eventos em jQuery, a sua “linguagem de programação favorita”. Ele é Desenvolvedor Front-end, focado em aplicativos híbridos para iOS e Android. Mobile/Web Developer na Fluid 27. http://ow.ly/PRBNE Bruno Rocha é Desenvolvedor NodeJS no Walmart, apaixonado por boas práticas e design patterns. Em sua talk, falou sobre boas práticas em JavaScriptQuery. http://ow.ly/PRBSp Pare de usar jQuery - ou não, foi o tema apresentado por Maujor, um dinossauro apaixonado por Padrões Web. Mauricio Samy Silva, o Maujor, é um dos introdutores das CSS no Brasil. http://ow.ly/PRC3E Leon Kulikowski é desenvolvedor mobile, front-end e Solutions Consultant da Adobe. Nesta edição do 7Masters ele levou o jQuqery para além do código e falou sobre inovação, replicação de conhecimento e zona de conforto. http://ow.ly/PRCap

Criar formulários acessíveis com o jQuery Validate foi o tema de Deivid Marques. Ele é Desenvolvedor front-end na Locaweb; organizador da Conferência CSS Brasil e do Front In Sampa. http://ow.ly/PRCfk E se você não usasse jQuery? Esta foi a pergunta proposta por Victor Cavalcante. Ele é desenvolvedor web, sócio da Lambda3 e adora front-end. É um Microsoft MVP de ASP. NET MVC, ciclista e jogador de Munchkin. http://ow.ly/PRCic Programador e Designer, Thiago Lagden desenvolve trabalhos em diferentes formatos audiovisuais e mídias digitais. É um full-stack developer com mais de 10 anos de experiência no desenvolvimento web e atualmente trabalha como CDO (Chief Development Officer) na TEx Tecnologia. Neste 7Masters, falou sobre $.CALLBACKS. http://ow.ly/PRCn7 Quer indicar um tema ou um mestre para as próximas edições? Envie um email para 7masters@imasters.com.br


O PRESENTE É estudar online.

| CURSOS ONLINE

TOP RANKING HISTÓRIAS DA VIDA REAL o que estão estudando mais no Cursos Imasters Online

DESENVOLVENDO SITES COM BOOTSTRAP - TREINAMENTO ESSENCIAL

Facebook Marketing

PHP ORIENTADO A OBJETOS TREINAMENTO ESSENCIAL

depoimentos de quem já estudou e estuda no Cursos Imasters Online

Consegui desenvolver projetos profissionais e lucrar com isso após fazer basicamente todos os cursos do grupo, hoje a Metrossexuais é um dos maiores E-commerce para o público Metrossesual do país. Rafael Zaia - metrossexuais.com.br

Fiz os cursos de e-commerce, pricipalmente de magento e consegui desenvolver a loja virtual da Pink Sweet, voltado para moda feminina e potencializar minhas vendas rapidamente. Antonilza Barros - pinksweet.com.br

SEO - SEARCH ENGINE OPTIMIZATION - TÉCNICAS DE MARKETING NO GOOGLE

Com uma linguagem simples e direta, os cursos disponíveis na plataforma foram feitos para atender um público que precisa de flexibilidade de tempo para organizar a sua grade de estudos.

O EAD VEIO PRA FICAR Hoje, um dos espaços onde a educação mais cresce é nas empresas, como uma ferramenta estratégica para desenvolver e ampliar o negócio. A Educação Corporativa se estabeleceu no mercado para atender a expectativa de vencer a concorrência com estratégias sustentáveis e econômicas. Os prazos para alcançar as metas organizacionais estão mais curtos, porque as transformações são quase instantâneas.

https://cursos.imasters.com.br


Revista iMasters #15  

Comunidade e desenvolvimento por um mundo melhor! / Inteligência Artificial / Re-descentralização da Web / Games - do telejogo à realidade v...

Read more
Read more
Similar to
Popular now
Just for you