avatar

Guilherme Caraciolo

Software Engineer

Reasoning about Laravel, VueJS and programming in general.

July 12, 2024

PHP max_input_vars

Eu sempre achava estranho que alguns sites fazem cast do body da requisição para string mas nunca pesquisei o motivo. Recentemente descobri sem querer o por quê. No zapmizer, a funcionalidade de campanha envia uma requisição com as mensagens e os...

Ler mais →

July 12, 2024

PHP Output Buffering

https://www.php.net/manual/en/outcontrol.output-buffering.php Output buffering is the buffering (temporary storage) of output before it is flushed (sent and discarded) to the browser (in a web context) or to the shell (on the command line). While...

Ler mais →

July 9, 2024

BelongsToMany vs HasManyThrough

Laravel provides two abstractions to interact with a table that depends on an intermediate table: belongsToMany and hasManyThrough. This relation is used to model a many-to-many relation. The intermediate table has both keys to the tables being...

Ler mais →

November 22, 2023

Free geographical location and currency of website visitors

Many of the applications I have worked with wanted to know the location of it's users. Until know, my way to go to gather this information was using some geoip api wrapped by laravel-geoip. It's a simple to use this lib: just setup the environment...

Ler mais →

April 11, 2023

Reflexão sobre responder a mudanças

Ontem na pós, a turma foi dividida em quatro grupos e cada grupo recebeu um dos princípios ágeis para debater. O meu grupo ficou com o princípio "Responder a mudanças no lugar de seguir um plano". O curso tem pessoas de diversas áreas e nem todas...

Ler mais →

February 5, 2022

Unreliable Laravel SQS Queue

Recently I was trying to understanding why some Laravel Jobs weren't being executed. Looking at the failed jobs I realized that some jobs haven't even started in the first place, which made me thought that the problem wasn't in my code. So I decided to...

Ler mais →

October 30, 2021

O custo da má nomenclatura

Você já precisou alterar um software em que existem métodos com assinaturas do tipo setSomething, add, remove, etc; e dentro desses métodos existem dezenas de linha de código com regras de negócio complexas? Nessas situações, a...

Ler mais →