Java

Descomplicando a Clean Architecture

A Clean Architecture foi criada por Robert C. Martin e promovida em seu livro Clean Architecture: A Craftsman’s Guide to Software Structure. Como outras filosofias de design de software, a Clean Architecture tenta fornecer uma metodologia a ser usada na codificação, a fim de facilitar o desenvolvimento códigos, permitir uma melhor manutenção, atualização e possuir […]

A Pirâmide de Testes

A “Pirâmide de Teste” é uma metáfora que nos diz para agrupar testes de software em diferentes granularidades. Também dá uma idéia de quantos testes devemos fazer em cada um desses grupos. Embora o conceito da pirâmide de teste já exista há algum tempo, as equipes ainda lutam para colocá-la em prática adequadamente. Se você […]

Java – Criando um annotation de validation utilizando validations já existentes (Creating custom validation annotation using built-in annotations)

O que são os Validations ? É uma especificação do Java que garante que as propriedades de um bean atendam a critérios específicos, usando anotações como @NotNull, @Min e @Max. ( vejá mais sobre a especificação ) Esse post, vou mostrar como criaremos um annotation de validation (javax.validation) utilizando como base as annotations já existentes, […]

Java – Configurando o Log (Logback) de sua aplicação para o Logstash (ELK)

Um dos grandes problemas de aplicações, são Logs, e para sua solução existem diversas ferramentas que ajudam a coletar, armazenar e monitorar. Nesse post vou mostrar como configurar sua aplicação para que a saída de log com o logback seja no formato dos coletores mais utilizados do mercado, o LogStash. O LogStash é um coletor […]

Java – Como definir o TimeZone da aplicação (How to set a JVM TimeZone Properly)

Esse ano foi determinado que o estado de São Paulo não haveria mais horário de verão, isso implicou em alguns problemas no setor de TI, muitos dispositivos mudaram automaticamente e a própria JVM deu alguns problemas, ao criarmos um new Date() por exemplo, o horário de verão estava presente. Isso aconteceu comigo em uma determinada […]

Gson – Criando um Adapter para conversão de data ISO em Date (ISO formatted date from JSON String using Gson)

O código abaixo representa uma configuração do Gson para realizar a conversão de um Json com campos de data em formato ISO para o objeto Date

Spring Boot – Caching

Em qualquer sistema o Cache é algo muito importante e muito utilizado, ao adicionar um sistema de cache em nossos sistemas, garantimos uma melhor performance evitando vários processamentos desnecessários, o Spring Boot fornece uma ferramenta incrível deixando a configuração e uso muito simples, usando apenas anotations. O exemplo a seguir irei seguir os passos da […]

Gradle / jUnit5 – Como criar tasks para executar testes com tags específicas ( JUnit5 tag-specific gradle task )

Em muitos projetos temos a necessidade de criar testes de integração, porém eles podem ser mais lentos, e não gostamos de executa-los sempre, para isso a ferramenta jUnit fornece as @Tag para que possamos filtrar a execução deles. A seguir vou inserir um gist mostrando como configurar uma task no Gradle para a execução de […]

Java / Web Service – Adicionando autenticação Basic no header do JAX-WS (Java Web Service client basic authentication)

Nesse post vou mostrar como adicionar uma autenticação no consumo de um Web Service utilizando as bibliotecas do jax-ws. Muitas implementações de Web Service utilizando Soap é necessário a implementação de autenticação, normalmente essa autenticação é adicionada no Header do pacote, porém o jax-ws quando é gerado normalmente não te da essa implementação, não te […]

Tomcat / Encoding – Forçando o Encode UTF-8 no Tomcat (Forcing Tomcat to use UTF-8 Character Set in Linux)

Recentemente estava passando por um problema no log de alguns sistemas, todas as acentuações estavam truncando, dificultando a leitura. Em nosso ambiente estavamos utilizando o Tomcat como servidor de aplicação, e percebemos que o sistema operacional não estava configurado com o charset UTF-8, como era um ambiente antigo e a equipe não tinha permissão para […]

Rolar para o topo