Tutorials

76 posts
Taming a Python: don't let the snake bite

Taming a Python: don't let the snake bite

Adapting to a new tech stack is all about mindset. Switching from PHP to Python was an eye-opener. Package management confusion, unexpected paradigms, and a lack of encapsulation made for an interesting challenge. Embracing constraints is the secret to growth.

When Symfony event listeners go wild!

When Symfony event listeners go wild!

A simple bug fix can turn into a full-blown debugging adventure - especially when Symfony’s event listeners start misbehaving. 🧐 If your listeners are firing twice (or more), your service configuration might be the culprit. Here’s how we solved a sneaky autoconfiguration.

Even ETL needs a roadmap

Even ETL needs a roadmap

ETL (Extract, Transform, Load) is vital for data-heavy businesses but often begins with manual workflows. Companies should identify inefficiencies, prioritise automation, and design a scalable ETL roadmap that integrates human reviews and evolves with business growth.

A company's first steps in AI

A company's first steps in AI

Many product companies are eager to leverage tools like ChatGPT. But how do you go from experimenting to running in production? Let's explore choosing the right large language model (LLM) to understand hosting options, ensuring an efficient and sustainable AI implementation.

Caching routes, components and functions with "use cache" in Next.js 15 (canary)

Caching routes, components and functions with "use cache" in Next.js 15 (canary)

"use cache" is an experimental Next.js 15 Canary feature and may change. In this tutorial, we explore "use cache" for caching, covering fetching and inserting comments with Drizzle to reduce database calls and improve performance while maintaining control.

Instant feedback using the useOptimistic hook in React

Instant feedback using the useOptimistic hook in React

Implement optimistic updates in React with the useOptimistic hook for instant UI feedback. This technique enhances user experience by updating the interface immediately while the server processes actions in the background, creating a faster and more responsive app.

Crossing boundaries: Handling data mutations in client components

Crossing boundaries: Handling data mutations in client components

Discover how to efficiently mutate data in client components using server actions in Next.js. Learn to handle form submissions with React’s evolving hooks like useActionState, eliminate the need for API endpoints, and streamline client-server interactions for faster, more responsive applications.

Crossing boundaries: Passing server data to client components in React

Crossing boundaries: Passing server data to client components in React

Learn how to optimize performance by fetching data server-side without blocking the page render. This guide explores passing promises to React client components and resolving them asynchronously using Suspense, ensuring a smoother, faster user experience.

Cookie-based authentication with Laravel Sanctum

Cookie-based authentication with Laravel Sanctum

This is a detailed step-by-step guide for setting up Laravel Sanctum with cookie-based authentication. It explains the logic behind each step and how to set up Postman. We also tackle the most common CORs issues.

You’ve successfully subscribed to madewithlove
Welcome back! You’ve successfully signed in.
Great! You’ve successfully signed up.
Success! Your email is updated.
Your link has expired
Success! Check your email for magic link to sign-in.