Category: .NET

.NET, architecture, C#, CSharp, Programming

Wysyłanie maili z wykorzystaniem Handlebars

Niedawno musiałem zmierzyć się z budowaniem maili. Starym sposobem projektu było robienie tego w każdym miejscu, które wysyłało maila, tzn każdy projekt był właścicielem szablonu, a sam szablon był zdeployowany z kodem i wypełniany przez kod źródłowy string.Replace albo string.Format. Brzmi trochę creepy, prawda? To co z tym zrobić, żeby było uniwersalnie i bez jawnych …

.NET, architecture

REST vs gRPC vs GraphQL w .NET

W artykule przedstawię wprowadzenie do gRPC i GraphQL w .NET oraz omówię podstawowe różnice pomiędzy REST, gRPC i GraphQL. GraphQL Wprowadzenie GraphQL został zbudowany przez Facebook w 2015 roku. Twórcy określają go jako język zapytań do API. Rozwiązanie korzysta domyślnie z POSTów (GET też jest dostępny, ale domyślnie wyłączony). Wynika to z podejścia do request’ów. …

.NET, AWS, C#, CSharp, Programming

AWS DynamoDB – 3 ways to query and read results in .NET

In my very first post, I showed how to use DynamoDB in .NET to receive single result (post). Looking into the evolution of API and layers of abstraction, we have much more options to query AWS DynamoDB. Therefore we have 3 ways to query and read results which I will demonstrate in this post. The …

.NET, .NET Core, ASP.NET, C#, CSharp, MVC, Programming, REST, WebAPI

HTTP Verbs in API design

HTTP Verbs are basic methods in web world. They are evolving between HTTP protocol versions but also new RFCs are published. Also they were extensions like WebDAV (with 7 methods). A full registry is maintained by IANA (here) however most of people will reply with 9 basic verbs (interesting discussion about this on stackoverflow). Why …

.NET, C#, CSharp

gRPC in .NET Core

As WCF is going to end of life with .NET 5.0 (more here), gRPC is going to replace it (as recommended alternative). So what’s that? It is bi-directional, HTTP/2 based protocol. It can be used to communicate server-server o client-server including scenarios like load-balancing, health checks, microservices communication. gRPC stands for Google RPC (Remote Procedure …

.NET, .NET Core, C#, Programming, Software engineering, Tools

Rider – my first good impression

A couple days ago I installed Rider IDE from JetBrains (on Windows machine). Installation process is easy and quick. First impression after start – what’s that?!? Completly different UI that I get used to from Visual Studio. When I started creating new project, I had a problem with choosing right option as UI is not …

.NET, C#, CSharp, Mobile, Programming, Xamarin

.NET MAUI – Xamarin.Forms successor

Today Microsoft announced .NET MAUI – a successor of Xamarin.Forms. Besides well known MVVM, .NET MAUI will use MVU (Model-Vue-Update) pattern. At first glance, the code will be much more readable (shorter) and closer to functional programming. Next milestone is single project for all types platforms. Right now, you need to have separate for iOS, …

.NET, .NET Core, BDD, C#, CSharp, Library, Programming, Quality, Tests, Unit tests

SpecFlow – BDD in C# – induction

BDD – this acronym stand for Behavior Driven Development. This methology has been built using concepts of TDD (Test Driven Development) and DDD (Domain Driven Design). This type of tests is often done as integration tests (UI tests or API). One of the most popular libraries is SpecFlow. I was using this solution for Xamarin, …

.NET, .NET Core, C#, CSharp, Library, Programming, security

Security Code Scan – open source vulnerability patterns detector

Security Code Scan is open source (LGPL v3.0) vulnerability patterns detector for C# (including .NET Core) and VB.NET. It has two installation modes: either as VS extension or as nuget package (SecurityCodeScan). Instead of writing about types of attacks which it can detect – let’s demo it. As a test application, I created API application …