Link

FTDI + Java + Led + Button.

Nesse Post vamos utilizar um módulo FTDI e piscar um led através de um evento gerado por 1 botão, utilizando uma API serial Java.

Vamos fazer um pequeno teste, enviando um evento ao pressionar 1 botão e piscar um led através de um módulo FTDI e uma interface Java para executar o controle.

Acesse o tutorial completo em: https://nakalabs.herokuapp.com/articles/2022/ftdiJavaLedButton.html.

Link

FTDI + Java + Led

Nesse Post vamos utilizar um módulo FTDI e piscar um led, utilizando uma API serial Java.

Vamos fazer um pequeno teste piscando um led através de um módulo FTDI e uma interface Java para executar o controle.

Acesse o tutorial completo em: https://nakalabs.herokuapp.com/articles/2022/ftdiJavaLed.html.

Link

Exp4J.

Exp4J.

exp4j é uma biblioteca de terceiro que permite solucionar expressões matemáticas no seu domínio real.

Uma biblioteca bem leve, com menos de 50 KB e não depende de outras bibliotecas.

O exp4j utiliza o algoritmo de “Shunting Yard” para converter uma expressão em uma notação infixa.

Basicamente com exp4j é possível lançar uma expressão matemática literal com os valores das variáveis e o método resolve a expressão.

Pode parecer um pouco inútil para um sistema corporativo, mas para um sistema acadêmico pode ter muito valor.

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

Spring vulnerabilidade.

Após alguns dias da divulgação da vulnerabilidade Java no Log4JShell, foi agora divulgado uma vulnerabilidade dentro do spring framework.

A vulnerabilidade no Spring permite a execução remota da aplicação já está sendo chamado de Spring4Shell.

Basicamente a vulnerabilidade explora uma classe que permite criar um arquivo jsp que permite acesso ao invasor.

O problema é explorado a partir de combinações com Jdk 9 ou superior, Tomcat 10.0.19, 9.0.61, 8.5.78 ou inferior, Spring framework 5.3.0 até 5.3.17 ou 5.2.0 até 5.2.19.

Uma observação é que o ataque somente é explorado em pacotes war, os pacotes jar estão fora dessa vulnerabilidade.

Recall.

Para corrigir essa vulnerabilidade, principalmente quem tem a combinação dita no tópico anterior é seguir algumas das alterações.

Fazer downgrade para versão Jdk 8, apesar de não ser muito recomendado.

Fazer upgrade do Spring framework para as versões 5.2.20 ou 5.3.18 ou superior, o que pode ser recomendado para todos independentemente da combinação de stack.

Atualizar o Tomcat para versões diferentes de 10.0.20, 9.0.62, ou 8.5.78 para quem usa Tomcat como servidor de aplicação.

Outra opção mas um pouco invasiva é adicionar anotações de proteção nos códigos ou gerar pacotes jar no lugar dos pacotes war.

Conclusão.

Para evitar qualquer tipo de dor de cabeça nas suas aplicações, verifique se existe a combinação de stack e faça as correções, mas seria interessante independente da stack, fazer a atualização do Spring framework.

Link

YAML.

yaml ou “Ain’t Markup Language” é um formato de serialização de dados que tenta deixar mais humana a interpretação dos dados.

Criado em 2001, é inspirado em XML e indentação Python, o yaml é mais uma das opções entre o XML e Json.

Muito utilizado hoje em configurações, vem ganhando seu espaço para configurações de linguagens de programação e infraestrutura nas nuvens.

O uso do yaml ainda é muito dividido pois o Json e XML estão consolidados no mercado e tudo que é diferente é doloroso para migrar, apesar do formato existir desde 2001.

Hoje o Json é o preferido entre os desenvolvedores devido ao seu formato e facilidade de leitura, mas é sempre bom conhecer outras opções que outros formatos oferecem.

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

Java 18.

Dia 22 de Março de 2022 foi o lançamento da nova versão do Java, o Java 18.

A nova versão do JDK 18 vem com melhorias no desempenho, segurança e estabilidade.

A Oracle continua com o compromisso de entregas sequenciais de 6 em 6 meses.

A versão 18 contou com a colaboração de desenvolvedores Oracle e membros da comunidade OpenJdk para esta entrega.

O Java 18 passou para o estágio de Release Candidate, e a versão Java 17 como LTS, com suporte por 8 anos pela Oracle.

Novidades.

Vamos apresentar as novidades em melhorias e ferramentas que foram introduzidas na versão Java 18.

Jep 400 define o encode UTF-8 como padrão da Api Java.

Jep 408 implementa um servidor web simples, por meio de linha de comandos é possível iniciar um simples servidor web com arquivos estáticos.

Jep 416 Core Reflection com Method Handles para manipular o mecanismo subjacente para reflexão.

Jep 418 define uma interface de provedor de serviço (SPI) para resolução de nomes e endereço de host.

Jep 413 introduz a tag @snippet para o Doclet padrão do JavaDoc para simplificar a inclusão de código-fonte.

Conclusão.

Apesar de ser uma versão mais recente do Java, deve se atentar que se trata de uma versão release candidate com suporte de apenas 6 meses, a melhor opção seria o Java 17 com suporte lts de 8 anos.

Arduino e Display LCD 16×2 + Java.

Nesse Post vamos utilizar a placa Arduino nano e uma comunicação serial com Java e exibir as informações em um Display LCD 16X2.

Vamos demonstrar um pequeno teste capturando uma leitura serial via Java e exibindo em um display de LCD 16 colunas por 2 linhas.

Acesse o tutorial completo em: https://nakalabs.herokuapp.com/articles/arduinoDisplayJava.html.