Software Engineering

Posted on 27.11.2017

Investigating start-up slow-down in Entity Framework and Oracle

Recently, it came to our attention that one of the applications we are developing for a client shows a poor startup performance. It is a .NET application written in C# using Entity Framework and Oracle as the main data store. The logical first step in diagnosing this issue was to run the application under a profiler. We used JetBrains’ dotTrace. It was rather surprising to se... mehr ›
Posted on 21.11.2017

Getting photos of colleagues from Active Directory in PowerShell

PowerShell has been around now for more than a decade. During this decade, I learned it at least 3 times. Actually, I’ve always liked the concept but I felt a little bit uncomfortable with the syntax. Last week, I wanted to get portrait pictures of my colleagues for an overview I was working on. And the moment I realized that we have images only available in the Active Direct... mehr ›
Posted on 25.10.2017

Asynchronous REST services with Jersey 2.26+

As you know, Java EE 8 has been released with the JAX-RS 2.1 (JSR 370) specification supporting asynchronous non-blocking REST services. This is a great improvement to the API going together with Reactive streams, which were added to recently released Java 9. This has been greatly expected as it can improve the availability of our Java web servers a lot. Jersey 2.26 is out im... mehr ›
Posted on 09.10.2017

A very brief introduction to nominal & structural type systems

Last week I was listening to .NET Rocks #1460. Carl Franklin and Richard Campbell were talking with Anders Hejlsberg about TypeScript. At one point Anders Hejlsberg mentioned one thing I was totally ignorant about - structural type system of TypeScript. I did a little bit of research and I’ve learned that type systems can be divided to two major categories - nominal & str... mehr ›
Posted on 02.10.2017

Visual Studio 2017 version 15.3 and build in TFS 2017

This post is from the series about upgrading our project to ASP.NET Core 2.0. Now, we have upgraded Visual Studio 2017 version 15.3 locally. We updated the source code to target ASP.NET Core 2.0. However, automated build in TFS 2017 fails of course. Let’s talk about how we upgraded our builds. This post is related to TFS 2017 Update 1 using on-premise. If you use Visual Studi... mehr ›
Posted on 28.09.2017

Updating project to ASP.NET Core 2.0

We have upgraded Visual Studio 2017 version 15.3 and also installed .NET Core SDK 2.0. Let’s upgrade the project to ASP.NET Core 2.0. Actually we wanted to achieve 3 goals: Change the target of libraries to .NET Standard 2.0, instead of .NET 4.7, so that we can easily switch between full .NET Framework and .NET Core. Upgrade NuGet references to ASP.NET Core 2.0. Change target... mehr ›
Posted on 22.09.2017

Upgrade to Visual Studio 2017 version 15.3

Recently, Visual Studio 2017 version 15.3 was released. And I would like to share my experience with the upgrade. This version is the first one that supports .NET Core 2.0 and .NET Standard 2.0. As we would like to convert our projects to use these frameworks, first step is to upgrade Visual Studio. Background Few months ago we started to use .NET Core SDK for development in... mehr ›
Posted on 25.02.2013

Requirements Engineering bei System- und Datenmigrationen

Migrationen gehören heute in Unternehmen zum Alltag. Die Migration eines Systems auf den aktuellen Stand der Technik reduziert die Kosten, erhöht sowohl die Systemverfügbarkeit als auch die Datensicherheit und erlaubt der Firma, sich weiterzuentwickeln. Kurz gesagt: Migrationen stärken die Wettbewerbsfähigkeit. Allerdings sind Migrationsprojekte komplex und risikoreich. Das R... mehr ›
Posted on 28.11.2012

Effiziente IT-Prozessverbesserung – Kontinuierliche Integration strafft den Entwicklungsprozess

Die kontinuierliche Integration steigert die Effizienz durch Automatisierung und frühzeitiges, regelmässiges Testen. Das Verfahren hat sich in grossen Projekten bereits durchgesetzt. Nun gehen die Organisationen dazu über, den bewährten Prozess ständig zu verbessern. Gleichzeitig setzen auch immer mehr kleine Teams auf die Kontinuierliche Integration. Wer he... mehr ›
Posted on 29.10.2012

Fehler früher finden mit Quality Gates - das grosse Effizienzpotenzial bei der Fehlersuche

Je früher Fehler gefunden werden, desto günstiger ist die Korrektur. Deswegen sind formalisierte Kontrollen gerade in fruehen Phasen von Entwicklungsprojekten entscheidend. Noch vor zehn Jahren wurde die Notwendigkeit des Testens relativ wenig erkannt. Seitdem hat sich viel getan. Umfangreiche, häufig automatisierte Tests sind heute Alltag. Gleichzeitig wächst die Zahl der Te... mehr ›