Java Entendendo um ArrayList Um array tem uma deficiência gritante: você precisa saber quantos elementos serão necessários no array ao criá-lo e, em seguida, você fica preso a essa escolha. Assim como um StringBuilder, um ArrayList pode alterar a capacidade em tempo de execução conforme necessário. Como um array, um ArrayList é uma sequência
Java Projetando Métodos: Java Todo programa interessante Java que já vimos, tinha um método main(). Você pode escrever outros métodos também. Por exemplo, você pode escrever um método básico para tirar uma soneca, como mostrado na figura abaixo: Isto é conhecido como uma declaração de método, o qual especifica toda informação necessária para chamar
Mockito Java - Introdução ao Mockito com JUnit Mockito é um framework open-source que nos permite criar facilmente double tests (mocks). Um double test é um termo genérico para qualquer caso em que substituímos um objeto de produção para fins de teste. No Mockito, geralmente trabalhamos com os seguintes tipos de double tests: Stubs – São objetos que possuem
Arquitetura de Software O que é Arquitetura de Software? Antes de se aprofundar na Arquitetura Hexagonal, vamos esclarecer o que é Arquitetura de Software. Existem muitos especialistas famosos no mundo do software que criaram suas próprias definições sobre Arquitetura de Software. Grady Booch, um grande colaborador da indústria de software que co-desenvolveu a linguagem de modelagem UML, referiu-se à
Java Java: Entendendo Polimorfismo Java suporta polimorfismo, a propriedade de um objeto assumir diferentes formas. Mais precisamente, um objeto Java pode ser acessado usando a referência com o mesmo tipo como um objeto, uma referência que é a superclasse do objeto, ou uma referência que define uma interface que o objeto implementa, tanto diretamente
Java Java 8: Lambdas e Interfaces Funcionais Em Java 8 foi adicionada a habilidade de escrever código usando Programação Funcional, a qual é uma maneira de escrever código de forma mais declarativa. Você especifica o que deseja ao invés de lidar com o estado dos objetos. Você foca mais em expressões do que em loops. Programação Funcional
Microsserviços Microsserviços Patterns: Gerenciando transações com SAGA Em microsserviços, uma das maiores preocupações era como implementar transações que abrangessem vários serviços. Transações são um ingrediente essencial de todos os aplicativos corporativos. Sem transações seria impossível manter a consistência dos dados. ACID (Atomicidade, Consistência, Isolamento, Durabilidade) são transações que simplificam enormemente o trabalho do desenvolvedor, provendo a ilusão
Angular Angular.js Unit Testing Um dos recursos mais importantes do Angular.js é a feature de testes. Quando os desenvolvedores do Google desenvolveram o Angular, eles mantiveram os testes em mente e garantiram que toda a estrutura do Angular fosse testável. No Angular, os testes são realizados usando o Karma, um framework com funcionalidades