With React 16.8’s Context API improvements, do you still need Redux? The answer is nuanced. Here’s my take on when to use each. Context API Context is built into React. Great for passing data without prop drilling: Redux Redux is a predictable state container. Actions describe what happened, reducers update state: When to Use Context […]
Read more →Year: 2019
Outbox Pattern: Reliable Messaging in Distributed Systems
The Outbox Pattern solves a common problem: how do you update a database AND publish a message reliably? Without it, you risk losing messages or creating duplicates. The Problem If the publish fails, your database has the order but no event was sent. Downstream systems never know about it. The Solution Write events to an […]
Read more →SPFx Application Customizer: Adding Headers and Footers
Application Customizers let you add global headers and footers to SharePoint pages. Perfect for branding, notices, or navigation. Create the Extension Using Placeholders Deployment After deployment, activate the extension tenant-wide or per-site using PowerShell or the CLI for Microsoft 365.
Read more →Introduction to Apache Kafka for .NET Developers
Kafka is everywhere in modern architectures. If you’re coming from MSMQ or RabbitMQ, Kafka is a different beast. Here’s what .NET developers need to know. What Makes Kafka Different Kafka isn’t just a message queue—it’s a distributed commit log. Messages persist, consumers track their own position, and you can replay history. This changes how you […]
Read more →Global Azure Bootcamp 2019: Cloud Skills for Everyone
This year’s Global Azure Bootcamp was held at venues around the world on April 27th. I had the pleasure of co-organizing the Letterkenny edition with the LK MUG team. What is Global Azure Bootcamp? It’s a free, one-day community event happening simultaneously in cities worldwide. The goal is helping developers get hands-on with Azure services. […]
Read more →Vue.js Components: Building Reusable UI
Components are the heart of Vue.js. Build once, reuse everywhere. Here’s how to create flexible, maintainable Vue components. Basic Component Props Validation Custom Events Slots for Flexibility Component Organization Keep components small and focused Use scoped styles to avoid CSS conflicts Prefix base components (BaseButton, BaseInput) Validate props for better dev experience References Vue.js Components […]
Read more →