Eertree (or palindrome tree) is a data structure used for searching palindromes in a string. It was invented in 2015 by Mikhail Rubinchik and Arseny M. Shur. The name itself is a palindrome, derived from the word “tree”. The paper is pretty straightforward as far as papers go, but it can be a bit confusing at first. It’s easier to understand when you see how it’s built step by step. You can use…
PostgreSQL is becoming an attractive alternative for .NET Core applications with support from popular ORMs like Entity Framework Core and Dapper. If you are thinking about switching to Postgres, having solid tests will make you more confident with the transition. In this blog post, I will explain how you can use basic Postgres CLI tools, create and clean up databases for your tests. Setup If you…
Jenkins can easily produce deployable NuGet packages for Octopus Deploy. You should start by adding OctoPack package to the project you want to deploy. Install-Package OctoPack I’m getting MSBuild to generate the assembly versions so I don’t have to manually increment them. OctoPack will use the same version for creating the deployable package(unless you use a nuspec file or specify it with a…
Strategy pattern is one of the most useful design patterns in OOP. It lets you select an algoritm’s implementation at runtime. However most of the examples you will find online won’t make sense if you are using dependency injection. Here’s one of them: public interface IPaymentMethod { PaymentResult Process ( PaymentRequest request ); } public class CashOnDelivery : IPaymentMethod { public…