quarta-feira, 23 de julho de 2014

Vulnerabilidades do Internet Explorer crescem 100% desde 2013

Conclusão é de estudo da empresa Bromium Labs, que analisou vulnerabilidades públicas e exploits dos primeiros seis meses de 2014.

A empresa Bromium Labs analisou vulnerabilidades públicas e exploits dos primeiros seis meses de 2014. A pesquisa revelou que as vulnerabilidades do Internet Explorer cresceram mais de 100% desde 2013, ultrapassando as falhas do Java e do Flash.

Segundo a análise, no ano passado, o Java registrou muitas vulnerabilidades e exploits públicos, mas essa tendência foi revertida em 2014. Na verdade, nos primeiros seis meses deste ano, não houve qualquer Java exploit público.

“Usuários finais continuam sendo uma preocupação primária para profissionais de segurança por serem os alvos mais suscetíveis a ataques”, disse Rahul Kashyap, arquiteto chefe de segurança da Bromium. “Navegadores sempre foram um dos alvos preferidos de ataques, mas temos notado que os criminosos não estão apenas ficando melhores em atacar o Internet Explorer, mas têm feito isso com mais frequência”, completou.

O relatório completo está disponível aqui.


Fonte: Imasters

sexta-feira, 18 de julho de 2014

O Futuro do Java no Windows XP

Em Abril deste ano de 2014, a Microsoft anunciou o fim do suporte ao Windows XP. Como resultado direto, a Oracle anunciou que não mais dará suporte oficial para o Java no Windows XP. O que isso resulta é que um cliente com um contrato de suporte junto à Oracle pode ter que reproduzir um problema encontrado no Windows XP numa versão recente do Windows, e caso o problema seja específico ao Windows XP a Oracle não é obrigada (ou pode não ter os meios) para corrigir o problema ou oferecer uma solução de contorno (workaround).

 Este anúncio do fim do suporte tem sido interpretado incorretamente como "Java não funciona mais no Windows XP" ou "Oracle não irá disponibilizar mais atualizações para o Java no Windows XP". Estas afirmativas estão incorretas.

Nossa expectativa é que todas as versões do Java, que eram suportadas antes do anúncio de fim de suporte da Microsoft, continuarão funcionando no Windows XP num futuro próximo. Em particular, nossa expectativa é que o JDK 7 continuará funcionando no Windows XP. Atualizações de segurança lançadas pela Oracle continuarão sendo disponibilizadas para desktops com Windows XP. Usuários que fizerem o download do JDK 7 no java.oracle.com ou java.com continuarão podendo instalar no Windows XP.

JDK 8 não é suportado no Windows XP, e existem problemas conhecidos com o instalador para Windows XP que impedem de instalar o Java sem intervenção manual. Nós estamos buscando possíveis formas para resolver este problema mas talvez não o faremos - caso você esteja usando Windows XP talvez não valha a pena atualizar para o Java 8 sem atualizar também para uma versão recente do Sistema Operacional Windows.

O ponto importante aqui é que nós não podemos mais oferecer completa garantia do Java no Windows XP, já que este SO não é mais atualizado pela Microsoft. Nós fortemente recomendamos que usuários atualizem para uma versão recente do Windows que seja suportada pela Microsoft para manter um ambiente estável e seguro.

P: Eu recentemente li na Internet que a próxima atualização de segurança da Oracle para o JDK 7 não funcionará no Windows XP. Isto está correto?
R: Não. Não acredite em tudo que você lê na Internet.

P: Eu tenho um desktop/laptop com Windows XP. Continuarei recebendo atualizações automáticas do JDK 7 quando a Oracle lançar uma nova atualização de segurança?
R: Sim, ao menos até o End of Public Updates para o JDK 7 que no momento está agendado para Abril de 2015. Leia mais em Java Support Roadmap.

P: O que acontecerá após o End of Public Updates para o JDK 7?
R: Nós continuaremos monitorando as aplicações das atualizações no Windows XP. Se o uso continuar alto quanto chegarmos perto desta data, nós tomaremos medidas para manter usuários do Java seguros. Existem opções disponíveis ao nosso alcance caso isso se torne necessário.

P: Posso instalar JDK 8 no Windows XP? Vai funcionar? 
R: O instalador não funciona no Windows XP. Você pode descompactá-lo manualmente e provavelmente irá funcionar.

P: Minha empresa está usando Windows XP Embedded, que ainda é suportado pela Microsoft. A Oracle irá suportar neste caso?
R: Nós nunca suportamos oficialmente Windows XP Embedded para qualquer versão do Java. No entanto, desde que a Microsoft forneça suporte para o Windows XP Embedded, poderemos considerar isso. Entre em contato com um representante de vendas do Java na sua região se você tem uma necessidade para isso.

quinta-feira, 17 de julho de 2014

Google tem novo curso online para ensinar desenvolvimento de apps Android.

O Google divulgou nesta quarta-feira (16) uma nova parceria com a organização de ensino online Udacity para a criação de um curso focado no desenvolvimento de apps para o Android. 

Chamado "Desenvolvendo Android Apps: os Fundamentos do Android", o curso tem como público alvo desenvolvedores que ainda não conhecem bem o sistema operacional móvel do Google ou desenvolvimento móvel em geral.

É recomendado, no entanto, ao menos três anos de experiência em programação em linguagem Java ou qualquer outra linguagem orientada a objeto, como C++, Objective C ou Python.

O curso terá duração de aproximadamente oito semanas e custa US$ 150/mês. O valor dará acesso ao feedback e orientação de "treinadores" e engenheiros de software do Google. A primeira turma já está preenchida, mas você pode se inscrever para receber uma notificação quando a segunda turma tiver início.

Para quem não quiser pagar, também será possível baixar todo o material de texto e vídeo do curso gratuitamente - mas sem acesso aos treinadores.

Para quem quiser começar, também é indicado dar uma passada pelos cursos de "UX Design para Desenvolvedores Mobile" e "Desenvolvimento Mobile Web", também disponíveis na Udacity.

Fonte: CanalTech

Oracle vai parar de corrigir falhas no Java para Windows XP

A Oracle anunciou na última semana que vai terminar o suporte do Java para o Windows XP. Ou seja, o plugin vai continuar funcionando normalmente nos computadores que usam o antigo sistema operacional da Microsoft, mas correções de falhas e bugs não serão lançadas para ele no futuro.

A decisão foi tomada após a Microsoft encerrar o suporte para o Windows XP. Os usuários que ainda utilizam o sistema vão poder instalar e usar o plugin e também vão receber outros tipos de atualizações, garantiu o vice presidente de gerenciamento de produtos de Java da Oracle, Henrik Stahl.

A única diferença, ressalta, é que a empresa vai parar de corrigir eventuais falhas - incluindo de seguranças -que afetam apenas o sistema operacional, focando em correções para outras plataformas. “Nós esperamos que todas as versões do Java que eram suportadas antes do anúncio da Microsoft continuem funcionando no Windows XP”, garante.

As mudanças afetam apenas a versão 7 do Java, já que a versão 8 não foi projetada para ser usada no Windows XP, embora possa ser instalada por métodos não convencionais. A Oracle recomenda que os usuários atualizem seus sistemas antes de tentarem instalar o Java 8 nestes computadores.

Fonte: TechTudo

sexta-feira, 11 de julho de 2014

Java lidera ranking das linguagens de programação mais utilizadas no mundo

Olá pessoALL!

Quanto tempo não é verdade? Estaremos mais próximos nos dias que vem!

Pensa em começar ou recomeçar a desenvolver em uma linguagem, mas não sabe em qual? Pois este ranking da IEEE pode ajudar: recentemente atualizado e com o Java na liderança (a frente de C, C++, Python e tantas outras), ele lista as mais populares baseando-se em doze fontes de dados diferentes, que vão do Google e do GitHub ao Stack Overflow e o fórum Hacker News.

As linguagens aparecem em um ranking geral ou podem ser divididas em quatro categorias: web, desktops, mobile e embedded. Além da lista geral, dá para ver quais delas estão crescendo mais em termos de interesse, demanda de empregos ou popularidade em fóruns e redes sociais. E por incrível que pareça (ou não), o Java lidera em quase todas essas classificações com seus 100 pontos – ao contrário do que acontece no índice da Tiobe, por exemplo.

No ranking geral, ele vem seguido de perto pelo C, com 99,2 pontos, e depois pelo C++, com 95,2. Python, C# e PHP aparecem logo abaixo, enquanto JavaScript, Ruby, R e MATLAB fecham o top 10. A lista com todas as linguagens engloba outras 39, e a lanterninha é a bem específica NetLogo, com nenhum ponto. Aliás, a Swift, da Apple, ainda não aparece em uma posição, mas seu "antecessor" Objective-C está em 16º.



Fonte: Info

terça-feira, 11 de março de 2014

Lançamento do Java 8

O lançamento mundial do Java 8 acontecerá no próximo dia 25 às 14 horas, no horário de Brasília, e as inscrições para o Webcast já estão abertas.

Faça sua inscrição no site do evento.

Além da palestra de lançamento ao vivo, estarão disponíveis mais de 35 sessões técnicas e fórum para perguntas.

Se você quiser enviar perguntas para a equipe de arquitetos da Oracle com antecedência, basta usar a hastag #Java8 no twitter.

Fonte: SouJava

quinta-feira, 6 de março de 2014

JAX-RS 2.0 Jersey Client API - #AdoptaJSR #JSR339

Olá pessoal, esse post faz parte do programa Adote uma JSR com GujavaSC e falaremos hoje sobre a JSR 339 mais especificamente sobre nova funcionalidade Client API. Essa funcionalidade é utilizada para acessar recursos web e fornece uma API de mais alto nível que HttpURLConnection.

O artigo irá mostrar um exemplo de como você pode utilizar a nova Client API do JAX-RS 2.0 do Jersey.

Para esse projeto usaremos o JBOSS AS 7.1 Port 8082 com maven (pom está no github), o objetivo será consumir serviços REST e saber lidar com as respostas retornadas por ele.

Então vamos começar!

Essa primeira linha de código irá criar e retornar uma instância do client.
Client orderClient = ClientBuilder.newClient();
O próximo passo é criar um WebTarget (representa um recurso identificado por uma URI), construir um request e submetê-lo utilizando GET. Nesse exemplo estaremos pedindo por um objeto chamado Order identificado pelo id 1.

WebTarget target = orderClient.target("http://localhost:8082/rest-client-api-example/resources/orders/{id}"); Response response = target .resolveTemplate("id",1) .request(MediaType.APPLICATION_JSON) .get();
Para explicar cada passo do que aconteceu no código anterior iremos quebrá-lo em partes, como você pode ver abaixo:

orderClient.target(URI) - Retornará um Webtarget que representa a URI
target.resolveTemplate("id", 1) - Cria uma nova instância de WebTarget e substitui o template pelo valor passado
target.request(MediaType.APPLICATION_JSON) - Cria uma nova instância de WebTarget e começa a construir uma request com os media types aceitos
target.get() - Invoca o método HTTP GET para o request de forma síncrona e retorna uma Response

Uma outra coisa que você pode notar, é que o objeto da classe WebTarget é imutável quando diz respeito a URI e mutável quanto a sua configuração. Não entraremos em detalhes aqui, porém toda vez que utilizarmos métodos que modifiquem a URI um novo objeto será criado, em contrapartida quando a configuração de um WebTarget é modificada, novas instâncias não serão criadas.

Na última linha do código anterior você poderia usar outro método HTTP como post(), put() ou qualquer outro que você escolher. Depois você só tem que verificar se a Response está OK (Código 200) e ler a entidade. Se você está tentando ler uma List isso funcionará um pouco diferente e eu estarei falando sobre isso à seguir.
 
Então se o serviço estiver rodando e tudo está correto, você receberá a instância de Order do servidor e seus dados serão imprimidos no console.
if(response.getStatus() == Status.OK.getStatusCode()){
    Order order = (Order) response.readEntity(Order.class);
 System.out.println("Id: "+order.getId());
 System.out.println("Name: "+order.getName());
 System.out.println("Price: "+order.getPrice());
}else{
 System.out.println(response.getStatus()+ " "+ response.getStatusInfo());
}

Você provavelmente precisará também requisitar ao servidor listas genéricas e para fazer isso será um pouco diferente. No código abaixo você vai criar um WebTarget com uma requisição, assim como foi passado anteriormente, e ao invés de passar um id você pedirá por toda a lista the /orders.

WebTarget target = orderClient.target("http://localhost:8082/rest-client-api-example/resources/orders");
Response response = target .request(MediaType.APPLICATION_JSON) .get();

O retorno é um pouco diferente quando usamos tipos genéricos, você terá que instanciar uma sub-classe anônima de GenericType passando List que é o que você deseja receber. 
List<Order> orders = response.readEntity(new GenericType<List<Order>>() {});

Fazendo isso você receberá uma lista de Order e assim manipular da maneira que você achar melhor.

O exemplo completo está no github do adoptajsr, fique à vontade para fazer utilizar como quiser. Lá você também encontrará o serviço REST e a implementação do cliente.

Participem do programa Adote uma JSR com GujavaSC se inscrevendo na lista do AdoptaJSR. Após se inscrever mande um email se apresentando e pergunte como participar!

Fonte: GujavaSC