These are some notes on stuff I discovered when delving into running Sneakers workers on Kube recently.
Sneakers has good graceful shutdown handling built-in. When it receives SIGTERM, Sneakers will:
As a fledgling programmer you’re bombarded by commandments telling you what’s considered right programming and wrong programming. These edicts can seem very useful and on the surface seem irrefutable. But if they are applied without deeper thought they can do more harm than good. One of the worst offenders is…
This article summaries a solution to the problem of calling and listing commands in Symfony Console when at least one of the commands is not instantiable.
By default, Symfony will instantiate all your application’s commands when initialising. …
Here’s an example of a composite value object. It’s a user that has two subtypes: an email address and a name.
final class User
In this article I explain why I’ve grown to accept trailing commas in code. Consider the following two examples:
$characters = [
$characters = [
Which one looks neater?
Personally I think B is neater. It’s also grammatically correct. The…
I’m going to share a few optimisations you can make to speed up
composer installs in Docker builds.
Prestissimo is a spiffing plugin for Composer which parallelises all the downloads. You just have to install it to see sometimes large speed increases…
At my company, Funeral Zone, we’re into Domain Driven Design. We’ve been writing value objects in PHP for two years but have recently refined our approach. This article explains our philosophy behind implementing value objects in PHP 7.
We’ve open-sourced our value objects library on Github.
A value object is…
On December 7th 2017 I gave a talk at Tech Exeter about event sourcing.
In a nutshell, event sourcing is about changing your persistence strategy to be event-centric as opposed to data-centric.
Tech Exeter is a community, conference and co-working space for tech people in Exeter, UK.