Pular para o conteúdo principal

Postagens

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...

Angular 12 foi lançado

Um post rápido para informar que a versão 12 do Angular saiu esses dias. Confira aqui as novidades desta nova versão:  https://blog.angular.io/angular-v12-is-now-available-32ed51fbfd49 Para quem não conhece, o Angular é um framework SPA ( Single Page Application ) open source , desenvolvido pelo Google para substituir o framework antigo, AngularJS , com conceitos bem modernos e utilizando a linguagem TypeScript . Esse movimento foi brusco e arriscado, pois não guardou compatibilidade, e assustou muita gente - eu incluído. Mas depois que ultrapassei o medo de aprender e venci a curva de aprendizado (o framework é muito bom, mas tem uma curvinha considerável de aprendizado), percebi que se trata de uma excelente ferramenta, muito bem estruturada e pensada, que te dá todas as condições para escrever aplicações de alto nível, bem estruturadas e baseadas em componentes. Em outro(s) post(s) eu me animo e explico um pouco mais sobre o Angular . Um dos recursos bem interessantes do Angula...