Skip to content

Português

Null Object

Null Object Design Pattern logo

Null Object é um design pattern comportamental baseado em herança que cria representações válidas de objetos null em um sistema, de modo a evitar que se retorne um null quando um objeto é esperado, por consequência, gerando null checks para evitar que exceções NullPointerException sejam lançadas e comportamentos inesperados sejam apresentados.

Introdução

É comum escrever métodos que retornem null em situações onde a informação requisitada não está presente ou algumas condições não são atendidas para executar um determinado trecho de código. Entretanto, as vezes este tipo de comportamento é mal documentado e acaba pegando outros desenvolvedores de surpresa quando estes decidem utilizar uma API, além disso, isto pode forçar tais desenvolvedores a escreverem inúmeros null checks a fim de evitar exceções de runtime.

De qualquer modo, o código da aplicação pode se tornar pouco coeso e pouco limpo, pois agora aquele trecho de código também precisa lidar com as situações onde um null é possível, tendo assim que tomar decisões que inicialmente não seriam de sua responsabilidade.

O design pattern Null Object vem para trabalhar neste problema, de um modo que basicamente, ao invés de simplesmente retornar um null onde um objeto da classe Foo era esperado, ele retorna um objeto que é subclasse de Foo em um estado válido para ser utilizado em tempo de execução, aderindo ao contrato de Foo.

Read More »Null Object

Habilitar o acesso remoto no MySQL

Esse tutorial irá mostrar como habilitar o acesso remoto no MySQL, de modo que ele aceite conexões a partir de uma rede ao invés de somente conexões locais.

O Problema

Um MySQL recém instalado possui o acesso remoto desabiitado por padrão por motivos de segurança, entretanto, o acesso pode ser habilitado em apenas alguns passos.
É importante mencionar que a solução a seguir foi testada no CentOS 7.2, mas é bem provável que também funciona em outras versões e/ou distribuições do Linux.
Iremos diretamente para a solução para fazer com que seu MySQL fique disponível para ser acessado remotamente, mas você irá encontrar uma explicação detalhada no final deste tutorial.

Read More »Habilitar o acesso remoto no MySQL

Start, Stop e Restart Wildfly

Wildfly logo

Se sua memória é como a minha, daquelas que gostam de pregar peças em você, então este é o seu tutorial! Abaixo você verá os três comandos mais importantes para iniciar (start), parar (stop) e reiniciar (restart) o Wildfly e demais releases do JBoss. Além disso, veremos um comando extra para iniciá-lo em modo domain.

Read More »Start, Stop e Restart Wildfly

Builder

Builder Design Pattern Logo

Builder é um design pattern criacional que foca no desacoplamento entre a complexa lógica de construção e a representação de um objeto.

Introdução

As vezes a construção de um objeto pode ser complexa, devido a validações de parâmetros, busca de informações em arquivos ou bases de dados, ou até mesmo pela quantidade de parâmetros que um construtor espera receber. Nestes casos, se você “misturar” a lógica de criação do objeto com a lógica que define seu comportamento, você poderá acabar por ter uma classe pouco coesa e difícil de reaproveitar.

O design pattern Builder vem para resolver este problema, colocando tanto a lógica criacional quanto a lógica comportamental eu seus devidos lugares, por proporcionar o encapsulamento da construção de um objeto, de um modo tão claro que você poderá até desenvolver diferentes implementações para a criação de um mesmo objeto ou de um mesmo builder.

Read More »Builder

Design Patterns

Design Patterns Logo Image


Design patterns (padrões de projeto) são uma coleção de soluções abstratas para problemas recorrentes no desenvolvimento de software orientado a objetos. Essas soluções são apresentadas na forma de templates que podem ser aplicados em diferentes situações e diferentes linguanges de programação, porém com estrutura similar, provendo uma solução que contribui para a flexibilidade, extensibilidade, portabilidade e reúso de código da aplicação.

Read More »Design Patterns

Ruby Hello World

Ruby Logo


Este tutorial irá mostrar como escrever um Hello World em Ruby e te apresentar um conhecimento básico e inicial sobre a linguagem de programação.

Porque o Ruby?

Como um desenvolvedor Java há quatro anos, sempre tive a curiosidade de aprender uma nova linguagem orientada a objetos. Dado um ótimo feedback que recebi em uma entrevista de emprego há algumas semanas, e a algumas pesquisas no cenário de desenvolvimento de software internacional, descobri que dominar apenas uma linguagem pode não ser o bastante.

Especialistas são muito bem reconhecidos em suas áreas de atuação no desenvolvimento de software (e eu realmente pretendo me tornar um em Java), mas o dinamismo dos negócios expande seus requisitos todo dia, e por consequência, requer profissionais cada vez mais versáteis.

Dadas estas experiências e observações, e seguindo o caminho de muitos desenvolvedores respeitados na comunidade juntamente com interesse pessoal, decidi finalmente dedicar uma importante parte do meu tempo para estudar uma nova linguagem, então, Ruby foi a escolhida!

Já li bastante sobre a linguagem, porém, irei dedicar este post a um simples Hello World para não prolongá-lo tanto.

Read More »Ruby Hello World

Alterar o JRE do Eclipse

Este tutorial irá mostrar como alterar o JRE do Eclipse, de modo a forçar o Eclipse à utilizar a JVM especificada.
Esta abordagem é muito útil caso você necessite que seu Eclipse seja executado por uma JVM diferente da especificada em sua variável de ambiente PATH, ou até mesmo se essa variável não existir. Além disso, irá possibilitar a utilização de versões portable da JRE, e resolver o erro No Java Virtual machine was found.

Read More »Alterar o JRE do Eclipse