State management architecture in NxBuilding scalable Angular applications requires more than just writing good code, it demands architectural decisions that prevent your project from becoming a tangled mess of dependencies. As you saw in few of my last posts, Nx provides a powerful fr...Aug 16, 2025 · 4 min readgillesferrand.com
Understanding useEffect: No dependencies vs empty array vs dependencies arrayThe useEffect hook is fundamental to React functional components, but its behaviour changes dramatically based on how you handle the dependencies array. Let's explore the three main patterns and when to use each one. useEffect without dependencies ar...Aug 12, 2025 · 5 min readgillesferrand.com
Git Worktree : Managing multiple branches simultaneouslyGit worktree is a Git feature that allows you to check out multiple branches at once in different directories, without cloning the repository again. This powerful capability transforms how developers handle parallel development workflows. The Problem...Aug 8, 2025 · 4 min readgillesferrand.com
Git push force vs force-with-lease: When and Why to use eachWhen working with Git in collaborative environments, you'll inevitably encounter situations where you need to overwrite remote history. Two commands come into play: git push --force and git push --force-with-lease. Understanding the difference betwee...Aug 4, 2025 · 4 min readgillesferrand.com
TypeScript's [number] Index Signature: Extract Union Types from ArraysEver needed to create a union type from an array of objects in TypeScript? There's an elegant solution using the [number] index signature notation that can save you from maintaining duplicate type definitions. The Problem Let's say you have an array ...Jul 19, 2025 · 3 min readgillesferrand.com