Python – Executando processos paralelos em Threads

O Python nos fornece recursos para paralelismo, esses recursos se encontram no package multiprocessing multiprocessing is a package that supports spawning processes using an API similar to the threading module. The multiprocessing package offers both local and remote concurrency, effectively side-stepping the Global Interpreter Lock by using subprocesses instead of threads. Due to this, the […]

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

Linux – Aumentando o espaço de Swap (How to increase swap space)

Nesse post demonstrarei como aumentar o espaço de swap do computador, no caso realizei esses procedimentos no Ubuntu 18.04 mas acredito ser compatíveis com demais sistemas e versões. Ultimamente em meu computador tenho sofrido com a falta de RAM, no caso tinha 8GB mas minha demanda de trabalho exigia mais, como tenho um SSD relativamente […]

Python – Fazendo mock de um método de um Objeto

O pacote unittest.mock nos fornece inumeras possíbilidades, uma delas é fazer um mock de uma função específica de determinado objeto, deixando-o bem explicito. Para isso vamos utilizar o recurso patch.object descrito em sua documentação: https://docs.python.org/3/library/unittest.mock.html#patch-object Podemos também dizer qual o comportamento esperado, ou o que deve ser retornado, apenas adicionando o argumento return_value :

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

MySQL – Problemas na inserção de emoticon (Incorrect string value: ‘\xF0\x9F\x98\x94’ for column ‘column’ at row 1)

Se alguém já se deparou com esse problema, sabe que é devido ao fato de tentarmos inserir um ’emoticon’ em um coluna de nosso banco de dados. Ao criarmos um banco de dados não nos importamos inicialmente com o CHARSET e COLLATE dele, porém é de extrema importância dependendo de seu uso. Normalmente o banco […]

Rolar para o topo