React 18 has introduced concurrent features that fundamentally change the way React applications can be rendered. We'll explore how these latest features impact and improve your application's performance.
Stay updated by following this article’s Twitter thread. I will post amendments and updates there. Google’s Core Web Vitals initiative was launched in May of 2020 and, since then, its role in Search has morphed and evolved as roll-outs have been made and feedback has been received.
Testing is often an afterthought when writing code. It can be confusing, slow down development, and if implemented poorly provides questionable utility. The following are some tips for preemptively writing and structuring your code so that it is easy to unit test.
If you’re a developer who has been using Yarn as your package manager and you’re considering switching to PNPM, you’re in the right place. PNPM is a fast and efficient package manager that can offer some advantages over Yarn.
In this post we will be exploring how to set up automatic versioning of packages inside of a monorepo using Lerna. There are many ways in which you can do this with different technologies and ideas, but mostly it comes down to a single decision; do you want to version the entire repository as one, or have the individual packages within the monorepo be individually versioned from each other?
More than ever, digital experiences impact how we work, learn, and play. As these experiences become more connected and therefore complex, it’s important to design for clarity and be intentional in how we build our information.
To me, this is great because it makes the ProductTable decoupled and independent: It's responsible for reading its own dependencies: Product Data. If it's in the cache already, great, we'll just read it. If not, we'll go fetch it. And we can see similar patterns emerge with React Server Components.
In February 2021, Figma CEO Dylan Fields sold a piece of NFT art for $7.5 million. Similarly, Twitter co-founder Jack Dorsey sold his first tweet on Twitter as an NFT for $2,915,835.47. An NFT (non-fungible token) is a fascinating new technology that represents ownership of an asset digitally.
As individual contributors, we get better at our jobs from pursuing programming education, tutorials, and reading. But to improve our solutions for our specific team, or to work better with that team, we often need feedback from our teammates. And this can be hard to get.
In today's text I want to take a closer look at gRPC and REST. Probably two of the most commonly used approaches for creating API nowadays. I will start with a short characteristic of both tools – what they are and what they can offer.
"Stick to boring architecture for as long as possible, and spend the majority of your time, and resources, building something your customers are willing to pay for." - Kelsey Hightower When we're starting new projects, there's an undeniable allure to the latest languages, frameworks, and libraries.
Hola!🤠 So you want to be an architect, don't ya? Don’t lie to me, I know you do. Even if you don’t, you still want to be a better developer. Otherwise, you would not spend time reading this article 😁 It is commendable.
React 18 has introduced concurrent features that fundamentally change the way React applications can be rendered. We'll explore how these latest features impact and improve your application's performance.
Amid all the conversations about how AI is revolutionizing work—making everyday tasks more efficient and repeatable and multiplying the efforts of individuals—it’s easy to get a bit carried away: What can’t AI do?
This purpose of this application is to demonstrate the concepts and code of React Server Components in NextJS13 in a way that exposes what is really happening. Audience: Experienced React developers who are perhaps new to RSC. Or people using RSC who want to understand more about how it works.
It’s a testament to how important the web is that JavaScript, by many rankings the most popular and widely used language, has emerged from browsers and become useful far beyond its initial platform.
Can a modular architecture improve software delivery? Yes! -but with some caveats. This article charts the journey of an enterprise who set out to shift their architecture to a more modular one in order to ease their growing pains.
Completing a computer science degree is not easy. From pulling all-nighters attempting to get your tests to pass (or maybe at least run) to hours spent trying to fathom the intricacies of constructing a compiler, you will go deeper into new complex ideas.
There has been a lot of frustration in tech Twitter over the last few weeks. Some people are frustrated with React Server Components, and some are frustrated with the way the React team communicates. The React team is frustrated with that “pile-on” they are facing.
Before going into the content of this post, check out my new book which launched this week. Quite a few years ago I was maintaining a database-driven system and ran into a weird production bug.
More than ever, digital experiences impact how we work, learn, and play. As these experiences become more connected and therefore complex, it’s important to design for clarity and be intentional in how we build our information.
More than ever, digital experiences impact the way we work, learn, and play. As these experiences become more connected, and therefore complex, it’s never been more important to design for clarity and intentionality in how we build our information.
The beauty of Node is that while the main event loop runs in a single thread, some expensive tasks are automatically offloaded to a separate worker pool. These include the I/O-intensive DNS and File System (except fs.FSWatcher()) APIs, as well as the CPU-intensive Crypto and Zlib APIs.
With all the articles about just how amazing all the developments in AI have been, there’s plenty of hand wringing around the possibility that we, as software developers, could soon be out of a job, replaced by artificial intelligence.
The size and scope of projects at Meta result in thousands of developers working with many millions of files. Many of the tools favored by smaller projects often break down as they scale to meet these needs, so we have to either extend existing tools or create new ones.
You might think you know all the tricks when it comes to browser DevTools, but did you know that there are dozens of panels and hundreds of features waiting to supercharge your debugging workflow? Whatever your debugging use case is, there’s probably a tool that’s right for the job. Let’s discover the most popular DevTools tips that can boost your productivity.
This post explores how to use Vitest and React Testing Library to help unit test React hooks in a way that makes them easy to maintain and extend. Powered by Vite, Vitest claims to be the "blazing fast unit test framework" for Vite projects.
Jest is a delightful JavaScript Testing Framework with a focus on simplicity. And you can use Jest on everything that is JavaScript like React, Angular, Node, TypeScript… The jest.config.js file will be created.
Voice assistants are becoming more popular and powerful as AI technology advances. They can provide users with convenient and natural ways to interact with various applications and services.
Disclosure: I was the Staff Engineering Manager for the npm CLI team between July 2019 & December 2022. I was a part of the GitHub acquistion of npm inc. in 2020. I left GitHub, for various reasons, in December.
I use the draw.io desktop app to make diagrams for my website. I run it on an actual desktop, like Windows or macOS, but the asset pipeline that converts .drawio files, to .pdf, to .svg, and then to .svg again (but smaller) runs on Linux.
Performance in React apps can be thought of in 2 ways: Loading Performance - Compressing & loading code/assets (mostly Non-React things) Runtime Performance - CPU & rendering issues (mostly React-specific things) Loading vs.
16 min read React, Redux, JavaScript, TypeScript Share on Twitter, LinkedIn Data Visualization Masterclass with Amelia Wattenberger SmashingConf Freiburg 2023 Smart Interface Design Patterns, 9h-video course Prepare for today’s communication roles Northwestern’s MS in Information Design.
JavaScript, the undisputed king of web development, is being sabotaged — not by a rival language or a revolutionary new technology, but by its own baggage from the past. This insidious saboteur is none other than CommonJS, the antique module system that we’ve tolerated for far too long.
When working with third party API's it is better to mock the API call rather than hit the API especially when they are API's that you do not control. You might also want to mock an API when in development mode and the API hasn't been written yet.
The new View Transitions API offers an easier way to animate between two DOM states — even between page loads. It’s a progressive enhancement that works today. CSS transitions and animations have revolutionized web effects over the past decade, but not everything is easy.
Page speed matters. Faster website results in better UX, better SEO, and more profit. The latest research done by Rekuten 24 shows that optimizing Core Web Vitals leads to: The modern frameworks and frontend libraries address speed and help developers ship better user experience to the users.
macOS is fortunate to have access to the huge arsenal of standard Unix tools. There are also a good number of macOS-specific command-line utilities that provide unique macOS functionality. To view the full documentation for any of these commands, run man .
Developer experience examines how people, processes, and tools affect developers’ ability to work efficiently. What do building software and vacuuming your house have in common? Jonathan Carter, technical advisor of the CEO at GitHub, used to hate vacuuming.
Rate limiting is a popular distributed system pattern. It is an integral part of all modern large-scale applications. It controls the rate at which users or services can access a resource, like an API, a service, or a network.