Pular para o conteúdo principal

Postagens

Uma nova versão do Java foi lançada. Uma versão bem importante!

  A última terça-feira viu o lançamento de mais uma versão do Java - a versão 17. Atualmente, esta não costuma ser uma grande notícia, já que com o atual ritmo de lançamentos da plataforma, temos duas versões por ano - em março e em setembro. Entretanto, esta versão é especial. Ela é uma versão LTS, que vem substituir a versão LTS anterior, a versão 11. E porque o lançamento das versões LTS é tão importante? Já falei um pouco sobre as versões LTS do Java no post sobre o lançamento do Jakarta EE 9.1 . LTS é uma sigla que significa Long Term Support , suporte de longo prazo em uma tradução livre. São versões que o fabricante se compromete a dar suporte por um período mais longo, se tornando mais indicadas para utilização pelas empresas, que precisam desse tipo de suporte para garantir o funcionamento adequado do seu negócio. O órgão onde trabalho utiliza esta estratégia e recentemente migramos para a versão 11 do Java (quem sabe ano que vem a gente consiga migrar para esta nova versã...

Maven - Versão nova lançada

  Saiu versão nova do Maven - 3.8.2. Esta foi apenas uma versão de correção de bugs, mas a versão anterior, a 3.8.l, foi uma versão importante e vou aproveitar para falar sobre ela. Quem acompanha o histórico de versões do Maven , deve ter percebido o pulo de versão, da 3.6.3 para esta 3.8.1. A razão está explicada neste link , e o grande motivo foi tentar evitar problemas de segurança pelo acesso a repositórios via protocolo HTTP. Por default, esta versão 3.8.1 do Maven bloqueia o acesso a repositórios HTTP - você precisa acessar repositórios HTTPS . O bloqueio acontece com a adição de um mirror chamado "maven-default-http-blocker", bloqueando todo e qualquer acesso a repositórios HTTP externos. <mirror>    <id>maven-default-http-blocker</id>    <mirrorOf>external:http:*</mirrorOf>   <name>Pseudo repository to mirror external repositories initially using HTTP.</name>    <url>http://0.0.0.0/</u...

Antes de debugar, tente logar - Um panorama do Log4J

Não pretendo, com este post, advogar contra o processo de depuração. Muitos erros só são resolvidos com uma boa debugada no código, não tem jeito. O objetivo aqui é incentivar a arte de logar. Logar em diversos níveis e em diversos pontos do seu projeto/sistema/API. Você não precisa acreditar em mim. Acredite em todas as bibliotecas que você utiliza, que emitem mensagens para te auxiliar o tempo todo. Não seria bom que quem usa suas bibliotecas e/ou APIs pudessem ter a seu dispor o mesmo nível de auxílio? Meu primeiro exemplo vem de um caso prático que passei. Estava passando por problemas no VRaptor (para quem não conhece, o VRaptor é um framework Java MVC que te auxilia magnificamente na construção de controllers , lidando muito bem com a camada Web e permitindo até a construção de serviços REST), e percebia que o debug não estava me dando as informações necessárias para resolver meu problema. Foi quando mexi no arquivo de configuração do Log4J e aumentei o nível de log do framewo...

Angular Coding Style Guide

Voltando à plataforma Angular, vou falar neste post sobre o Guia de Estilo Angular , um conjunto de recomendações que envolvem desde a nomenclatura dos arquivos e estrutura das pastas até tamanho das classes e funções para manter coesão. Esse guia está disponível neste link aqui . Muitas linguagens acabam orientando os seus programadores em uma direção de padronização. O antigo Delphi já trazia seu estilo PascalCase , também conhecido como UpperCamelCase , com letras prefixando os nomes identificando seu propósito (T para tipo, I para interface, etc.). Esse estilo acabou sendo adotado na plataforma .Net (alguns arquitetos da Borland foram contratados pela Microsoft exatamente para criar a sua nova plataforma na época, para rivalizar com a crescente tecnologia J2EE ...). Java e Javascript adotam o padrão CamelCase , e o Maven acabou padronizando a estrutura das pastas dos projetos Java pela sua adoção maciça pela comunidade. Essa padronização é algo bom e positivo e toda equipe de...

Angular e Lint: Análise de código

  A plataforma Angular costuma primar pelas boas práticas, sempre recomendando-as e reforçando-as em sua arquitetura. Um dos conceitos utilizados é o de lint , termo que ficou popular recentemente e que indica uma análise estática do código-fonte em busca de violações: no estilo, formato e em construções suspeitas. O conceito de lint não é novo: foi criado no final dos anos 70 ( Wikipedia ), para a linguagem C, e vem evoluindo desde então com ferramentas diversas para as mais variadas linguagens de programação. Na plataforma Angular, a ferramenta TSLint foi adotada desde as primeiras versões, fornecendo análises estáticas para manter o código desenvolvido mais robusto e padronizado entre as equipes. Quando criamos uma aplicação Angular a partir da ferramenta de linha de comando ( @angular/cli ), um comando é adicionado no arquivo package.json para realizar uma análise no código do projeto: ng lint . A saída do comando aponta possíveis violações nos padrões de projeto e nas conv...

Jakarta EE 9.1 foi lançado

Nesta semana, a Eclipse Foundation anunciou o lançamento da nova versão do Jakarta EE , a versão 9.1. O objetivo dessa versão foi tornar a plataforma Jakarta EE totalmente compatível com o Java SE 11. Importante frisar que foi mantida total compatibilidade com o Java SE 8. Vale aqui uma boa contextualização, para quem não tem acompanhado as notícias do mundo Java. O pessoal das antigas vai lembrar da diferenciação entre Java SE ( Standard Edition , o Java que sempre instalamos no computador) e Java EE ( Enterprise Edition , um conjunto de especificações que eram implementadas por servidores de aplicação). Essas plataformas eram controladas pela Sun , e passaram a ser controladas pela Oracle , quando esta última comprou a primeira. A plataforma Java SE viu uma evolução tremenda nos últimos anos. O ritmo de lançamento das novas versões passou a ser semestral, com pequenos avanços em cada versão. Assim, o Java SE agora se encontra na versão 16, com expectativa de lançamento da versão...

Angular Dev Tools

Aproveitando o frisson do lançamento de nova versão (ver o post anterior ), a equipe do Angular lançou também uma ferramenta chamada Angular Dev Tools - uma extensão para o Chrome que permite maiores informações de debug e performance de uma aplicação Angular rodando no browser. Mais um passo dado pela equipe de desenvolvimento do framework para melhorá-lo para a comunidade, conforme pesquisa realizada que apontou que uma ferramenta de debug e melhores mensagens de erro eram os maiores desejos dos desenvolvedores - veja o post oficial falando sobre isso aqui:  https://blog.angular.io/introducing-angular-devtools-2d59ff4cf62f . Para instalar a ferramenta, entre na Chrome Web Store e procure a extensão pelo seu nome (aqui o link direto ). Clique em "Add to Chrome" para instalá-la. Após a instalação, abra sua aplicação Angular no Chrome e entre na opção "Inspecionar" ( Chrome Dev Tools , acessível também pela tecla de atalho <F12> ). No mesmo lugar que voc...