4 Ways The Laravel Service Container Helps Us Managing Our Dependencies

christoph-rumpel.com

Christoph Rumpel wrote a clear post on how you can use Laravel's service container.

The service container is a quite complex topic, and I see many struggling to understand what it does. It was the same for me, and the main reason is that many explanations concentrate on "how" to use the container. With this article, I want to give you my introduction to this topic by focusing on the "why" and "when" the container can help us with our dependencies.

Read more [christoph-rumpel.com]

10 rules to code like NASA (applied to interpreted languages)

dev.to

Here a some great tips on how to write robust software.

NASA's JPL, which is responsible for some of the most awesomest science out there, is quite famous for its Power of 10 rules (see original paper). Indeed, if you are going to send a robot on Mars with a 40 minutes ping and no physical access to it then you pretty damn well should make sure that your code doesn't have bugs.

Read more [dev.to]

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Laravel and Murphy’s Law

medium.com

Patrick Brouwers, the creator of Laravel Excel, explains how to handle failing jobs in Laravel

When designing software, don’t only think about the happy path. Write down (preferably with (unit) tests) what all the things are that could go wrong. Then design your solution to be able to recover those situations. (Wether or not automatic.) There isn’t a single solution to rule them all, some processes might need to have specific failure handling while others are fine with the default approach.

Read more [medium.com]

Some Shifty Bits

jasonmccreary.me

Laravel Shift creator JMac did a write up of the talk he gave at this year's Laracon US

I received a lot of valuable feedback from these talks. So I combined them by using analytics from Shift to identify underutilized features of Laravel and demonstrate them with code.

Read more [jasonmccreary.me]

Cost & Performance optimization in Laravel Vapor

divinglaravel.com

Mohammed Said shares some solid tips on optimizing costs when working in a serverless environment like Laravel Vapor

Laravel Vapor uses different AWS resources to efficiently get your application up and running in the serverless cloud. The building block of the whole thing is AWS Lambda, it's where the actual computing happens. Calculating the cost of the compute part for your application can be a bit confusing, so let's simplify it a bit with an example.

Read more [divinglaravel.com]

Viewing model counts in the Laravel Debugbar

reinink.ca

Jonathan Reinink has added a very usefull metric to Laravel debugbar

Last week at Laracon US I gave a talk titled Eloquent Performance Patterns. In that talk I used a custom Laravel Debugbar metric I created to track how many Eloquent models were being hydrated throughout a request. I've had a lot of people asking about this, so today I submitted a pull request to the Laravel Debugbar to add this as an official metric.

Read more [reinink.ca]

Why Build X When Y Exists?

davidhemphill.com

In a new post David Hemphill argues that you sure can (re)build something that already exists. I fully agree.

Some folks ask this rhetorically, implying there's no good reason when something similar already exists. They ask this question with a smug grin and think they've got you.

Read more [davidhemphill.com]

There’s more than one way to write an IP address

ma.ttias.be

Mattias Geniar explains all the ways an IP address can be written.

Most of us write our IP addresses the way we've been taught, a long time ago: 127.0.0.1, 10.0.2.1, ... but that gets boring after a while, doesn't it. Luckily, there's a couple of ways to write an IP address, so you can mess with coworkers, clients or use it as a security measure to bypass certain (input) filters.

Read more [ma.ttias.be]

Run and stop multiple long-running commands from Bash with a trap

liamhammett.com

Liam Hammett explains how you can use the trap command to stop multiple bash process in one go.

Sometimes when working on a project, I’ll always want to run a handful of commands at the same time, some of which may return when they’re done, others might be long-running, like watchers or services actively exposing ports. This is something that might seem simple to do with a basic Bash script at first, but what if your script has multiple processes running side-by-side and you want to be able to stop them all at once too?

Read more [liamhammett.com]

Domain Events vs. Event Sourcing

www.innoq.com

Christan Stettler wrote an interesting post on why domain events and event sourcing should not be mixed up.

Event sourcing and domain events can of course be used both at the same time, but should not influence each other. The two concepts are used for different purposes and should therefore not be mixed.

Read more [www.innoq.com]

The €963 Book Launch That Made Me Wish To Get Back To My Secured Job

christoph-rumpel.com

Christoph Rumpel wrote an honest lookback at the launch of his book. I takes courage to publish a post like these. Well done!

Exactly 365 days ago, I released my first ebook. I always wanted to share my experiences about it, but I never felt comfortable enough to do so. The project didn't turn out as expected, and I felt embarrassed. It's time to finally reflect it and to overcome my fears.

Read more [christoph-rumpel.com]

Implementing event sourcing: testing aggregates original

by Freek Van der Herten – 4 minute read

Earlier this year we released v2 of laravel-event-sourcing. This package is probably the easiest way to getting started with event sourcing in Laravel. A significant feature of v2 was the addition of aggregates.

Today we released another new version of the package that adds test methods. These methods allow you to verify if the aggregate behaves correctly. In this post, I'll show you an example and explain how the test methods are implemented.

These test methods were inspired by the awesome testing methods Frank De Jonge made in his Eventsauce package.

Read more