Skip to main content

5 posts tagged with "software"

View All Tags

Domain Modeling

· 4 min read

(Notes on Architecture Patterns with Python by Harry Percival, Bob Gregory: Chapter 1 - Domain Modeling)

What I Liked About This Chapter

  1. Clear definitions of value objects and entities.
  2. Emphasis that not everything has to be an object: introducing the concept of a domain service function.
  3. Highlighting how exceptions can express domain concepts.

Assert with Retry

· 3 min read

Besides asserting the internal states or values in memory, we sometimes assert values impacted by external systems in a test. These can become a source of flakiness as external systems are inherently unpredictable. Examples of such assertions include:

The Many Reasons Why a Pipeline Can Fail

· 4 min read

A CI/CD pipeline is a sequence of automated steps that validate and deliver software throughout the software development lifecycle. Initially, I believed that as long as the pipeline remained operational and code passed all checks during each run, we were set. However, I’ve come to realize that a pipeline's stability and integrity rely on multiple factors, many of which extend beyond the control of individual contributors. Here are some key reasons why a pipeline might become flaky or fail.