Link

Código BoilerPlate.

Um código BoilerPlate é aquela sintaxe que a linguagem obriga escrever toda vez e não acrescenta nada.

Resumindo, um código BoilerPlate é uma linguagem de pouca expressividade, ou seja escreve muito código e faz pouca coisa.

Quando isso acontece, nossa produtividade fica comprometida, escrevendo muito código desnecessário.

Isso já ficou tão claro que existem vários framework’s que já compõe capacidades para diminuir os códigos BoilerPlate.

Mesmo com ajuda da IDE com os atalhos para gerar os códigos BoilerPlate para nós, o código ainda vai continuar poluído.

Acesse o artigo completo em: https://nakatech.herokuapp.com/article/boilerPlate.html.

Citação

Apache RocketMQ.

O RocketMQ é um framework Java para mensageria e plataforma de streaming de baixa latência.

Um framework de mensageria open source que é utilizado desde 2012 pela plataforma do Alibaba.

Com uma configuração simples, capacidades para auditorias e sua baixa latência, o RocketMQ é ideal para instituições financeiras.

O RocketMQ é uma ótima forma de desacoplar algumas funcionalidades da aplicação.

Como o framework já está consolidado desde 2012, existem várias implementações como Python e Nodejs.

Acesse o artigo completo em: https://nakatech.herokuapp.com/article/rocketMQ.html.

Citação

Ordenação Radix.

Conhece o padrão de ordenação por Radix?

A proposta de ordenação por Radix é ordenar números em ordem crescente baseado nos seus dígitos.

Diferente de outros padrões de ordenação, o Radix não compara o número e sim a posição dos seus dígitos.

Radix segue um padrão de comparação do dígito menos significante ou Least Significant Digit (LSD) para o mais significante Most Significant Digit (MSD).

Segue um exemplo como funciona a ordenação por Radix:

Dada a entrada de uma lista de números inteiros:

Agora vamos verificar o dígito menos significativo:

A primeira ordenação é pelo menor dígito significativo:

Agora vamos ordenar pelo próximo dígito significativo:

Novamente, ordenamos agora pelo menor número encontrado no dígito:

Finalmente ordenamos pelo dígito mais significativo:

Agora a última ordenação:

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/radix.html.

Link

Checked e Unchecked Exception.

Você sabe a diferença entre uma Checked e uma Unchecked Exception em Java?

Muitos desenvolvedores Java não sabem a diferença ou não sabem quando utilizar os 2 tipos de exceptions.

De uma forma simples de explicar, uma Checked Exception é quando conseguimos prever e tratar algumas exceções.

Já uma Unchecked Exception, é quando não conseguimos prever quando o erro pode acontecer e ou não queremos tratar o erro pois ela lança automaticamente uma Exceção.

Além disso uma Unchecked Exception herda RuntimeException e não necessita de um bloco try/catch para lançar uma mensagem de exceção.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/exception.html.

Quarkus.

Já conhece o Quarkus?

O Quarkus é um container serverless Java desenvolvido pela Red Hat.

Muito rápido e útil para aplicações Rest com abordagem em microsserviços, o Quarkus vai ser um concorrente para o Spring boot.

Diferente do Spring boot, o Quarkus utiliza a especificação J2EE, o que pode pode deixar alguns fãs de Spring desanimados.

Assim como Spring boot, o Quarkus é simples e rápido de configurar e utilizar, com alguns minutos já montamos um ambiente Rest.

Testando o Quarkus.

Com alguns minutos podemos gerar microsserviços com Quarkus, precisando somente de um JDK com a versão maior que 1.8 e Apache Maven versão maior que 3.5.3.

No terminal, execute o comando Maven abaixo para baixar o projeto:

mvn io.quarkus:quarkus-maven-plugin:0.19.1:create \
-DprojectGroupId=org.acme \
-DprojectArtifactId=getting-started \
-DclassName=”org.acme.quickstart.GreetingResource” \
-Dpath=”/hello”

Para executar a aplicação digite no terminal o comando: ./mvnw compile quarkus:dev

Vamos testar fazendo uma chamada Curl:

Conclusão.

Mais uma opção de server container Serverless Java que podemos utilizar em criações de microsserviços Java com uma certa facilidade.

Link

Java Optional.

O Optional é uma classe do Java 8 que vai ajudar a remover vários problemas de condicionais confusas.

Da família Do pacote “util”(java.util.Optional), a classe Optional pode receber ou não valores nulos.

Podemos evitar casos de NullPointerException quando utilizamos a classe Optional.

Outro benefício de se utilizar a classe Optional é deixar seu código mais claro e limpo, pois a proposta reduz a necessidade de utilização de condicionais como if/else.

Lembrando que o Optional ajuda a evitar problemas com os erros nulos, mas não vai eliminar o problema, mas com boas práticas o problema é reduzido quase que 100%.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/optional.html.

Link

Método forEachInBoth.

Já ouviu falar sobre o método Java forEachInBoth?

Da família Eclipse Collections, o forEachInBoth pode facilitar em alguns casos onde precisamos agrupar duas Listas em um Mapa.

O método forEachInBoth pode ser encontrado em algumas classes como: ArrayIterate, ListIterate, RandomAccessListIterate e ArrayListIterate.

O forEachInBoth é um método que possibilita pegar 2 listas de tipos diferentes e com mesmo tamanho e criar um Map de forma simples e rápida.

Além de aceitar 2 List’s como parâmetros, o forEachInBoth também aceita 2 Array’s.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/eclipseCollections.html.