Category: .NET

.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 …

.NET, C#, CSharp, Library, Programming, Tests, Unit tests

Fluent Assertions in unit tests

As a continouation of the article about unit test frameworks I would like to introduce Fluent Assertions. This framework simplifies testing by BDD style syntax. Let’s start from basic assertion. As you noticed, first is going the result, then the keyword (or rather extension method) Should() and at the end the condition (so in case …

.NET, C#, CSharp, Library, Programming

.NET unit test frameworks comparison

In .NET we have 3 dominant unit test frameworks: MS Test (v2) NUnit (3.x) xUnit (2.x) First one comes with Visual Studio, two other requires additional components installation. Initialize First difference we will find in initialization approach. In MS Test there several initialization available (by attributes): AssemblyInitialize, ClassInitialize and TestInitialize. The disadvantage is that initialization …

.NET, .NET Core, ASP.NET, C#, CSharp, Programming

Install .NET Core on Debian Linux

Microsoft prepared quite good instruction how to install dotnet runtime on Linux. I’ve been interested in Debian distro. So I went pretty smooth through the first part of the manual (system setup). However installing dotnet I had constinously an error that package cannot be found. First comment: the package name has been changed and it …

.NET, Mobile, Xamarin

How to get iPhone X front camera depth data in Xamarin iOS?

How to get iPhone X front camera depth data in Xamarin iOS? This question has been raised in many places across the web. However I did not found any good description of this problem including Apple site. They have only quite generic description of required classes without tutorial. As one of the first step, we …

.NET, Self-learning

Pro .NET Memory Management For Better Code, Performance, and Scalability

Pro .NET Memory Management For Better Code, Performance, and Scalability by Konrad Kokosa is the best technical book I’ve ever read. It is very deep dive into .NET memory management. For me, the only one missing part was Mono description. Except that, the book is awsome. It describes history of memory management, helpful tools, memory …