Server Side State management in NextJS: a deep dive into React Cache
Posted in NextJS on Oct 18th, 2024
In previous posts, I explored how Server Components in NextJS improve performance by offloading more rendering to the server. Managing server-side state differs from client-side, as it’s static and immutable during a single render. NextJS provides tools like cache, unstable_cache, and patched fetch to manage this state efficiently, reducing prop drilling and simplifying code. These tools offer caching across requests, but require a shift from traditional client-side approaches for better performance
NextJS foot guns: Over-reliance on Client Side State
Posted in NextJS on Oct 10th, 2024
This article builds on “Architecting NextJS Applications for Better Performance,” focusing on optimizing state management in NextJS projects. It explores the pitfalls of overusing Context providers and client-side state, which can bloat bundles and hurt performance. By strategically identifying which parts of your app should be client or server components, you can leverage NextJS’s capabilities to build faster, more efficient applications.
Architecting NextJS Applications for Better Performance
Posted in JAM Stack on Oct 2nd, 2024
Explore how to optimize React 18 applications using Next.js for better performance and SEO. It covers the use of Server Components to reduce JavaScript on the client, improve Core Web Vitals (CWV), and enhance User Experience (UX). Key strategies include isolating client components, minimizing their size, and balancing client-server rendering. It also highlights Next.js’s render lifecycle and provides tips for building faster, SEO-friendly applications.
Authorization in GraphQL
Posted in GraphQL on Jun 8th, 2020
GraphQL is a great new technology. It fills many gaps the REST leaves. However, there are challengs with GraphQL. One of those challenges are authorization and authentication.
Serverless GraphQL at the Edge
Posted in GraphQL on Feb 27th, 2020
Serverless GraphQL API’s at the Edge. Did I hit on all of the buzzwords?
GraphQL as an extension of Conway’s Law
Posted in GraphQL on Dec 6th, 2019
“Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” – Melvin Conway
Completely Useless Fun Project: Building The Parser
Posted in Compilers on Nov 18th, 2018
Last week, we learned about the history of the compiler and about the lexer. This week we are talking about parsing.
Completely Useless Fun Project: Parts Of The Compiler
Posted in Compilers on Nov 8th, 2018
This week I am talking about the parts of the compiler, doing a deep dive into the Lexer and Parser and showing how to build the Lexer and Parser in Python. At the end of this post, we should have a working lexer and parser.
From Test Driven Development to Test Driven Design
Posted in Engineering on Jul 11th, 2018
Too often when we speak about Test Driven Development, or TDD, we speak about it as if it’s an investment. I think it’s time to change the conversation and talk about TDD as if it is an essential engineering step.
Event Driven Programing In Django
Posted in python on Feb 26th, 2018
Event driven programming is an extremely powerful paradigm that allows you to perform some action because something else happened (the event). Django already has a rudimentary event system in its core, but it left things to be desired. Learn more about event driven programming in django and the inspiration behind django-event-system.