Hi there!
Welcome to the 165th freek.dev newsletter!
Here are a couple of links I hope you'll enjoy as much as I did.
⭐ Visualising Laravel and Horizon metrics using Prometheus and Grafana
I'm proud to announce that we've released a new package called spatie/laravel-prometheus. Using this package, you can send all sorts of metrics (user counts, subscription counts, queue workloads) around your Laravel to Prometheus and visualize the historical trends using Grafana.
How we use CSS custom properties to customize your newsletter archive
Here's an interesting technique that we use in Mailcoach.
Dreaming of nested properties in PHP
My colleague Seb has an interesting though on a future PHP feature.
Usage Laravel and ChatGPT "Function calling"
Recently, OpenAI released an update for ChatGPT, introducing new features that allow developers to describe language model functions. Let's leverage this new functionality in Laravel
Thoughts on event sourcing: Replaying events
I don’t believe in the promise of cheap replays in event sourcing. They come with a cost, but can be very useful for the right problems.
Read-only web apps
If you’re about to build a web app and you’re pretty sure it requires JavaScript, why not pause and consider whether you can provide a read-only version.
Use ray()->trace() to figure out where a call came from
An important problem of a programmer's productivity is finding his way through the code. A good project structure and your IDE can get you a long way, but sometimes it’s not enough.
Testing mails in Laravel using Ray
In this post, you'll learn how Ray can help you preview emails in your local environment and how it can simplify the process of developing and testing email workflows in Laravel.
Watch the keynote of Tailwind Connect 2023
The keynote of Tailwind Connect 2023 took place on June 20th, 2023, featuring presentations from Adam Wathan, Sam Selikoff, and Steve Schoger.
Why talking to users is a must for every product team
We can’t possibly build products that are useful, let alone delightful, if we don’t frequently talk to the people who’ll use it.
Laravel Envoy - Automate the boring stuff
Explore how Laravel Envoy can help increase your productivity by automating the boring stuff.
Fibonacci Agile Estimation
The Fibonacci sequence is one popular scoring scale for estimating agile story points
Sending a request with HMAC SHA256 signature using Postman
Here's how my colleague Ruben managed to do this in Flare.
Introducing laravel-backup-restore
Do you create automated backups of your database? Are you sure they work? laravel-backup-restore is a new package than can help you verify the integrity of your backups.
Locality of Behaviour
Locality is that characteristic of source code that enables a programmer to understand that source by looking at only a small portion of it.
A first look at Filamentphp
In this article, I take a first look at Filament and show you how to set it up and take your first steps. You'll be amazed at how much you can get done in a short amount of time! This article is part of a series where I'll build an app that shows in what fly.io regions it has been deployed, and I'll add a neat party trick at the end. Stay tuned!
Rust for PHP developers
A good introduction to Rust given by Nuno at the PHP UK Conference this year.
Interface Default Methods: a PHP proposal
Brent explains a nice potential addition to PHP.
Community links
In this section you'll find links submitted by others. Let me know if you did write or stumbled across a blog post, tutorial or video that might be interesting to appear in this section
Generate Laravel migrations from an existing database (submitted by Leonardo Poletto)
Setting Up a Laravel Application on EC2 Instance (submitted by Set Kyar Wa Lar)
Practical example of using interface in PHP (submitted by Aniket Magadum)
Behind the Dev: Caneco (submitted by Ash Allen)
Avoid global variables in JavaScript (submitted by Boris Lepikhin)
Migrate passwords from a legacy PHP application to Laravel (submitted by Leonardo Poletto)
Laravel, React, and Inertia SSR on Fly.io! (submitted by Kathryn Anne Tan)
Grafana with Prometheus for Traefik in minikube (submitted by Andrej)
Speed up GitHub Actions by caching Composer, Rector, & Pint (submitted by Geni Jaho)
Invalidating sessions on other devices on Laravel (submitted by Leonardo Poletto)
Alpine AJAX (submitted by Christian Taylor)
Using PHP Enums in Laravel to store additional information (submitted by Chris Rhymes)
Debugging Tests: A look into assertCommandCalled (submitted by Kathryn Anne Tan)
Increase the timeout of Laravel Valet (submitted by Yoeri)
How to install, configure and use SQLite with Laravel on Windows (submitted by Wilo Ahadi)
Inspecting HTTP Response Headers Without Downloading Body with Guzzle (submitted by Chris White)
Old posts
Here are a couple of links from a while ago!
Things You Should Know About Databases
Why DRY is the most over-rated programming principle
My Wonderful HTML Email Workflow
An Engineer’s Best Tips for Writing Documentation Devs Love
Introducing sidecar-browsershot
Using Laravel Vite to automatically refresh your browser when changing a Blade file
Making Vite and Valet play nice together
What is complexity? Write Better Laravel, Part 1
New composer audit Command and security audits in Composer 2.4
Introducing our new Laravel Options package
Auto-Refresh Livewire Components While Keeping States With Vite
Effective immutability with PHPStan
Add comments to SQL queries made by Laravel
Encrypting Laravel Eloquent models with CipherSweet
Linked Lists explained in PHP
Did you like this newsletter?
I take a lot of time curating the right links for you. You could do me a favor by either spreading the word and letting others know about my newsletter.
Alternatively, you could consider picking up one of the paid products my team and I have worked on:
If you have any questions, remarks or thoughts about this newsletter, simply hit reply!
Thank you so much for reading!
Freek
You are receiving this newsletter because you subscribed at freek.dev
Unsubscribe from this newsletter
This mail was sent using Mailcoach
|