This post describes an approach to read and write CSV using Python, and doing so in a simple and typesafe way. We are going to use standard CSV Python module, hence there would be no need to install any new packages. Let’s start with our model. A model is a class that represents a line […]
Implementing Domain Driven Design with Microservices
This post is about Microservices and Domain Driven Design (DDD), how to apply DDD to Microservices architectural style, what are the pitfalls to be aware of and many other aspects. If you need a quick refresher or intro to DDD, then you may refer to Simple Domain-Driven Design – Building Blocks. Here is a series […]
Fixing Dynamic Connascence
Introduction In the previous posts we learned about connascence and explained why it’s so important to understand for software developers and architects, we looked at all 5 levels of static connascence and different approaches to improve code quality. In this post we will focus on 4 levels of dynamic connascence and will take practical approach […]
Fixing Static Connascence
Introduction In the previous post we described connascence and explained why it’s so important to understand for software developers and architects. In this post we will show practical approach on how to fix different levels of static connascence. As to summarize, connascence has nine levels (five static and 4 dynamic). The higher level the less […]
Connascence, why is it so important?
Connascence metric has its own website https://connascence.io/ where you can find detailed description and examples. In this post we will show why connascence is very important metric, we will visualize, condense and summarize the concepts so they are fast and easy to comprehend. What is connascence? Before we can understand importance of connascence, let’s understand […]
How to make tests AWESOME
Some people may argue that automated tests are not worth of effort. But here is a kicker: time spent on creating and maintaining tests in many cases is completely justified by time saved on manual testing and re-testing. Another toll of not having automated test is cost of bugs (in time and money) caught late […]
How to Backup and Restore WordPress blog
We do have a blog Running a self-hosted blog is not an easy task, but rewarding at the same time. It can teach many useful skills and techniques. In previous two posts “How to own a blog for FREE” Part 1 and Part 2 we deployed a blog to a cloud virtual machine, and run […]
pytest in 5 minutes
This post is a quick tutorial to pytest, an awesome testing framework for Python. The main goal of the tutorial is to show features of pytest that are most useful in day to day life. Who can benefit from this tutorial? Experienced developer, who uses Python occasionally and needs to rewind the syntax and features […]
Migrating Monolith to Microservice Architecture – Journey Continues
In the previous post we broke down the monolith into coarse-grained Macroservices based on their business domain purpose, that changed our architecture style from Monolith to Service based. We refrained from migrating to Microservices right after and decided to wait a little before taking next round. Now, as our application is stable and running smoothly, […]
Migrating Monolith to Microservice Architecture – the Path
If you have a large and scary Monolith and looking for a clear path of migration to modern Microservices, this post is exactly about that. We are going to take a Monolithic application and together, step by step, walk through migration process. Importantly, our application is going to be live in production at all times […]