Lost in transaction
Bernd Ruecker talks about how determine the right level of consistency in distributed applications.
Bernd Ruecker talks about how determine the right level of consistency in distributed applications.
Evan You explains the principles behind the changes coming in Vue 3.0
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.
"As a Laravel developer, this is the one newsletter I most look forward to. Freek has a talent for distilling packages or techniques down to something immediately useful - one tip can save you hours and even weeks. It's concise and practical and highly relevant."
– jvns.ca
Julia Evans explains how parties like Facebook can follow you around the web.
In this post we’ll experiment a bit and see exactly how Facebook can know what products you’ve looked at online! I’m using Facebook as an example in this blog post just because it’s easy to find websites with Facebook tracking pixels on them but of course almost every internet advertising company does this kind of tracking.
Read more [jvns.ca]
For many years we've relied on Travis to run the tests of our packages. For projects we used Circle CI. Recently we moved this responsibility from Travis and Circle CI to GitHub actions. In this blogpost I'd like to explain why and how we did this.
Jonathan Reinink wrote another excellent blog post.
As much as possible, keep data fetching to the perimeter of your Laravel applications. What do I mean by this? In the simplest terms, it means running your database queries in your controllers.
Read more [reinink.ca]
TIL: in @laravelphp blade you can pass data up the main layout you are extending #laravel #php pic.twitter.com/IEWYHv0uyE
— Sidrit Trandafili (@strandafili) 23 december 2019
Read more [twitter.com]
– dev.to
Emma Bostian demonstrates some lesser known HTML elements.
HTML is a powerful markup language which can be used to give our web applications structure and provide powerful accessibility benefits, but only when used appropriately. Thus, today we’ll discover ten HTML elements you might not have known existed in the hopes that you can create more accessible, and structurally-sound web applications.
Read more [dev.to]
⚗️ One of the most common integrations developers struggle to test is Guzzle. Fortunately, it has a `MockHandler` you can set up to return predefined responses.
— Jason McCreary (@gonedark) 23 december 2019
Since it uses the existing `Client` and `Response` objects, there's no need to change your implementation. pic.twitter.com/Ui2Zyqj2Lt
Read more [twitter.com]
Sara Soueidan shares valueable insights on the importance of accessibility.
A few years ago I didn’t know what the term “accessibility” meant. I built Web sites that were partially inaccessible because I didn’t know better. Fast forward to today, I know enough to be able to write, speak and run workshops on accessibility, helping others build more a accessible and inclusive Web. Much like everyone else in our field, I am still learning. But since I started, I learned a lot of valuable lessons and core values that drive my work today. Here are a few of them.
Read more [www.24a11y.com]
In this video I demonstrate how to you can create a fluent API by using pending objects. We'll take a look at how subscribers can be created in Mailcoach. As a bonus I explain how jobs are dispatched using a pending object in Laravel.
These are my 10 favourite albums which were released in 2019, alphabetically sorted.
On the subscribers screens of the Mailcoach, you can filter out the subscribers that have a certain status, you can search and sort them.
In the video below, which is part of the upcoming Mailcoach video course, I explain how we built these filters, powered by three of our packages: laravel-query-builder, query-string and Blade X.
Laracon EU is an amazing conference I had the pleasure of attending these past years. Last week the videos of the 2019 edition have been released. You can see them all in this handy playlist on YouTube.
At the conference Marcel Pociot and I revealed Ignition and Flare. Relive that here:
TIL that there's a shorthand for the dreaded pluck('id')->toArray() combo in #Laravel:$user->posts->modelKeys() will return all related post IDs that are attached to the user model! 🔥https://t.co/imIPlVNjwi
— Alex (@AlexVanderbist) 19 november 2019
S/O to @rubenvanassche for telling me this existed 👌 pic.twitter.com/c3sANn52M8
Read more [twitter.com]
Brent explains what view models are and how you can use them. We use view models in almost every project at Spatie.
In essence, view models are simple classes that take some data, and transform it into something usable for the view. In this chapter I'll show you the basic principles of the pattern, we'll take a look at how they integrate in Laravel projects, and finally I'll show you how we use the pattern in one of our projects.
Read more [stitcher.io]
Here's a little tip: you can use `yield` in phpunit data providers to make them a little more readable pic.twitter.com/rQeKw7jBed
— Brent (@brendt_gd) 12 december 2019
Read more [twitter.com]
🔥 Like Model::query() to align subsequent calls, here's the world's simplest macro to do something similar in routes. pic.twitter.com/OzWJ7Fcx8F
— Paul Redmond 🇺🇸 (@paulredmond) 12 december 2019
Read more [twitter.com]
Nikita Popov discusses some low level performance optimizations in PHP.
– dev.to
David Khourshid explains how you can use state machines to make your logic more resilient.
Disabling a button is not logic. Rather, it is a sign that logic is fragile and bug-prone. In my opinion, disabling a button should only be a visual cue to the user that clicking the button will have no effect.
Read more [dev.to]