Over the past two years, we’ve published 75 articles ranging from user flows in FigJam to improving the agile process at scale. Our content has covered everything from testing and web development to data and many coding topics in between. And this library of content has been penned by a range of software designers and developers sharing their knowledge and insights from working on complex software systems.
Some articles have remained popular, proving their relevancy and your interest in certain topics. Check out the top 5 most-read software articles since 2020.
1. How To Solve Docker Compose’s Race Condition
Published in October 2016, Dariusz Pasciak’s explainer for a common pain point using Docker Compose has remained at the top of our list for six years.
The article’s central insight revolves around a race condition that’s introduced when “start” means something different in the Docker context. Dariusz both one workable solution, as well as an alternative that requires a little more effort, but pays off with a better testing approach.
Check out these key solutions for adding end-to-end tests using Docker Compose.
2. Exploring Golang’s Error Handling Patterns
Kyle Krull expresses a common frustration at the beginning of his article: “When you’re learning another language, there can be periods of frustration where you’re having trouble expressing an idea that would have been easier in a more familiar language.”
Rather than blaming the language’s authors or hacking together a solution that is not idiomatic, Kyle dives into several different strategies for supporting Go’s error-handling patterns.
Learn how Golang handles errors, and how you can build idiomatic patterns in Go.
3. Dependency Injection in React
Dependency Injection is a form of inversion of control that allows for decoupled designs and makes testing easier, but the implementation details can vary depending on your ecosystem. Rani Zilpelwar’s article explains how to leverage these benefits in a React application by building a mental model for how to think about different React components for this context.
Discover three ways to handle dependency injection in React or watch Rani’s 8th Light University presentation on the same topic.
4. Handling Blocking Threads in Java
Francesca Sadikin’s article begins with the basics — what is a thread? — before sharing an analogy to understand the potential problems of a thread in a sleeping state. With another example, Francesca shows how a second “sleeping” thread can be used strategically as an alarm to wake up a thread that is left sleeping.
Handle block threads in Java with this detailed overview, including multiple code examples you can use today.
5. DTrace: [even better than] strace for OS X
Colin Jones’ 2015 article introduces DTrace, which is an OS X tool that provides the same benefits that Linux users get from
strace allows developers to see exactly what system calls are being made by running their application.
In this post Colin shows how OS X users can do the same with DTrace. He even goes a step further, showing how developers can experiment with writing their own DTrace scripts and target ever more granular and bespoke commands.
Leverage DTrace to unlock OS X system calls and create commands.
Never miss an article. Sign up to receive updates twice monthly in your inbox.