Understanding the Observer Pattern
An explorable introduction to the Observer pattern: how subjects notify observers, and how it compares to pub-sub.
In this blog, I share insights on software development, focusing on design principles and patterns to address complex business challenges. Topics like refactoring, test-driven development, and pair programming are covered, emphasizing how they contribute to more maintainable and enjoyable coding practices.
Software development is an intellectually stimulating journey. It's rewarding to overcome challenges and achieve a deep sense of satisfaction. This blog is where I document these enriching experiences, hoping to inspire and engage fellow enthusiasts in the art of coding.
An explorable introduction to the Observer pattern: how subjects notify observers, and how it compares to pub-sub.
As an application grows and more code is added, the initial loading time can become noticeably longer. This delay, sometimes lasting several seconds, can frustrate users. To avoid this, it's essential to optimize loading times.
As an application grows and more code is added, the initial loading time can become noticeably longer. This delay, sometimes lasting several seconds, can frustrate users. To avoid this, it's essential to optimize loading times.
The landscape of web UI development is fraught with challenges that extend beyond writing code and designing interfaces. The inherent language limitations, nuanced data management, async complexities, and often-ignored unhappy paths collectively make this a formidable field. Architectural decisions ...
After several months of revising and editiong and rewording, finally "Test-Driven Development with React and TypeScript," is officially out!
The Mini-Course on React and Test-Driven Development will provide you with the skills and knowledge to build robust, scalable and maintainable React applications.
Handling network requests is complicated. There are too many cases you have to consider on top of the asynchronised process. And testing these code can be even more challenging...
Fetching data from a remote server can be challenging, especially when you have to consider cache, re-fetch, error handling, timeout etc...
A few weeks ago, I got an interesting idea when I was writing a blog post about how to abstract your code to make it easier to reuse. I wanted to know what other developers think is the most important principle they would teach a newbie developer and why they would choose that design principle.
So it’s not a single standard of how you would design at scale but a set of standards, and it is a visual language, which is important both by the user experience design and implementation...
As the saying goes: all great things have small beginnings. Even the most complicated product starts with a small and simple idea. And during the process of implementing it, even for a simple App like To Buy, there are many details to consider and polish.
The ability of abstracting should be the most fundamental skill a developer should have, and I can't emphasise this enough. By abstracting, we can escape from the overwhelming seemingly irrelevant details to a solution that could solve all the problems at one go.
Get new posts and tutorials in your inbox via the newsletter.
Subscribe