Java

Controlando transações de status com Finite State Machine – Parte 2

Dando continuidade a primeira parte dessa série sobre FSM, agora iremos por um pouco a mão na massa! Show me the Code!  Para por a mão na massa primeiro precisaremos de um projeto e um problema, assim mostraremos uma solução!  O projeto que será apresentado se chama “PokeCatcher State Machine” desenvolveremos um software que irá simular […]

Controlando transações de status com Finite State Machine – Parte 1

Uma máquina de estados finitos (FSMs) é um modelo de computação baseado em uma máquina hipotética composta de um ou mais estados. Apenas um único estado desta máquina pode estar ativo ao mesmo tempo. Isso significa que a máquina deve fazer a transição de um estado para outro para realizar diferentes ações. Sendo considerada um […]

Spring – @Valid não funciona após atualização do Spring 2.3.X ?

Após a versão 2.3.X do Spring Boot Framework podemos notar que o recurso de validação do javax.validation ( ex: @ Valid, @ NotNull, @ Min, @ Max ) podem ter parado de funcionar, normalmente porque eles utilizavam o hibernate-validator como implementação da especificação, porém apartir dessa versão foi retirado das dependências diretas do web-starter . […]

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 […]

Rolar para o topo