mvp_2

Separando responsabilidades no Android com MVP

Estamos familiarizados a trabalhar no Android com Activities e Fragments, e muitas vezes precisamos acessar dados via requisição, ou até mesmo de um banco de dados local, e exibir informações na tela do dispositivo para o usuário. Essa é uma tarefa que acontece quase que diariamente.

Se você sabe do que estou falando, já deve ter criado uma simples lista de algum JSON e exibido no seu RecyclerView, que foi declarado na sua Activity ou Fragment.

Nesse post, abordaremos como melhorar a separação das tarefas envolvidas nesse processo para otimizar nosso código e minimizar o acoplamento entre as camadas.

Leia Mais

Hello Spring Batch

Hello Spring Batch

Spring Batch

Spring Batch provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management. It also provides more advanced technical services and features that will enable extremely high-volume and high performance batch jobs through optimization and partitioning techniques. Simple as well as complex, high-volume batch jobs can leverage the framework in a highly scalable manner to process significant volumes of information.

Ok, isso é a definição da documentação oficial, mas e ai como eu uso esse negócio? Leia Mais

testinprogess

Sobre como testamos

Uma pergunta: Por que testamos? Por que fazemos testes? Me refiro a testes automatizados, desde o ponto de vista do desenvolvedor. De qualquer tipo. Pode ser unitários, de aceite, de integração ou até de performance. Quase todos passamos algum momento na nossa vida onde pensávamos que não era preciso testar nosso código. Porém, agora testamos como loucos, convencidos de que são necessários. Ou não? Leia Mais

scheduled-tasks

Execução de Jobs com Spring

Alguma vez já usou a execução de jobs do Spring? Realmente é muito simples. Simplesmente funciona sem muita parafernália. Porém, recentemente topamos com um problema num cenário onde não desejamos a execução. Mas vamos por partes. Primeiro, de forma rápida, vamos ver como configurar o seu projeto Spring-boot para permitir a execução de jobs, e depois planteamos e resolvemos o problema. Leia Mais

emotional-intelligence

Como ser um bom líder

Fale a verdade vai, todo mundo gostaria que esta resposta fosse fácil e ao acabar de ler o post, automaticamente, você se tornaria uma pessoa muito melhor do que era antes. Ou talvez você nem leia, pois já sabe que é um título para puxar a atenção dos inadvertidos. Bom … o mais provável é: quem sabe.

Quem sabe você esteja interessado em melhorar seu conhecimento em liderança, ou talvez melhorar seu conhecimento, quiçá apenas melhorar, as vezes sem saber o que. Pois bem, estou aqui justamente para expor um conhecimento que adquiri em um livro chamado “Liderança: A inteligência emocional na formação do líder de sucesso” e na ocasião eu não sabia exatamente o que eu gostaria de aprimorar.

Sim, eu também fui um desavisado e achei que pelo título o livro me mostraria tudo o que eu precisaria saber para ser uma pessoa melhor, porém ao invés disso só me fez parar pra pensar que uma pessoa não é intelectual pela quantidade de informação que ela já tem, mas sim pela vontade de aprender. Por isso gostaria de compartilhar um pouco do aprendizado sobre liderança e Inteligência Emocional para que você consiga expandir sua caixinha de ferramentas para lidar com as situações do seu dia-a-dia.
Leia Mais

sonatype

Publicando artefatos no Maven Central Repository

Dependências em seu projeto

Se você desenvolve software, certamente já precisou usar um framework ou uma biblioteca de terceiros para resolver algum problema e deixar de reescrever um tanto de código.

Várias linguagens e plataformas possuem suporte a gerenciamento de pacotes e dependências. No PHP temos o Composer [1]. Para projetos JavaScript que usam NodeJS existe o NPM [2] para manter os módulos. Em projetos Ruby, usamos o rubygems [3], mas usamos o Bundler [4] para controle das Gems nos projetos de forma mais descritiva e de alto nível de abstração do rubygems. Já o Python possui o pypi [5] para cuidar dos pacotes ou seja-lá-que-nome-eles-dão para as dependências. Leia Mais

Manipulando arrays no JavaScript

Manipulando arrays no JavaScript

É  bem comum que nos projetos de front-end a gente tenha que fazer páginas com  relatórios, listas de produtos, listas de preços, lista de mensagens, listas disto, daquilo e daquilo outro. E não são raras as vezes que temos que fazer operações matemáticas com valores dentro de arrays. Pensando nisso, hoje vamos falar um pouco sobre alguns métodos que são disponibilizados pela classe Array do JavaScript  e mostraremos também alguns cenários onde o uso deles pode facilitar a vida do desenvolvedor com soluções simples e elegantes.   Leia Mais

showmesomecode

MapStruct – Mapeando seus DTOs para Model

A utilização de DTOs é bastante conhecida na comunidade de desenvolvimento, mas afinal, o que são? Onde vivem? Do que se alimentam? Leia Mais

refusing-to-tackle-technical-debt

Débito Técnico

Se você já trabalhou em algum projeto ágil, com certeza você sabe muito bem sobre o que este post irá tratar, porém, se você ainda não tem muito conhecimento em processos (ágil principalmente), comece por aqui.

Vamos falar de uma coisa bastante polêmica; odiado por uns, defendido por outros e está bastante relacionado com projetos ágeis, o porquê de tudo isso? Veremos.

Leia Mais

PHP 7.X – Novidades

PHP 7.X – Novidades

O objetivo desse post é colocar de uma forma simples e reunida as principais features do PHP 7 e comentar um pouco em como essas novidades podem auxiliar no dia-a-dia do desenvolvedor.

Leia Mais