sexta-feira, 29 de agosto de 2014

"Big data é inútil sem boas perguntas", Andreas Weigend

Olá amigos!
Achei esta entrevista interessante e compartilho com vocês.

O curioso foi que essa entrevista veio depois da leitura de um outro artigo publicado no blog "E AGORA DBA?" que falava da diferença entre uma amostra estatística e o Big Data.
Por limitações físicas, a estatística sempre se baseou no estudo de uma amostra para tentar determinar (e prever) o comportamento do todo (população). Em tempos anteriores, dificilmente um estatístico tinha acesso a dados de toda a população que ele gostaria de estudar. Então, para obter a informação desejada, recorria a pesquisas de mercado ou amostras menores de dados e aplicava diversas técnicas estatísticas para identificar e eliminar vieses ou amostras pouco representativas.

O estudo de amostra também limita o estatístico a generalizar sobre a população, ter uma ideia geral do comportamento dela, o que invariavelmente impossibilita a obtenção de informação sobre grupos mais específicos (exemplo, o comportamento de compra de mulheres grávidas que darão a luz em Agosto) pois eles provavelmente não estão "significativamente" representados na amostra.

A quebra de paradigma do Big Data está justamente no tamanho da amostra. Com muitos dados sendo gerados sobre as atividades e recursos de hardware baratos para processa-los, podemos ter como amostra uma população toda!
Felipe Antunes (http://agoradba.blogspot.com.br/2013/04/o-que-e-bigdata.html)
A amostra sobre uma população, se assemelharia ao censo, com a diferença que no censo, há perquntas definidas e respostas esperadas e no Big Data, você já tem as respostas, mas precisa formular as perguntas, para que as repostas tenham sentido.

Boa leitura!

"Big data é inútil sem boas perguntas", diz especialista

Entrevista | 20/05/2014 06:00

Ex-cientista chefe da Amazon e um dos responsáveis pelas sugestões do site, o professor Andreas Weigend diz que mesmo com big data as pessoas é que fazem diferença

Andreas Weigend, ex-cientista chefe da Amazon e professor da Universidade de Stanford
Andreas Weigend, ex-cientista chefe da Amazon e professor da Universidade de Stanford

São Paulo – Ao andar pelos corredores de um hotel na zona sul de São Paulo, Andreas Weigend chama a atenção. “Não são aqueles óculos lá?”, uma pessoa pergunta a outra. Weigend usa um par de Google Glass em frente aos olhos.

Ex-cientista chefe da Amazon, Weigend foi um dos responsáveis pela área de recomendação de produtos da Amazon.com. Hoje, é professor da Universidade de Stanford (onde os fundadores do Google se formaram) e da Escola de Negócios Cheung Kong, na China. Além disso, dá consultoria para grandes empresas como a chinesa Alibaba.
O cientista é especialista em Big Data. A tecnologia se trata de análise de enormes quantidades de dados complexos e não estruturados para obter informações que não seriam possíveis de outra forma. A tecnologia vem sendo usada em campos completamente diferentes. Desde comércio, até análise de saúde e de educação. Weigand falou a EXAME.com durante sua recente visita ao Brasil para palestrar no VTEX Day (evento da VTEX, empresa brasileira de comércio eletrônico). Veja os melhores trechos da entrevista:

EXAME.com - Podemos dizer que com o Big Data toda decisão será completamente fundamentada?
Andreas Weigand - De certa forma sim. No futuro, qualquer decisão tomada por uma empresa poderá ser apoiada em dados, números e informações obtidas usando técnicas de Big Data. Mas as informações não são nada sem alguém que faça uma pergunta.

EXAME.com - Então as melhores empresas serão aquelas com quem faz as perguntas certas?
Weigand - Sem sombra de dúvida. Uma vez que todos podem extrair os números, isso não será mais um diferencial. Não é possível ter os números certos de saída. Antes de se extrair a informação, é preciso ter uma pergunta, um objetivo. Somente depois disso se obtém alguma coisa dos números.

EXAME.com - As pessoas ainda serão a parte importante e não a tecnologia em si?
Weigand - Sim. Mesmo depois de se extrair uma informação, é preciso tomar uma decisão. Traçar um plano com tudo aquilo que as técnicas de Big Data proporcionam. E todas essas decisões serão tomadas por pessoas. Nós continuaremos sendo muito importantes, não haverá uma inversão no papel da máquina e da pessoa.

EXAME.com - Dentro comércio eletrônico, a área que o senhor trabalhava, o que o Big Data significa?
Weigand - De maneira geral, significa melhores margens. Se você conhece uma pessoa, sabe o que ela comprou no passado, pelo que ela se interessa, e tudo isso vai trazer melhores margens. Mas eu acredito que a grande pergunta que a grande pergunta nessa discussão é: qual relação o cliente deseja ter com o varejista? O cliente não quer ter um relacionamento, quer apenas que o serviço seja feito. Mas com a tecnologia, alguns conceitos mudam e o mundo não vem mudando com a mesma velocidade.

EXAME.com - Que tipo de coisa não vem mudando?
Weigand - Nossos conceitos, nossas leis, nossas regras. Em Stanford, por exemplo, as regras da universidade não permitem que nada seja gravado sem uma autorização que deve ser pedida com duas semanas de antecedência. Mas os alunos estão com smartphones, estão coletando os dados quase que em tempo integral. Eu pedi aos alunos em uma aula que fizessem um perfil no LinkedIn, para estudar redes. Depois descobri que eu estava infringindo as regras. Eu não poderia pedir aos alunos para usar um software ou serviço que não fosse desenvolvido pela universidade.

EXAME.com - Isso é curioso. Principalmente porque pensamos em Stanford como um lugar à frente do nosso tempo.
Weigand - Exatamente. Mas a sociedade em geral é presa em conceitos atrasados. Pegue por exemplo a fotografia. Há algumas décadas, ela era algo especial. Quando havia um casamento, as pessoas tiravam fotos. Depois todo mundo começou a ter câmeras e hoje elas estão nos nossos bolsos. Mas com as redes sociais, nós não sabemos mais como lidar com isso muito bem. Uma foto no Facebook pode ser usada fora de lá? Quem é dono daqueles dados? E esse tipo de relação acontece com qualquer dado que geramos.

EXAME.com - É preciso um debate maior em torno disso?
Weigand - Sim. Mas a questão é que nosso dia tem apenas 24 horas. Então nós precisamos escolher sobre o que queremos discutir. Mas isso é visível no caso Snowden. As pessoas se chocaram com o fato de que dados estavam sendo coletadas. Eu, na verdade, fiquei chocado com o fato de que as pessoas possam se chocar com isso.

EXAME.com - Hoje já temos muitos dados sendo captados e isso deve aumentar com a computação vestível. Seremos capazes de lidar com tanta informação?
Weigand - Sim. Eu acredito que será parecido com como as coisas são hoje. Continuaremos com muitos dados para serem analisados, mas essa análise não valerá para nada, se não for colocada em ação. É preciso ter boas perguntas e usar as informações de forma valiosa depois. Áreas como saúde, comércio, educação ou ambientes urbanos, tudo isso poderá ser melhorado usando informações extraídas de dados.

 Fonte: http://exame.abril.com.br/tecnologia/noticias/big-data-e-inutil-sem-boas-perguntas-diz-especialista?page=1, acessado em 28/08/2014.

O QUE É BIG DATA? Parte 3-3

Olá amigos,

 Finalizando o post, vamos abordar as soluções de BIG DATA e conhecer sobre o Hadoop, uma plataforma open source desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados.
Vocês poderão se aprofundar um pouco mais sobre o tema BIG DATA visitando os links no final deste post.

Boa leitura!

 Soluções de Big Data


Além de lidar com volumes extremamente grandes de dados dos mais variados tipos, soluções de Big Data também precisam trabalhar com distribuição de processamento e elasticidade, isto é, suportar aplicações com volumes de dados que crescem substancialmente em pouco tempo.

O problema é que os bancos de dados "tradicionais", especialmente aqueles que exploram o modelo relacional, como o MySQL, o PostgreSQL e o Oracle, não se mostram adequados a estes requisitos, já que são menos flexíveis.

Isso acontece porque bancos de dados relacionais normalmente se baseiam em quatro propriedades que tornam a sua adoção segura e eficiente, razão pela qual soluções do tipo são tão populares: Atomicidade, Consistência, Isolamento e Durabilidade. Esta combinação é conhecida como ACID, sigla para o uso destes termos em inglês: Atomicity, Consistency, Isolation e Durability. Vejamos uma breve descrição de cada uma:

  • Atomicidade: toda transação deve ser atômica, isto é, só pode ser considerada efetivada se executada completamente;
  • Consistência: todas as regras aplicadas ao banco de dados devem ser seguidas;
  • Isolamento: nenhuma transação pode interferir em outra que esteja em andamento ao mesmo tempo;
  • Durabilidade: uma vez que a transação esteja concluída, os dados consequentes não podem ser perdidos.

O problema é que este conjunto de propriedades é por demais restritivo para uma solução de Big Data. A elasticidade, por exemplo, pode ser inviabilizada pela atomicidade e pela consistência. É neste ponto que entra em cena o conceito de NoSQL, denominação que muitos atribuem à expressão em inglês "Not only SQL", que em tradução livre significa "Não apenas SQL" (SQL - Structured Query Language - é, em poucas palavras, uma linguagem própria para se trabalhar com bancos de dados relacionais).

O NoSQL faz referência às soluções de bancos de dados que possibilitam armazenamento de diversas formas, não se limitando ao modelo relacional tradicional. Bancos do tipo são mais flexíveis, sendo inclusive compatíveis com um grupo de premissas que "compete" com as propriedades ACID: a BASE (Basically Available, Soft state, Eventually consistency - Basicamente disponível, Estado Leve, Eventualmente consistente).

Não é que bancos de dados relacionais tenham ficado ultrapassados - eles são e continuarão por muito tempo sendo úteis a uma série de aplicações. O que acontece é que, geralmente, quanto maior um banco de dados se torna, mais custoso e trabalhoso ele fica: é preciso otimizar, acrescentar novos servidores, empregar mais especialistas em sua manutenção, enfim.

Via de regra, escalar (torná-lo maior) um bancos de dados NoSQL é mais fácil e menos custoso. Isso é possível porque, além de contar com propriedades mais flexíveis, bancos do tipo já são otimizados para trabalhar com processamento paralelo, distribuição global (vários data centers), aumento imediato de sua capacidade e outros.

Além disso, há mais de uma categoria de banco de dados NoSQL, fazendo com que soluções do tipo possam atender à grande variedade de dados que existe, tanto estrurados, quanto não estruturados: bancos de dados orientados a documentos, bancos de dados chave/valor, bancos de dados de grafos, enfim.

Exemplos de bancos de dado NoSQL são o Cassandra, o MongoDB, o HBase, o CouchDB e o Redis. Mas, quando o assunto é Big Data, apenas um banco de dados do tipo não basta. É necessário também contar com ferramentas que permitam o tratamento dos volumes. Neste ponto, o Hadoop é, de longe, a principal referência.

Exemplos de bancos de dados noSQL: Cassandra, MongoDB, HBase, CouchDB e Redis
Exemplos de bancos de dados noSQL: Cassandra, MongoDB, HBase, CouchDB e Redis

  O que é Hadoop?


O Hadoop é uma plataforma open source desenvolvida especialmente para processamento e análise de grandes volumes de dados, sejam eles estruturados ou não estruturados. O projeto é mantido pela Apache Foundation, mas conta com a colaboração de várias empresas, como Yahoo!, Facebook, Google e IBM.

Pode-se dizer que o projeto teve início em meados de 2003, quando o Google criou um modelo de programação que distribui o processamento a ser realizado entre vários computadores para ajudar o seu mecanismo de busca a ficar mais rápido e livre da necessidades de servidores poderosos (e caros). Esta tecnologia recebeu o nome de MapReduce.

Alguns meses depois, o Google apresentou o Google File System (GFS), um *sistema de arquivos especialmente preparado para lidar com processamento distribuído e, como não poderia deixar de ser no caso de uma empresa como esta, grandes volumes de dados (em grandezas de terabytes ou mesmo petabytes).

*Em poucas palavras, o sistema de arquivos é um conjunto de instruções que determina como os dados devem ser guardados, acessados, copiados, alterados, nomeados, eliminados e assim por diante.

Em 2004, uma implementação open source do GFS foi incorporada ao Nutch, um projeto de motor de busca para a Web. O Nutch enfrentava problemas de escala - não conseguia lidar com um volume grande de páginas - e a variação do GFS, que recebeu o nome Nutch Distributed Filesystem (NDFS), se mostrou como uma solução. No ano seguinte, o Nutch já contava também com uma implementação do MapReduce.

Na verdade, o Nutch fazia parte de um projeto maior: uma biblioteca para indexação de páginas chamada Lucene. Os responsáveis por estes trabalhos logo viram que o que tinham em mãos também poderia ser usado em aplicações diferentes das buscas na Web. Esta percepção motivou a criação de outro projeto que engloba características do Nutch e do Lucene: o Hadoop, cuja implementação do sistema de arquivos recebeu o nome de Hadoop Distributed File System (HDFS).

O Hadoop é tido como uma solução adequada para Big Data por vários motivos:

- É um projeto open source, como já informado, fato que permite a sua modificação para fins de customização e o torna suscetível a melhorias constantes graças à sua rede de colaboração. Por causa carcterística, vários projetos derivados ou complementares foram - e ainda são - criados;

- Proporciona economia, já que não exige o pagamento de licenças e suporta hardware convencional, permitindo a criação de projetos com máquinas consideravelmente mais baratas;

- O Hadoop conta, por padrão, com recursos de tolerância a falhas, como replicação de dados;

- O Hadoop é escalável: havendo a necessidade de processamento para suportar uma quantidade maior de dados, é possível acrescentar computadores sem necessidade de realizar reconfigurações complexas no sistema.

É claro que o Hadoop pode ser usado em conjunto com bancos de dados NoSQL. A própria Apache Foundation mantém uma solução do tipo que é uma espécie de subprojeto do Hadoop: o já mencionado banco de dados HBase, que funciona atrelado ao HDFS.

O Hadoop, é bom frisar, é a opção de maior destaque, mas não é a única. É possível encontrar outras soluções compatíveis com NoSQL ou que são baseadas em Massively Parallel Processing (MPP), por exemplo.


Finalizando


Não podemos considerar as soluções de Big Data como um arsenal computacional perfeito: sistemas do tipo são complexos, ainda desconhecidos por muitos gestores e profissionais de TI e a sua própria definição ainda é passível de discussão.

O fato é que a ideia de Big Data reflete um cenário real: há, cada vez mais, volumes de dados gigantescos e que, portanto, exigem uma abordagem capaz de aproveitá-los ao máximo. Apenas para dar uma noção deste desafio, a IBM divulgou no final de 2012 que, de acordo com as suas estimativas, 90% dos dados disponíveis no mundo foram gerados apenas nos dois anos anteriores. Diante deste ponto de vista, é um tanto quanto precipitado encarar a expressão "Big Data" como uma mero "termo da moda".

Para saber mais sobre o assunto, você pode consultar os links que serviram de referência para este texto:


Escrito por - Escrito em 13_03_2013 - Atualizado em 13_03_2013

Fonte: http://www.infowester.com/big-data.php acessado em 01/08/2014

O QUE É BIG DATA? Parte 2-3

Olá amigos,

 Dando continuidade ao post, esta parte abordará sua importância e os "Vs" do BIG DATA.

Boa leitura!

O Facebook é um exemplo de empresa que se beneficia de Big Data
O Facebook é um exemplo de empresa que se beneficia de Big Data: as bases de dados do serviço aumentam todo dia
e são utilizadas para determinar relações, preferências e comportamentos dos usuários

 Por que Big Data é tão importante?


Lidamos com dados desde os primórdios da humanidade. Acontece que, nos tempos atuais, os avanços computacionais nos permitem guardar, organizar e analisar dados muito mais facilmente e com frequência muito maior.

Este cenário está longe de deixar de ser crescente. Basta imaginar, por exemplo, que vários dispositivos em nossas casas - geladeiras, TVs, lavadoras de roupa, cafeteiras, entre outros - deverão estar conectados à internet em um futuro não muito distante. Esta previsão está dentro do que se conhece como Internet das Coisas.

Se olharmos para o que temos agora, já veremos uma grande mudança em relação às décadas anteriores: tomando como base apenas a internet, pense na quantidade de dados que são gerados diariamente somente nas redes sociais; repare na imensa quantidade de sites na Web; perceba que você é capaz de fazer compras on-line por meio até do seu celular, quando o máximo de informatização que as lojas tinham em um passado não muito distante eram sistemas isolados para gerenciar os seus estabelecimentos físicos.

As tecnologias atuais nos permitiram - e permitem - aumentar exponencialmente a quantidade de informações no mundo e, agora, empresas, governos e outras instituições precisam saber lidar com esta "explosão" de dados. O Big Data se propõe a ajudar nesta tarefa, uma vez que as ferramentas computacionais usadas até então para gestão de dados, por si só, já não podem fazê-lo satisfatoriamente.

A quantidade de dados gerada e armazenada diariamente chegou a tal ponto que, hoje, uma estrutura centralizada de processamento de dados já não faz mais sentido para a maioria absoluta das grandes entidades. O Google, por exemplo, possui vários data centers para dar conta de suas operações, mas trata todos de maneira integrada. Este "particionamento estrutural", é bom destacar, não é uma barreira para o Big Data - em tempos de computação nas nuvens, nada mas trivial.

Os 'Vs' do Big Data: volume, velocidade, variedade, veracidade e valor


No intuito de deixar a ideia de Big Data mais clara, alguns especialistas passaram a resumir o assunto em aspectos que conseguem descrever satisfatoriamente a base do conceito: os cincos 'Vs' - volume, velocidade e variedade, com os fatores veracidade e valor aparecendo posteriormente.

O aspecto do volume (volume) você já conhece. Estamos falando de quantidades de dados realmente grandes, que crescem exponencialmente e que, não raramente, são subutilizados justamente por estarem nestas condições.

Velocidade (velocity) é outro ponto que você já assimilou. Para dar conta de determinados problemas, o tratamento dos dados (obtenção, gravação, atualização, enfim) deve ser feito em tempo hábil - muitas vezes em tempo real. Se o tamanho do banco de dados for um fator limitante, o negócio pode ser prejudicado: imagine, por exemplo, o transtorno que uma operadora de cartão de crédito teria - e causaria - se demorasse horas para aprovar um transação de um cliente pelo fato de o seu sistema de segurança não conseguir analisar rapidamente todos os dados que podem indicar uma fraude.

Variedade (variety) é outro aspecto importante. Os volume de dados que temos hoje são consequência também da diversidade de informações. Temos dados em formato estruturados, isto é, armazenados em bancos como PostgreSQL e Oracle, e dados não estruturados oriundos de inúmeras fontes, como documentos, imagens, áudios, vídeos e assim por diante. É necessário saber tratar a variedade como parte de um todo - um tipo de dado pode ser inútil se não for associado a outros.

O ponto de vista da veracidade (veracity) também pode ser considerado, pois não adianta muita coisa lidar com a combinação "volume + velocidade + variedade" se houver dados não confiáveis. É necessário que haja processos que garantam o máximo possível a consistência dos dados. Voltando ao exemplo da operadora de cartão de crédito, imagine o problema que a empresa teria se o seu sistema bloqueasse uma transação genuína por analisar dados não condizentes com a realidade.

Informação é poder, informação é patrimônio. A combinação "volume + velocidade + variedade + veracidade", além de todo e qualquer outro aspecto que caracteriza uma solução de Big Data, se mostrará inviável se o resultado não trouxer benefícios significativos e que compensem o investimento. Este é o aspecto do valor (value).

É claro que estes cinco aspectos não precisam ser tomados como a definição perfeita. Há quem acredite, por exemplo, que a combinação "volume + velocidade + variedade" seja suficiente para transmitir uma noção aceitável do Big Data. Sob esta óptica, os aspectos da veracidade e do valor seriam desnecessários, porque já estão implícitos no negócio - qualquer entidade séria sabe que precisa de dados consistentes; nenhuma entidade toma decisões e investe se não houver expectativa de retorno.

O destaque para estes dois pontos talvez seja mesmo desnecessário por fazer referência ao que parece óbvio. Por outro lado, a sua consideração pode ser relevante porque reforça os cuidados necessários a estes aspectos: uma empresa pode estar analisando redes sociais para obter uma avaliação da imagem que os clientes têm de seus produtos, mas será que estas informações são confiáveis ao ponto de não ser necessário a adoção de procedimentos mais criteriosos? Será que não se faz necessário um estudo mais profundo para diminuir os riscos de um investimento antes de efetuá-lo?

De qualquer forma, os três primeiros 'Vs' - volume, velocidade e variedade - podem até não oferecer a melhor definição do conceito, mas não estão longe de fazê-lo. Entende-se que Big Data trata apenas de enormes quantidades de dados, todavia, você pode ter um volume não muito grande, mas que ainda se encaixa no contexto por causa dos fatores velocidade e variedade.

Escrito por - Escrito em 13_03_2013 - Atualizado em 13_03_2013

Fonte: http://www.infowester.com/big-data.php acessado em 01/08/2014

segunda-feira, 18 de agosto de 2014

10 linguagens de programação mais populares - Parte 1

Se estão a pensar em aprender uma linguagem de programação para se valorizarem pessoal e profissionalmente, vejam quais as 10 linguagens de programação mais populares!

10. Ruby

O Ruby é uma linguagem dinâmica, reflectiva e de utilização geral que combina sintaxe inspirada no Perl, com funcionalidades ao estilo Smalltalk. Foi desenvolvida por Yukihiro Matsumoto em meados dos anos 90 e o seu foco sempre foi a simplicidade de codificação e a produtividade do processo de programação. Com uma sintaxe elegante torna-se muito fácil de ler e escrever.

Faixa salarial: R$ 2.500,00 a R$ 6.00,00 (Fonte: Catho)

9. Perl

O Perl é uma linguagem de programação de alto nível, dinâmica e interpretativa Foi desenvolvida por Larry Wall em 1987 como uma linguagem de scripting de utilização abrangente e o seu objectivo era tornar os processos de reporting mais fáceis. Tem sido alvo de constantes revisões e alterações ao longo dos anos e a versão mais recente desta linguagem de programação é a 5.16.3, lançada em Março de 2013.

Faixa salarial: Dados não encontrados.

8. Python

É uma linguagem generalista de alto nível assente numa filosofia que maximiza a facilidade de leitura do código. O Python permite aos programadores expressarem os conceitos em menos linhas de código que numa linguagem tradicional como o C, mantendo uma boa capacidade de respostas para programas de pequena ou grande escala. A linguagem apareceu em finais de 1989 pela mão de Guido van Rossum assente num simples conjunto de premissas: bonito é melhor que feio; explícito é melhor que implícito simples é melhor que complexo; complexo é melhor que complicado; poder ser lido conta!

Faixa salarial: R$ 2.000,00 a R$ 7.00,00 (Fonte: Catho)

7. Visual Basic

Lançada em 1991, o Visual Basic é uma linguagem orientada a eventos de terceira geração assente num ambiente integrado de desenvolvimento da Microsoft. Desenhada para ser fácil de aprender e utilizar, o VB é uma derivação do BASIC e permite o rápido desenvolvimento de aplicações baseadas em interfaces gráficos. Apesar de no seu lançamento ter sido muito criticada, a partir da versão 3 passou a ser um sucesso comercial, sendo que a versão final é a 6. O seu sucessor é o Visual Basic .Net. Um dialecto do VB, Visual Basic for Applications (VBA) é utilizado como linguagem em macros e scripting em várias aplicações da Microsoft, nomeadamente no Office.

Faixa salarial: R$ 2.000,00 a R$ 5.000,00 (Fonte: Catho)

6. PHP

O PHP é uma linguagem open source muito utilizada para a geração de conteúdos dinâmicos no desenvolvimento de páginas webs. Foi uma das primeiras linguagens a privilegiar o processamento do lado do servidor, utilizando scripts directamente nas páginas HTML em vez de chamar ficheiros externos. Está presente em mais de 20 milhões de web sites e em mais de um milhão de web servers.Dentro do software mais utilizado que recorre ao PHP conta-se o WordPress, o Joomla, o Concrete5, o MyBB, o Drupal, etc.. O PHP foi criado por Rasmus Lerdorf em 1995 e a sua evolução é garantida pelo PHP group.

Faixa salarial: R$ 1.000,00 a R$ 6.00,00 (Fonte: Catho)

Posteriormente publicaremos a parte 2, com as 5 linguagens de programação mais populares na atualidade.


quarta-feira, 13 de agosto de 2014

Microsoft lança jogo para web que ensina programação

 Olá amigos!

Quer aprender a programar jogando? A MICROSOFT lançou um jogo chamado CODE HUNT, que vai lhe ajudar nessa tarefa. Explore o cenário e encontre as pistas que lhe ajudarão a entender e capturar os código. O game é todo em inglês e a linguagens introduzidas são Java e C.

Bom divertimento!

Microsoft lança jogo para web que ensina programação

Por Redação Olhar Digital - em 15/05/2014 às 19h40



A Microsoft, por meio de sua divisão de pesquisas, lançou nesta quinta-feira, 15 um jogo para navegadores que tem o objetivo de ensinar programação. A premissa do game, chamado Code Hunt, é bastante simples, e requer que o jogador escreva os códigos necessários corretamente para avançar no jogo.

O game introduz o jogador às linguagens Java e C#. Claro que para ser jogo, é necessário haver um propósito maior, um objetivo além de puramente aprender a programar. O tutorial diz:
“Saudações, programa! Você é um aplicativo experimental chamado de CODE HUNTER. Você, junto de outros caçadores de códigos, foi enviado em um computador ultrassecreto para descobrir, restaurar e capturar o maior número de fragmentos de código possível. Seu progresso, junto com o de seus colegas caçadores, será monitorado. Boa sorte”
Para tentar ensinar a arte da programação, o Code Hunt usa quebra-cabeças. O jogador precisa explorá-los por meio de pistas, e entender o código necessário para “capturá-lo”. A pontuação é oferecida com base na elegância da solução encontrada.
O game apresenta um código defeituoso e algumas orientações de qual deve ser o resultado daquele programa quando funcionando corretamente. Cabe ao jogador corrigi-lo adequadamente, usando o menor número de linhas, para aumentar a pontuação. Assim, o jogo tenta ensinar programação para solução de problemas.

Se quiser conhecer o jogo, basta clicar aqui. Ele está disponível apenas em inglês, então o conhecimento do idioma é fundamental para que ele atinja o objetivo.

Via The Next Web 

Fonte: http://olhardigital.uol.com.br/noticia/42031/42031, acessado em 13/08/2014.

Saiba o que é o Big Data e os desafios que as empresas enfrentam

Olá amigos!
Encontrei este infografico no site da IBM que aborda de forma sucinta o tema BIG DATA.



http://www.ibm.com/midmarket/br/pt/img/ssa_img_ibm_bigdata_110612.jpg


terça-feira, 12 de agosto de 2014

Entendendo Vetores



A coisa mais comum para um estudante de materias de programação é que nos primeiros dias de aula se depare com uma seguinte questão: "Leia uma lista de 10 nomes..." e assim por diante. Por falta de conhecimento, mais comum do que essa pergunta seria o bendito estudar começar a declarar as variáveis da seguinte maneira: nome1, nome2... nome10. E se eu revela-se que existe uma maneira mais simples para armazenar esses 10 nomes em uma unica variável e conseguir resgata-las sem problemas? Pois é, isso é possível!

Existe dentro da estrutura de dados um camaradinha chamado vetor.


"Vetores são estruturas de dados lineares e estáticas, isto é, são compostas por um número fixo (finito) de elementos de um determinado tipo de dados. O tempo de acesso aos elementos de um vetor é muito rápido, sendo considerado constante: o acesso aos elementos é feito pelo seu índice no vetor. Porém, a remoção de elementos pode ser custosa se não for desejável que haja espaços "vazios" no meio do vetor, pois nesse caso é necessário "arrastar" de uma posição todos os elementos depois do elemento removido."

Fonte: Wikipedia

Como declarar um vetor? Bem simples! Abaixo segue a maneira que você declaro um vetor com base em na linguagem Portugol

variavel: vetor [1..n] de tipo 

Onde: 

variavel é o nome que voce dará a seu vetor

vetor: palavra reservada 

[1..n]: tamanho vetor, iniciando por 1 e onde n é a quantidade de elementos que o vetor pode receber

tipo: tipos de dados que o vetor poderá armazenar(real, inteiro, caracter etc)

ex: nomes: vetor [1..10] de real

Agora, como funciona o armazenamento no vetor? Simples tambem!
Imagine que você declarou o vetor acima exemplificado, ao fazer isso será reservado um espaço na memória para esse vetor e esse espaço será divido em dez parte em que cada uma dessas partes irá armazenar um elemento desso vetor.
Para gravar um valor em um vetor tambem não existe misterio. Digamos que você queira inserir um some na segunda posição(indice) desse vetor, para isso basta:

nomes[2] = 'João'


Com isso você estará guardando o nome João no segundo indice do vetor. 
Para recuperar o valor desse vetor tambem é bastante simples:

imprima(nomes[2])

Ao fazer isso você está solicitando que o programa vá na posição dois do seu vetor e imprima na tela o que lá está contido.
Esse é só um pequeno exemplo de como vetores podem facilitar a vida de um programador, e se aprofundado um pouco mais nessa estutura veremos que as ultilidades e utilizações são bastante amplas.

segunda-feira, 11 de agosto de 2014

Algumas aplicações reais do Big Data

Mais um vídeo, dessa vez mostrando as aplicações do Big Data, essa matéria foi exibida no fim de 2013 no programa Olhar Digital, mostrando as aplicações em textos e fotos em rede sociais, imagens e vídeos, além dos esportes e até na medicina. Como dito na matéria: "Melhor do que falar é ilustrar algumas aplicações atuais..."


Visualg - Fazendo seu algoritmo "rodar"

Para quem está iniciando no mundo da programação um dos grandes desafios é conseguir "debugar" seu algoritmo. Esses comuns para quem está iniciando, como falta de ";" ou alguma alguma falta de atenção na hora da criação da logica costuma tirar pontos preciosos nas suas primeiras provas.
Para facilitar a vida do programador iniciante foi criada uma ferramenta - Visualg. Com ele é possível interpretar seu algoritmo como se fosse um programa normal de computador. Utilizando uma liguem muito parecida com o Portugol, que é comumente usada em todo país para o aprendizado de algoritmo, ele consegue simular telas do computador, visualizar variáveis, "breakpoints" e muitos outros recursos extremamentes uteis para que está começando a se aventurar no mundo da programação.

Abaixo segue o link para download da ferramente. Façam bom uso!

http://www.baixaki.com.br/download/visualg.htm

quarta-feira, 6 de agosto de 2014

O QUE É BIG DATA? Parte 1-3

Olá amigos,

Encontrei esta publicação no site da INFOWESTER falando sobre BIG DATA.
Achei interessante a forma como o tema é abordado, tratando iniciamente do conceito sobre o BIG DATA, sua importância e soluções.
Para não ficar muito extenso, a postagem será dividida em três partes.

Boa leitura!

O que é Big Data?


Introdução


Você já parou para pensar na quantidade e variedade de dados que geramos e armazenamos a cada dia? Bancos, companhias aéreas, operadoras de telefonia, serviço de busca on-line e redes de varejistas são apenas alguns dos inúmeros exemplos de empresas que convivem diariamente com grandes volumes de informação. A questão é que apenas ter dados não basta: é importante conseguir e saber usá-los. É aí que o conceito de Big Data entra em cena.

Neste texto, você verá o que é Big Data, entenderá o porquê de este nome estar cada vez mais presente no vocabulário dos ambientes de Tecnologia da Informação e compreenderá os motivos que levam o conceito a contribuir para o cotidiano de empresas, governos e demais instituições.


O conceito de Big Data

Big Data

A princípio, podemos definir o conceito de Big Data como sendo conjuntos de dados extremamente grandes e que, por este motivo, necessitam de ferramentas especialmente preparadas para lidar com grandes volumes, de forma que toda e qualquer informação nestes meios possa ser encontrada, analisada e aproveitada em tempo hábil.

Não é difícil entender este cenário: trocamos milhões de e-mails por dia; milhares de transações bancárias acontecem no mundo a cada segundo; soluções sofisticadas gerenciam a cadeia de suprimentos de várias fábricas neste exato momento; operadoras registram a todo instante chamadas e tráfego de dados do crescente número de linhas celulares no mundo todo; sistemas de ERP coordenam os setores de inúmeras companhias; enfim, exemplos não faltam - se te perguntarem, você certamente será capaz de apontar outros sem fazer esforço.

Informação é poder, logo, se uma empresa souber como utilizar os dados que tem em mãos, poderá saber como melhorar um produto, como criar uma estratégia de marketing mais eficiente, como cortar gastos, como produzir mais, como evitar o desperdício de recursos, como superar um concorrente, como disponibilizar um serviço a um cliente de maneira satisfatória e assim por diante.

Perceba, estamos falando de fatores que podem inclusive ser decisivos para o futuro de uma companhia. Mas, Big Data é um nome relativamente recente (ou, ao menos, começou a aparecer na mídia recentemente). Isso significa que somente nos últimos anos é que as empresas descobriram a necessidade de fazer melhor uso de seus grandes bancos de dados?

Pode ter certeza que não. Há tempos que os departamentos de TI contemplam aplicações de Data Mining, Business Intelligence e CRM (Customer Relationship Management), por exemplo, para tratar justamente de análise de dados, tomadas de decisões e outros aspectos relacionados ao negócio.

A proposta de uma solução de Big Data é a de oferecer uma abordagem ampla no tratamento do aspecto cada vez mais "caótico" dos dados para tornar as referidas aplicações e todas as outras mais eficientes e precisas. Para tanto, o conceito considera não somente grandes quantidades de dados, a velocidade de análise e a disponibilização destes, como também a relação com e entre os volumes.


Escrito por - Escrito em 13_03_2013 - Atualizado em 13_03_2013

Fonte: http://www.infowester.com/big-data.php acessado em 01/08/2014

segunda-feira, 4 de agosto de 2014

Por que Programar?

Está aí, um vídeo que mostra a importância da Programação e incentiva o seu estudo. "Mais importante do que você aprender uma Linguagem de Programação, é você aprender a Lógica de Programação..."