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 on 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? All code examples that are shown below can be found here. More exhaustive details on pytest […]
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 are 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 the migration process. Importantly, our application is going to be live in production at […]
Simple Domain-Driven Design – Building Blocks
If you are wondering what Domain-Driven Design (or in short DDD) is, why it is such a useful technique, and how it is applied, this post will explain all of this. We will be working bottom up by looking at each DDD building block at a time and iteratively connecting them together in a cohesive […]
How to own a blog for FREE – Part 2
This part will go deep into implementation details, build Docker containers, and deploy a WordPress blog to a Linux virtual machine. To continue further, we need all outcomes of Part 1, among which are a registered domain, a virtual machine with installed Docker and Docker-Compose, and a Let’s Encrypt TLS certificate. If you don’t have […]
How to own a blog for FREE – Part 1
You’ve decided you really want a blog! Awesome! There are so many things and questions to answer before it becomes alive. But don’t worry, this series of posts will walk you through all the steps necessary to get you up and running on the web. New blogs need to build an audience to increase traffic […]
Why Not to write SQL Stored Procedures – Part 2
Previous part talked about why using Stored Procedures for writing business logic may be a bad idea. In this part, we continue on this subject but are going to look at the problem from an architecture angle. Typical Stored Procedures based application Typical application which heavily uses SPs for business logic may look like this. […]
Why Not to write SQL Stored Procedures – Part 1
SQL Stored Procedures (SPs) have been a workhorse for several decades. They have been used for many reason. Some of which can be justified, but some can lead to tremendous technical debt. The good of Stored Procedures Among justifiable reasons to write SPs are the following: The ugly of Stored Procedures SQL Syntax The worst […]