freek.dev newsletter #184

Hi there!

Welcome to the 184th freek.dev newsletter!

Here are a couple of links I hope you'll enjoy as much as I did.

What to expect from open source?
My colleague Niels shares some interesting thoughts on how we view open source at Spatie

Supercharging Rate Limiting with Cloudflare
By implementing rate limiting at the edge, “dead requests” can be reduced.

Sevalla – Hosting as You Imagine (sponsored link)
Sevalla streamlines your deployment journey with a trio of powerful managed solutions: app hosting, managed database hosting, and static site hosting. Leveraging the robust infrastructures of GCP and Cloudflare alongside the scalability of Kubernetes, we deliver effortless deployments without compromising on power.

Easier endpoint tests with Policy::fake
This make testing endpoint authorization much simpler.

Importing 1.7 billion rows of CSV data from Stripe with PHP
Inspired by a Tweet from Christoph Rumpel asking for best practises for importing huge CSV files, I did a write up about how I've imported (so far) 1.7 billion rows of CSV data from Stripe using their API.

Unorthodox Monoliths in Laravel
Tackling scalability challenges unorthodoxly in large monoliths with strategies like multi-application infrastructure, circuit fuse, and hybrid DB optimization.

Preventing Destructive Commands from Running in Laravel
Read about how to use the Illuminate\Console\Prohibitable trait to prevent destructive commands from running in your Laravel application. We'll also look at how to prevent your own custom Artisan commands from running using this trait.

Five Practical Tips to Improve Search in Laravel Apps With Typesense
Learn how to install and configure Typesense in a Laravel app, then optim

🚀 Deploying a Laravel Project on Forge with Reverb WebSockets | Real-Time Setup Tutorial
Want to deploy your Laravel project on Forge with real-time WebSockets using Reverb? In this step-by-step tutorial, we’ll walk you through setting up Laravel Forge, configuring your server, and integrating Reverb for real-time communication. Whether you're building a chat app, notifications system, or live updates, this guide will help you get everything running smoothly.

ize search by sorting records, using filters, adjusting typo tolerance, accessing raw responses, and leveraging facets for better filtering.

Introducing laravel-tfa-confirmation
A new Laravel package to protect sensitive routes or actions with a confirmation-screen and ask for the two-factor authentication code of a user.

Introducing Rich Text Laravel: A package to integrate Trix into Laravel applications
This article covers installing Rich Text Laravel and Trix in a Laravel app, adding rich text attributes to models, migrating existing content from plain text, and integrating Trix’s file attachment feature with Laravel.

Stop Using Pseudo-Types
Pseudo-types like callable and iterable may seem convenient at first glance, but they introduce ambiguities and make code harder to analyze.


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

Essential Laravel Artisan Commands for Better Deployments (submitted by Nabil Hassen)

Building a YNAB CLI in Laravel (submitted by Chris Gmyr)

Build a Type-Safe Inertia.js App with Laravel, React and TypeScript (submitted by Sid)

Custom blade directives for your views. (submitted by Karan Datwani)

Laravel 11.42 Introduces New Date Query Methods (submitted by Nabil Hassen)

AlpineJS: Implementing image lazy loading with the Intersect plugin (submitted by Wilo Ahadi)

Lost No More: Direct Your Users with Laravel Route::fallback (submitted by Harris Raftopoulos)

Laravel Flows (submitted by Steve McDougall)

Laravel Config Validator v2.8.0 released! (submitted by Ash Allen)

Grapheme (submitted by Aaron Francis)


Old posts

Here are a couple of links from a while ago!

Sniffing out stray ray() calls with Pest architecture testing

Retry mechanisms in Laravel

Improved handling of 404 errors with Livewire

Composition over Inheritance

Using Laravel to interact with OpenAI's Assistants API (with Vision)

The Business of Bisecting

Laravel Data v4 has been released

My keynote at PHPUKConference 2024


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:

  • All spatie products
  • Oh Dear
  • Mailcoach
  • Flare

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

Online version • Past editions • Unsubscribe