Como Instalar um Blog em WordPress

É simplesmente fantástico o que os gerenciadores de conteúdo podem fazer por você. Um blog em wordpress representa um passo mais profissional em seus negócios online. Criar um blog em wordpress não é um bicho de 7 cabeças como você pensava. Neste vídeo em apenas 12 minutos você aprenderá como criar um blog em wordpress do zero. E o melhor de tudo, você não precisará saber de programação, não precisará criar banco de dados nada complicado. Na verdade em menos de 12 minutos você consegue já ter o seu primeiro Blog em WordPress e ainda aprenderá como personalizar o seu Blog com o tema que você desejar. Você terá um blog igual ao meu.
Se você se interessar, clique no banner abaixo para se inscrever em um curso gratuito.

 

Como montar um blog

As 10 profissões mais felizes e infelizes do mundo – Ciência Maluca

Os profissionais mais felizes do mundo, de acordo com uma pesquisa da Universidade de Chicago (EUA), são os membros do clero. Faz sentido, né? Taí uma profissão em que, se o pessoal fosse infeliz, ficaria feio. Pelo menos a minha profissão está entre as 10. rsrs

Dá uma olhada no top 10.

1 – Clérigos

2 – Bombeiros

3 – Fisioterapeutas

4 – Escritores

5 – Professores de educação especial

6 – Professores

7 – Artistas

8 – Psicólogos

9 – Vendedores de serviços financeiros

10 – Engenheiros de operação

A maioria desses trabalhos se baseia em ajudar pessoas — é a isso que os pesquisadores creditam a boa colocação no ranking. Para outros, como escritores e artistas, parece que a autonomia e a liberdade de expressão são as responsáveis pela felicidade. Os vendedores de serviços financeiros, por sua vez, ganham comissões generosas, e os engenheiros de operação talvez se divirtam com brinquedões como escavadeiras e guindastes.

Como bônus, pega aí o top 10 das profissões mais infelizes do mundo, feito pelo site CareerBliss — elas, curiosamente, tendem  a ser mais bem pagas do que as profissões listadas acima (e mais chatas também, impossível não dizer).

1 – Diretor de tecnologia da informação

2 – Diretor de vendas e marketing

3 – Gerente de produto

4 – Desenvolvedor web sênior

5 – Especialista técnico

6 – Técnico em eletrônica

7 – Secretário judicial

8 – Analista de suporte técnico

9 – Operador de CNC

10 – Gerente de marketing

E aí, se encontrou no meio de algum desses dois rankings?

via http://super.abril.com.br/blogs/cienciamaluca/quais-sao-as-10-profissoes-mais-felizes-e-infelizes-do-mundo/

Aula de Linguagem de Programação – Veris 2011

Aula de Linguagem de Programação – Veris 2011

Créditos: aluno Luciano.

Novidades do Java 7 – Simplified Varargs Method Invocation

Simplified Varargs Method Invocation

Esta talvez seja a atualização mais complicada de se entender. Na verdade nada será alterado em relação ao código, como as anteriores, mas sim em relação a interpretação do compilador em um caso especifico que em versões anteriores geravam mensagens de aviso (warning).

Em Java arrays e tipos genéricos não se relacionam muito bem, veja o seguinte exemplo no código abaixo. Este código quando compilado irá gerar a um Warning parecido com este “Note: HelloJava7Varargs.java uses unchecked or unsafe operations.”. Porém não existe nada de errado no código, ele compila e executa sem problemas, mas lança essa mensagem de aviso.

Arrays e Generics

import java.util.*;

public class HelloJava7Varargs {
    public static void main(String[] args) {
        Set<Integer> aSet = new HashSet<Integer>();

        List<Set<Integer>> listOfSets = Arrays.asList(aSet);
    }


Na verdade, o que acontece é que antes de o compilador gerar o bytecode é feita uma conversão no programa que modifica a linha 7, que internamente passa a valer:

List<Set<Integer>> listOfSets = Arrays.asList(new Set[]{aSet});

Note que nessa conversão o Set usado para construir o array não contém mais a informação de tipo (em Java não é permitida a criação de um array usando generics) o que provoca o warning. Uma forma de evitar esse warning é incluindo a anotação @SuppressWarnings(“unchecked”) no método, ou na linha imediatamente antes daquela onde o compilador indicou o warning.

Incluindo anotação @SuppressWarnings – Java 5/6

import java.util.*;

public class HelloJava7Varargs {
@SuppressWarnings({“unchecked”})
public static void main(String[] args) {
Set<Integer> aSet = new HashSet<Integer>();

List<Set<Integer>> listOfSets = Arrays.asList(aSet);
}
}

No Java 7 esse problema foi solucionado e códigos compilados na nova versão não terão a mensagem de warning exibida sem a necessidade de usar a anotação @SuppressWarnings(“unchecked”).

 

Fonte: Novidades do Java 7 « Programando com Java.

Novidades do JAVA 7 – Parâmetros para construtor com Genéricos

Outro pequeno detalhe para tornar a linguagem Java mais prazerosa de se utilizar. Normalmente quando declaramos genéricos precisamos especificar o tipo que queremos no lado esquerdo (na declaração da variável) e no lado direito (no construtor). Isso não será mais preciso, basta colocarmos os sinais de generics () do lado direito que automaticamente o compilador irá utilizar os objetos do lado esquerdo. Exemplo:

Map<Integer, String> mapa = new HashMap<>();
mapa.put(1, “valor”);

Esta é mais uma das novidades que irão tornar um pouco mais prazerosa a prática com a linguagem JAVA.

Fonte: Novidades do JAVA 7 « crisaltmann.

Novidades do JAVA 7 – try-with-resources e multi-catch

Utilizar com inteligência os recursos do computador como sockets, streams, etc, é importantíssimo e sempre deu um trabalho extra para os desenvolvedores. Criar variáveis fora do try, fechar cada uma delas dentro do finally etc. Por vezes demorava o mesmo tempo criar uma implementação e o código para tratar erros e fechar recursos.Agora essa tarefa é facilitada pois podemos passar atributos para a cláusula try. Os atributos declarados dentro deste bloco são automaticamente fechados após a execução mesmo que ocorra uma exceção.Para isso é preciso que o Objeto passado como parâmetro implemente a interface AutoCloseable.

try(PreparedStatement ps = null;
    ResultSet rs = null;) {

    //code

} catch(SQLException | IOException e) {
    e.printStackTrace();
}

 

Na cláusula catch do código acima, também está uma nova funcionalidade do java 7 que nos possibilita tratar mais de uma exception num único bloco catch. Essa funcionalidade é útil pois evita códigos replicados em várias cláusulas catch.

 

Fonte: Novidades do JAVA 7 « crisaltmann.

Novidade do JAVA 7 – Declaração de literais e o uso do underscore

Declaração de literais e o uso do underscore

Agora é possível declarar números binários para variáveis inteiras em java. Isso é bem útil para quem utiliza o Java com linguagens de baixo nível.

Um exemplo das novas possibilidades para números inteiros está no código abaixo:

//apenas a declaração de um inteiro
int normal = 5;
//declaração de um inteiro como hexadecimal com o prefixo '0x' / '0X'
int hexadecimal = 0x1A;
//declaração de octal com o prefixo '0'
int octal = 02; //poucos sabem mais o número zero na frente deixa o inteiro com base 8
//NOVIDADE java 7 declaração de binário com o prefixo '0b' / '0B'
int binario = 0b1001;
//Possível separar números por underscore. Facilita a declaração de números grandes
int contaBancaria = 10_000_000;

A nova funcionalidade de declaração de variáveis utilizando o underscore como separador é útil para declararmos números com muitos algarismos. Quem nunca se deparou contando o número de zeros de uma variável?

Não podemos utilizar o underscore nos seguintes casos:

No início ou fim de um número

Junto (antes ou depois) com um ponto numa variável double/float

Junto (antes ou depois de um caractere declarativo (x, b ou l)

Exemplos de declaração inválida de:

int valor1 = _0;
int valor2 = 0_;
double double1 = 0._2;
double double2 = 0_.2;
int hexa1 = 0_x21;
int hexa2 = 0x_21;
int bin1 = 0b_00_1;

Fonte: Novidades do JAVA 7 « crisaltmann.

Novidade do Java 7 – switch com String

Novidade do Java 7 – utilização do tipo de dado String no switch

 

Uma importante novidade do Java 7 é a utilização da estrutura switch (múltipla escolha) com Strings. Antes esse recurso era possível apenas com variáveis do tipo Enum e inteiros. Na verdade o que ele faz basicamente não deixa de ser um inteiro já que ele faz seleção a partir do hashcode. A listagem abaixo mostra um pequeno exemplo dessa utilização.

String bebida = "cafe";
switch (bebida) {
case "cafe":
System.out.println("Vai precisar de leite");
break;
case "suco":
System.out.println("Vai precisar de acucar");
break;
case "refrigerante":
System.out.println("Vai precisar de gelo");
break;
default:
System.out.println("Bebida desconhecida");
 }

Novidades: Movendo o java para Frente com o java 7 – Parte 1

Depois de aproximadamente 5 anos de espera finalmente chega a nova versão do jdk, o jdk 7, a versão está prevista para ser lançada oficialmente 7 de julho, mas realmente somente estará pronta em agosto o motivo para esse lançamento é unicamente um jogo de marketing com o número da nova versão do java ( Lançamento 7/7).

A princípio o projeto do jdk 7 era divido em dois subprojetos:

·O projeto coin que é o responsável por pequenas melhorias na linguagem como switch com strings, mutil try etc.

·O projeto lambda as novidades mais complexas da linguagem com o clouser que entre algumas vantagens deixaria o java mais dinâmico.

Com o intuito de lançar essa nova versão do foi entregue basicamente o projeto coin e o projeto lambda terá sua entrega prevista em 2012 com o lançamento do java 8 fazendo com que se tenha atualizações constantes. Essas novidades não serão apenas bem vindas as aplicações comerciais, mas também nas plataformas, por exemplo, no java EE 7 que está sendo desenvolvido em cima desse novo jdk. Nessa nova versão está previsto também o projeto Da vinci Machine que tem como maior objetivo de implementar ainda mais o números de linguagens que rodam em cima da JVM, a ideia é fazer, invokeDynamic, criar instruções na JVM para ativar bytecodes externos. Outra informação legal é que nessa nova versão o open jdk, o projeto da máquina java open source, passa agora a ser a implementação de referência isso já havia sido prometido na época da Sun e agora estará sendo comprido.

Novidades do java 7

Nessa versão de uma maneira especial se pode observar que não se trouxe nenhum recurso inédito para a linguagem, mas sim facilidades para os recursos já existentes. Por exemplo, já era possível criar Collections nas versões antigas, mas agora para facilitar e tornar o código mais legível existe dentro do projeto coin o diamont, que será explicado melhor com o andamento do artigo.

As principais novidades nessa versão são:

JSR 292: o projeto Da Vinci Machine que visa implementar um número maior de linguagens.

JSR 334: Pequenas melhorias na linguagem com o projeto coin, será melhor explorado no final do artigo.

Modificações na API class-Loader para evitar impasse na hora de carregar classes, método que libera recursos, como arquivos abertos realizado pelo URLClassLoader.

JSR 166y: Atualizações em APIs de concorrência e também nas coleções.

Melhorias na internalização como a atualização para a versão unicode 6.0, da classe java.util.Locale para apoiar IETF BCP 47 (Tags Idiomas Identificação) e UTR 35 (dados local Markup Language).

JSR 203: Uma nova api para I/O para a plataforma: com essa api se terá suporte a Ipv6, SCTP (Stream Control Transmission Protocol) e SDP (Sockets Direct Protocol).

Implementação para Criptografia de curvas elípticas que é uma variante da criptografia assimétrica ou de chave pública, baseada na matemática das curvas elípticas.

Atualização para o jdbc 4.1 que dentre suas principais novidades é usar os recursos na nova versão como o fechamento automático da conexão e o RowSet 1.1 que agora pode suportar todos os tipos de dados suportado pelo jdbc Driver.

Novidades em alguns componentes gráficos como o Um novo Java2D pipeline de gráficos com base na extensão XRender X11, que dá acesso a muitas das funcionalidades das modernas GPUs, janelas gráficas melhor trabalhadas com recursos translucido e moldada e um novo look and feel Nimbus, um tema para os componentes Swing (essa parte do projeto já havia sido iniciado no java 6.10), novo componente o JLayer é um decorador universal para componentes Swing que lhe permite aplicar vários efeitos de pintura avançadas, bem como receber notificações de todos os AWTEvents gerada dentro de suas fronteiras.

Atualizações de alguns componentes que já estão no java é o caso do JAXP 1.4, JAXB 2.2a, e JAX-WS 2.2.

Melhorias no MBeans com.sun.management existentes para relatar informações da CPU em relação aos processos da JVM.

Conclusão:

Neste artigo foi falado do lançamento do java 7, essa novidade não trouxe nenhuma grande novidade a linguagem, o que aconteceu de uma maneira geral foi mudanças estéticas para deixar a linguagem mais clara, simples além de muito mais fácil de implementar.

Compartilhado de: Novidades: Movendo o java para Frente com o java 7 – Parte 1.

Livro relacionado:

Java 7 – Ensino Didático. Sérgio Furgeri.

 

Minha dissertação de Mestrado

Segue abaixo link de minha dissertação de Mestrado concluído em fevereiro de 2008.

UM ESTUDO SOBRE A SATISFAÇÃO DO USUÁRIO DE SISTEMAS DE SOFTWARE
Resumo (Abstract)

Com o avanço da tecnologia e dos sistemas de informação, é cada vez mais importante a necessidade  de se desenvolver softwares de qualidade e que contribuam para melhorar o desempenho no trabalho das pessoas. O presente trabalho tem como objetivo desenvolver um modelo que avalia o grau de satisfação que o usuário tem com o sistema que ele utiliza, enfocando a satisfação do usuário como um componente importante na composição dos fatores de sucesso de um sistema de informação. Através do estudo de trabalhos relacionados sobre o assunto, é montado um modelo de avaliação, com os principais quesitos de satisfação do usuário e questões referentes a esses quesitos. O modelo foi empregado em um estudo empírico que avaliou a satisfação do usuário de um software de gestão escolar. A pesquisa foi realizada em uma rede de escolas de computação, tendo como sujeitos os usuários do sistema. O modelo foi composto de questões a respeito dos quesitos de satisfação do usuário, de acordo com uma Escala de Likert com cinco pontos, cujas respostas foram tabuladas e  nalisadas estatisticamente.

Os resultados do estudo empírico apontaram que o usuário está satisfeito, de uma maneira geral, com o software avaliado, mas ele não está satisfeito com alguns quesitos, como a flexibilidade e a atratividade, que devem ser melhorados. O trabalho espera contribuir para futuras pesquisas de qualidade do produto de software que enfoquem a satisfação do usuário, e para a melhoria de qualidade de software, tanto na área de gestão escolar como em demais áreas de aplicação.

Introdução à Java

Como Java é executado

Um programa fonte escrito em linguagem Java é traduzido pelo compilador para os bytecodes, isto é, o código de máquina de um processador virtual, chamado Java Virtual Machine (JVM). A JVM é um programa capaz de interpretar os bytecodes produzidos pelo compilador, executando o programa cerca de 20 vezes mais lento do que C. Pode parecer ruim, mas é perfeitamente adequado para a maioria das aplicações. Com isto, um programa Java pode ser executado em qualquer plataforma, desde que esteja dotada de uma JVM. É o caso dos programas navegadores mais populares, como o Netscape Navigator e o Internet Explorer, que já vêm com uma JVM. A vantagem desta técnica é evidente: garantir uma maior portabilidade para os programas Java em código-fonte e compilados. Porém, as JVM tendem a ser programas extensos que consomem muitos recursos, restringindo assim o tamanho das aplicações escritas em Java.

Em contrapartida à maior velocidade de execução está também uma maior necessidade de memória, pois os bytecodes compilados, em geral, ficam três vezes maiores do que o original. Uma alternativa bem mais interessante, e talvez muito mais viável, é a implementação da JVM em hardware na forma de uma placa ou microchip. A primeira iniciativa neste sentido é da Sun Microelectronics, que está produzindo os chips picoJava ITM, microJavaTM e UltraJavaTM. Estes são capazes executar diretamente bytecodes, acelerando em milhares de vezes a velocidade de execução. Isto permitirá o desenvolvimento viável de aplicativos cada vez mais complexos, abrangentes e funcionais. Espera-se que estas soluções sejam brevemente empregadas na fabricação de telefones celulares, pagers, jogos, organizadores pessoais digitais, impressoras e eletrodomésticos de consumo, além aplicações mais sérias como estações de trabalho dotadas do sistema operacional JavaOSTM. Trata-se certamente do futuro das soluções para aplicações de rede.

 

Ambiente Java

 

Texto compartilhado de  Introdução à Java. dos professores Waldeck Schützer e Sadao Massago.

Introdução: Sobrecarga de Métodos e Tipos Genéricos em Java

Introdução

O java nos permite trabalhar tanto com métodos sobrecarregadose tipos genéricos, vamos ver qual a utilidade de ambos sempre mostrando primeiro o problema para depois apontar a solução. Será mostrado a utilização dos métodos sobrecarregados e dos tipos genéricos na resolução do seu respectivo problema.

Vamos ao problema:

Ao desenvolver uma aplicação surge a necessidade de se criar um método que receba por parametros o nome do cliente, endereco, bairro, cidade e estado. Então foi criado o método como abaixo:

 

1
2
3
4
5
6
7
public void setDadosPessoais(String nome, String endereco, String bairro,
 String cidade, String estado)
{
// codigo do método
}

 

 

Ao longo do projeto é percebido que nem sempre será necessário a inclusão do endereco, do bairro, da cidade e do estado. Então é solicitado ao programador que fosse feito um método que recebesse apenas o nome e o sobrenome do cliente. Então foi criado o método:

1
2
3
4
5
6
7
public void setDadosPessoaisNome(String nome)
{
// codigo do método
}

 Agora o sistema esta aceitando a inserção de todos os dados pessoais, mas também aceita apenas o nome e o sobreNome do cliente. Pouco depois surgiu a necessidade de um método que recebesse apenas o nome, o endereço e o bairro. Então foi criado o método:

 

1
2
3
4
5
6
7
public void setDadosPessoais(String nome,String endereco,String bairro)
{
// codigo do método
}

A medida que as solicitações aconteciam os métodos foram crescendo e além disso os nomes estavam ficando cada vez maiores. Para cada situação diferente um novo método e um nome diferente, como o exemplo abaixo:

  • nome – setDadosPessoaisNome

  • nome, endereco – setDadosPessoaisNomeEndereco

  • nome, endereco, bairro – setDadosPessoaisNomeEnderecoBairro

  • nome, bairro – setDadosPessoaisNomeBairro

  • nome, cidade – setDadosPessoaisNomeCidade

  • nome, estado – setDadosPessoaisNomeEstado

  • endereco, bairro – setDadosPessoaisEnderecoBairro

  • cidade, estado – setDadosPessoaisCidadeEstado

  • endereco – setDadosPessoaisEndereco

  • bairro – setDadosPessoaisBairro

  • bairro, cidade – setDadosPessoaisBairroCidade

  • cidade – setDadosPessoaisCidade

Voce pode observar que a medida que forem surgindo mais parametros para o método, o nome tende a ficar cada vez mais longo, além de não ficar nada bonito ainda gera confusão , um monte de métodos com vários nomes diferentes um maior que o outro.

Depois de criadas todas as opções pedidas, apareceu um outro problema, foi solicitado que as variaveis nome, endereco, bairro, cidade e estado fossem iniciadas no momento que a classe fosse instanciada e que o sistema teria que dar as mesmas opções que os métodos deram.

E agora? Como fazer isso se o construtor deve ter o mesmo nome da classe?

No próximo artigo veremos como resolver esse problema utilizando métodos sobrecarregados.

via Introdução: Sobrecarga de Métodos e Tipos Genéricos em Java – DevMedia

Comediante sugere excluir amigos do Facebook – Internet – Notícias – INFO Online

São Paulo – Todo mundo tem aqueles “amigos” no Facebook que adicionou em certa ocasião ou que simplesmente não sabe de quem se trata. A fim de eliminar esses contatos fantasmas, o apresentador americano Jimmy Kimmel programou para hoje, nos Estados Unidos, o “National Unfriend Day”, ou Dia Nacional para Exclusão de Amigos.

Essa é a segunda vez que vez que a data é “comemorada”. “Metade das pessoas neste país estão no Facebook e muitas delas têm centenas, senão milhares de amigos. Acho inaceitável isso, ninguém tem milhares de amigos. Se você tem dez amigos em sua vida, então você está fazendo muito bem”, disse ele durante seu programa na rede ABC.

A proposta de Kimmel? Exclua todos aqueles que você não é amigo realmente. O comediante pode estar brincando, mas, em partes, ele está coberto de razão. Quem não deve estar contente com a iniciativa é o CEO do Facebook, Mark Zuckerberg. Veja o vídeo de Kimmel no endereço abaixo:

Comediante sugere excluir amigos do Facebook – Internet – Notícias – INFO Online.

Certificações Java – Parte 2

Continuação do artigo da Revista Java Magazine

A Sun Microsystems, antiga detentora dos direitos sobre o Java, oferecia oito certificações quando foi adquirida pela Oracle e esse número foi aumentado para doze. Cada certificação possui um objetivo muito bem definido e são divididas pela Oracle por categorias como Associado, Profissional, Master e Especialista.

Além das categorias as certificações possuem o Job Role, um tipo de cargo que faz referência ao membro certificado como sendo um Associado, Programador, Desenvolvedor ou Arquiteto. Existem certificações voltadas para as áreas de desenvolvimento Java SE, Java EE e Java ME. Outra característica das certificações são as versões disponibilizadas para o exame. Cada certificação faz referência a uma versão específica do Java, por exemplo, Java 1.4, Java 5 ou Java 6. Se o candidato ao exame da certificação OCPJP 6 (antiga SCJP 6) estudou ou tem experiência apenas com o Java 1.4, verá na prova muitos conceitos desconhecidos, o que pode ser o fator relevante para sua reprovação. Outro ponto importante a ser observado pelo candidato é o idioma em que o exame será aplicado. Algumas certificações possuem versões em vários idiomas, entre eles o Português, mas na maioria delas apenas está disponível o idioma Inglês. Lembre-se que realizar uma prova com sessenta ou mais questões, em um idioma que você não tem domínio, também pode acabar sendo um fator propício à reprovação.

As certificações Oracle Java, bem como na época da Sun, possuem uma restrição de dependência entre elas. Algumas certificações dependem que você já tenha sido aprovado no exame de outra certificação específica, ou seja, não é possível prestar exame para a certificação de desenvolvedor web (OCPJWCD) sem possuir a certificação de programador (OCPJP), por exemplo.

Quais são as certificações Java – Revista Easy Java Magazine 11.

Livros relacionados:

SCJP – Certificação Sun para Programador Java 6. Kathy Sierra e Bert Bates – (OCPJP)

Certificações Java

Veja abaixo importante artigo da revista Java Magazine sobre as certificações Java.

Conforme o dicionário Aurélio, “certificado” tem a seguinte definição: “Dar como certo; assegurar como verdadeiro. Convencer da certeza. Fazer (alguém) ciente de. Passar certidão de.”. Tal definição pode ser vista como um sinônimo para a certificação Java, considerada uma prova que, em tese, garante que o profissional possui conhecimento do assunto tratado e esteja habilitado a trabalhar com ele. Já no portal da Oracle é possível encontrar a seguinte afirmação: “Obter uma certificação na tecnologia Java da Oracle representa uma comprovação evidente de suas habilidades técnicas, dedicação profissional e motivação, o que pode lhe trazer vantagens no mercado de trabalho. Amplamente reconhecidas no setor, as opções de treinamento e certificação na tecnologia Java da Oracle ajudam a comprovar que você possui as habilidades necessárias para cumprir com eficiência os desafios de uma empresa de TI. ”O mercado de trabalho possui demanda por profissionais com conhecimento e experiência em Java e as certificações são cada vez mais valorizadas e consideradas por muitos como um fator importante para o sucesso na carreira. Porém obter uma certificação Java pode ser para alguns um objetivo muito trabalhoso.  A experiência no uso da linguagem muitas vezes não se faz suficiente para a aprovação no exame. Essa experiência deve ser complementada com muita dedicação aos estudos através de bons livros, simulados e muita codificação.

Para os jovens programadores que estão iniciando no mundo da programação Java e não possuem experiência profissional, é bastante válido possuir uma certificação. A certificação não substitui o conhecimento adquirido no mercado de trabalho, mas insinua ao empregador que este jovem sabe estudar, se preparar para desafios e que tem o conhecimento da linguagem. Para o iniciante em Java, o estudo limitado a livros pode não ser suficiente para passar no exame, então é aconselhável procurar um bom curso de Java que tenha como opção um módulo preparatório para a certificação desejada.

 Quais são as certificações Java – Revista Easy Java Magazine 11.

Livros relacionados:

SCJP – Certificação Sun para Programador Java 6. Kathy Sierra e Bert Bates.