Link

Apache Commons Validator.

O Apache Commons Validator é uma biblioteca que auxilia na validação de campos sem a necessidade de utilizar algoritmos complexos.

São vários campos que podemos validar, desde e-mail até número de cartão de crédito.

Apesar dessas validações serem feitas geralmente na camada de front, existem casos onde precisamos validar em back.

Em soluções de API para integração, essa biblioteca pode ser bem útil, eliminando a necessidade de criar algoritmos de validação.

Além de ser extremamente útil para algumas aplicações, é muito fácil de instalar e utilizar.

Acesse o tutorial completo em: https://nakatech.herokuapp.com/article/2021/apacheValidator.htmlhttps://nakatech.herokuapp.com/article/2021/apacheValidator.html.

Link

Apache ArrayUtils.

A Apache fornece através da biblioteca Apache lang3 várias ferramentas úteis para facilitar o desenvolvimento de códigos Java.

Uma delas é o ArrayUtils, onde é disponibilizado ferramentas úteis para trabalhar com Arrays.

A ferramenta deixa a utilização do Array muito próximo do List.

Pode parecer besteira a utilização do Array como List, mas imagine códigos legados onde usam Array com códigos complexos para atender algumas deficiência do Array.

Com ArrayUtils podemos refatorar códigos legados com uma certa segurança.

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

Apache StringUtils.

Você já utilizou a ferramenta StringUtils da Apache no seu projeto Java?

Para quem trabalha com Java, sabe que o que mais acontece são erros com variáveis null.

Quem nunca teve um problema em produção de NullpointerException, onde você testou várias vezes, mas em produção acabou dando erro?

Isso acontece pois muitas vezes não conseguimos testar todos os casos, mas o StringUtils ajuda a evitar esses tipos de problemas.

O StringUtils reduz os números de erros de ponteiros nulos e resolve várias lógicas complexas que geralmente deixam o código mais confuso e suscetível a erros.

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

Link

Apache OpenNLP.

Hoje, quando falamos de ferramentas para Data Science e Machine Learning lembramos do Python.

Mas a maioria das linguagens de programação tem sua biblioteca para essa finalidade.

O Java possui várias bibliotecas para Machine Learning e Data Science, nesse Post vamos falar sobre o uso da biblioteca OpenNLP da Apache.

O OpenNLP é utilizado para tokenizar, reconhecer nomes, línguas, entre outras capacidades utilizadas em Data Science e Machine Learning.

O projeto é totalmente open source e mantido por desenvolvedores voluntários.

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

Link

Spring boot + ws Soap.

https://nakatech.herokuapp.com/img/works/20200705/index.jpeg

Nesse Post vamos criar um exemplo de web service Soap utilizando Spring boot e Apache CXF.

Vamos utilizar o Spring boot para executar o bootstrap e o Apache CXF para facilitar o desenvolvimento da web service Soap.

Todo trabalho pesado em criar os contratos wsdl é criado de forma simples pela lib Apache CXF.

Atualmente a tecnologia de web service Rest é mais utilizado para expor serviços, mas pode existir casos onde seja necessário o uso de web service Soap.

Mostraremos um exemplo simples mas funcional que demonstra a facilidade de expor um web service Soap.

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

Apache Spark.

Processar uma grande massa de dados para extrair informações e armazenar como acontece em sistemas de Big Data pode ficar mais simples com a ajuda do Apache Spark.

O Apache Spark é uma ferramenta para Big Data que facilita esse trabalho com a proposta de ser bem rápida e eficaz.

A ferramenta também é bem flexível, ele pode ser executada em linguagens como Java, Scala, Clojure, R e Python.

Uma grande vantagem em utilizar o Spark em vez de outras ferramentas Big Data como Hadoop é a possibilidade de integrar ferramentas como:

  • Spark SQL: criando a capacidade de fazer consultas SQL sobre os dados;
  • Spark MLlib: onde possibilitamos criar uma capacidade de aprendizado de máquina para criação, filtragem e redução de dados;
  • Spark GraphX: Adiciona a capacidade de computação baseada em grafos e paralelas;
  • Spark Streaming: Possibilita o processamento de dados via stream em tempo real.

Uma característica do Apache Spark é evitar o deslocamento dos dados durante o processamento, movendo os dados para uma memória fazendo uma otimização no tempo de processamento.

Testes com Spark e Python.

O pré requisito para instalação é ter instalado na máquina um Python com a versão maior que 2.7 e o Pip.

Para instalar a PySpark digite no terminal:
$pip install pyspark

Vamos fazer alguns testes de mapeamento e transformação de dados com Apache Spark e Python.

Crie um arquivo com o texto abaixo e grave como “sucesso.txt” :

O sucesso é construído à noite! Durante o dia você faz o que todos fazem. Não conheço ninguém que conseguiu realizar seu sonho sem sacrificar feriados e domingos pelo menos uma centena de vezes.

Da mesma forma, se você quiser construir uma relação amiga com seus filhos, terá que se dedicar a isso, superar o cansaço, arrumar tempo para ficar com eles, deixar de lado o orgulho e o comodismo.

Se quiser um casamento gratificante, terá que investir tempo, energia e sentimentos nesse objetivo.

O sucesso é construído à noite! Durante o dia você faz o que todos fazem. Mas, para obter resultado diferente da maioria, você tem que ser especial. Se fizer igual a todo mundo, obterá os mesmos resultados.

Não se compare à maioria, pois infelizmente ela não é modelo de sucesso. Se você quiser atingir uma meta especial, terá que estudar no horário em que os outros estão tomando chope com batatas fritas. Terá de planejar, enquanto os outros permanecem à frente da televisão. Terá de trabalhar enquanto os outros tomam sol à beira da piscina.

A realização de um sonho depende de dedicação. Há muita gente que espera que o sonho se realize por mágica. Mas toda mágica é ilusão. A ilusão não tira ninguém de onde está. Ilusão é combustível de perdedores.

“Quem quer fazer alguma coisa, encontra um meio. Quem não quer fazer nada, encontra uma desculpa.”

(Roberto Shinyashiki)

Vamos importar o Apache Spark:
>>> import pyspark
>>> from pyspark import SparkContext
>>> sc = SparkContext()

Vamos carregar o texto em uma variável:
>>> sucessoRDD = sc.textFile("sucesso.txt")

Agora vamos conferir se o texto foi carregado:
>>> sucessoRDD.collect()

Vamos capturar o primeiro parágrafo:
>>> sucessoRDD.first()

Vamos capturar as 5 primeiras frases:
>>> sucessoRDD.take(5)

Vamos fazer uma transformação, separando cada palavra e armazenando em uma variável:
>>> flatMappedConfusion = sucessoRDD.flatMap(lambda line : line.split(" "))
>>> flatMappedConfusion.take(5)

Vamos contar o número de palavras:
>>> flatMappedConfusion.count()

Conclusão.

Com Apache Spark, trabalhos de coleta e processamento de dados ficam bem mais simples e rápido pois além de eficiente, o Spark tornam as tarefas muito mais rápidas e simples de implementar.

Link

Apache Camel.

O Apache Camel é um framework de integração que reduz e abstrai as complexidades de tarefas de integrações.

Com Apache Camel não nos preocupamos com tarefas árduas de integração, utilizamos componentes que compõem framework’s com boas práticas.

Basicamente a tarefa do programador é configurar a origem e destino da mensagem por meio de um processo Builder que define o roteamento.

A facilidade de utilização do Domain Specific Languages (DSL) para integrar os componentes é uma das qualidades do framework.

Além disso podemos fazer por meio de um processo de Mediation aplicar regras de transformação.

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