Engineering

160 posts
The easiest production-ready image to run your Laravel application

The easiest production-ready image to run your Laravel application

It’s no secret that we are big fans of Docker during our daily development work. It’s still one of the easiest ways to ensure a common working environment when developing locally and avoid the “It works on my machine” arguments. Even Laravel ships with a default Docker-based environment...

Running PHPUnit with PHPStorm

Running PHPUnit with PHPStorm

When writing tests, I often find myself switching between the IDE and terminal windows to actually run the tests. On projects with very large test suites this would often lead to situations where I’d spend time waiting for all the tests to finish. I’d get distracted with something...

Improving performance and reliability of client's core business component using a simple running total

Improving performance and reliability of client's core business component using a simple running total

A client project I work on required some processing, scheduled nightly at 2am. I’m a curious creature, by nature, so I was eager to learn what keeps the queues busy for up to 30 minutes in the middle of the night. It must have been something important! The business...

Performance tips for Laravel

Performance tips for Laravel

Recently, we were looking into some Laravel PHP8 performance issues we were experiencing on one screen of a web application. This screen would show an aggregation of several statistics across the application and would include things like: * The total number of tickets, grouped by their status (open, closed, …) * The total...

Merging 4 codebases with help of Rector

Merging 4 codebases with help of Rector

The set up When developing software, you sometimes come up with ideas that in the end don’t really work out. Depending on the idea and on the time spent finding out it’s a bad idea, it can be challenging to turn back the changes. One of those ideas...

Improving Docker performance for macOS

Improving Docker performance for macOS

One of the most important things when starting to work on a project is to set up a local development environment. For me, this should have the following requirements: * Easy to install, preferably a one-click/command solution * Reproducible across multiple host machines, by everyone in the team Very often, our...

Adding temporary code

Adding temporary code

We all had to do it at some point. We’ve all been in the situation where we needed to add some code — maybe a CLI command — just for a one-off operation. Or maybe the code would be needed just for the next month. We promise ourselves to get back...

Laravel's Polymorphic relationships and Polymorphism

Laravel's Polymorphic relationships and Polymorphism

As many of you know Laravel provides a concept for dealing with Polymorphism in Eloquent relationships called “Polymorphic Relationships“. It’s a nice abstraction, but if you are not careful it might lead to a lot of type checking at runtime all over the place. There’s nothing wrong with...

Effectively using Facades and Hexagonal Architecture to separate bounded contexts

Effectively using Facades and Hexagonal Architecture to separate bounded contexts

Separating your bounded contexts A challenge when implementing bounded contexts is managing the dependencies between them. We always aim to make bounded contexts as independent as possible, but making them completely independent is impossible and unwanted. Software tends to be useful only when the different parts talk to each other....

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.