Cleipnirs Resilient Functions
Resilient Functions is a .NET framework that manages function execution despite failures, restarts, deployments, and versioning. The framework automatically retries function invocations across process...
How Actor Model/Actors Run In Clusters Facilitating Asynchronous Communication In Distributed Systems
This blog post continues the previous post on understanding the actor model to build non-blocking, high-throughput distributed systems. It explains how Akka runs actors in clusters in a non-blocking w...
How to Build Your Own Lenny Chatbot Using GPT-3
Learn how to build an AI-powered chatbot like the Lenny Chatbot, which uses GPT-3 and can answer questions about product, growth, and startups. Follow this step-by-step guide to understand AI and GPT-...
Idempotent operations: Ensuring the Same State on Both Sides of Network Communication
Maintaining the same state on both sides of network communication can be challenging due to lost messages, answers, and backend exceptions. Retrying client requests may cause adverse consequences or e...
A Detailed Guide on TypeScript Pick Type
In this series on Object Type Transformations in TypeScript, we will closely examine various utilities that TypeScript provides to facilitate object type transformations, such as Pick<>, Omit<...
Bounded Context (DDD series part 5): Understanding the Importance of Bounded Context in Software Design
Domain-Driven Design (DDD) is a powerful approach to software development that focuses on understanding the business domain and using that understanding to drive the design of software systems. One of...
Benefits of using DDD (DDD series part 2)
Domain-Driven Design (DDD) is a software development approach that focuses on understanding the business domain to drive the design of software systems. Among its numerous benefits are improved commun...
C# Language Mind Map
This blog post contains a mind map of language features starting from C# 1 up til now - including some of the new C# 12 features that will be released in November 2023. The mind map is clickable and c...
Domain Model (DDD series part 4): Understanding the Importance of Domain-Driven Design in Software Development
Domain-Driven Design (DDD) is an approach to software development that focuses on understanding the business domain to drive the design of software systems. One of the key building blocks of DDD is th...
Entity (DDD series part 7)
In Domain-Driven Design (DDD), the concept of an Entity is used to represent the key concepts of the business domain. An Entity is an object that has a unique identity and an associated set of attribu...
Heroicons v2.0.17 - Beautiful hand-crafted SVG icons by the makers of Tailwind CSS
Heroicons v2.0.17 is a collection of 292 beautifully designed SVG icons that are hand-crafted by the makers of Tailwind CSS. These icons come with an MIT license and are available for use with React &...
Mastering Transactions: The Power of Aggregates in DDD (DDD series part 9)
As a software architect, it is important to understand the key concepts and patterns used in Domain-Driven Design (DDD). One of the most important of these concepts is the Aggregate. An Aggregate is a...
Services in Domain-Driven Design (DDD) - Exploring the concept, benefits and usage
In this post, we explore the concept of Services in Domain-Driven Design (DDD), its benefits and how it can be used to improve software system design. Services are used to encapsulate business logic t...
Unlocking the Power of Domain Driven Design in Software Development (DDD series part 1)
Domain Driven Design (DDD) is a set of principles and practices that help developers design and build software systems that are closely tied to the business domain. With DDD, developers strive to crea...
Value object in Domain-Driven Design: Representing Simple Data Types (DDD series part 6)
In Domain-Driven Design, Value Objects represent simple data types like dates, numbers, and strings. They do not have any identity and are defined solely by their attributes. Benefits include a clear ...
Who should consider using DDD? (DDD series part 3)
Domain-Driven Design (DDD) is a powerful approach to software development that can help organizations build software systems that are aligned with their business needs. DDD is particularly useful for ...
A modern diagram scripting language that turns text to diagrams.
D2 is a modern diagram scripting language that can turn text into diagrams with ease. It provides syntax highlighting with editor plugins and renders with the TALA layout engine. D2 has several featur...
CTO Checklist - High Level Responsibilities of an Engineering Leader
Being an engineering leader comes in all shapes and sizes, and the responsibilities of a CTO can vary depending on the team and organization. The author provides a jumping off point for aspiring engin...
EventCatalog: Documentation Tool for Event-Driven Architectures
EventCatalog is an open-source project designed to help you discover, explore and document your event-driven architectures. It uses Markdown and custom components to define events and services, and ha...
How a Solution Architect thinks — Part 1, working with requirements
In this article, Anuar Nurmakanov discusses his journey from being a developer to a Solution Architect and shares his approach towards understanding Solution Architecture. Through an example, he cover...