Development


SQL Server & Kafka

Mar 2, 2019

Im Laufe meiner Arbeitskarriere bin ich immer wieder auf 1 Problem gestoßen: Komponente A hat einen State, andem andere Komponenten interessiert sind. Ich hab schon die unterschiedlichsten Lösungen gesehen: DataTables mit RowChanged und anschließend über .NET Remoting Events raus WCF Events .NET Sync-Framework Auch habe ich im Laufe meiner Arbeitskarriere immer wieder die gleichen Probleme gesehen: Bug gemeldet: State in Komponenten X passt nicht: erwartet wurde State 1 - aber State ist 2.


Playing with TPL

Dec 27, 2018

Weihnachtszeit und etwas Zeit sich irgendwas anschauen – da muss auch ein wenig Platz für Entwicklung sein. Diesmal: Wie könnte man einen Teil eines Actor Frameworks im C# Style mit möglichst wenig Aufwand schreiben? Es gibt nichts schlimmeres im Code als ein Threading Massaker. An 1000 Stellen Thread.Run oder new Thread – da läufts jedem Entwickler kalt den Rücken runter, wenn der nächste Bug in Jira anflattert und nur ein Hauch von Race-Condition Problemen aus der Beschreibung herauszulesen ist („Nicht mehr reproduzierbar“, „passiert nur manchmal“ usw.


Apache Kafka und Co – Ein Ausflug

Jun 9, 2018

Erste Station RabbitMQ RabbitMQ ist ein etablierter Message Broker, welcher in Erlang geschrieben ist. Erlang ist für hoch parallele Applikationen interessant, da es jeden Core der CPU mehr als gut ausnutzen kann (1 Thread pro Core – Erlang Prozesse kann man Millionen machen – siehe Actor Modell). Wie funktioniert RabbitMQ? Quelle: https://www.cloudamqp.com Dieses Bild zeigt die Funktionsweise: Eine Nachricht wird an einen Exchange geschickt. Anhand von konfigurierten Bindings wird die Nachricht an eine Queue weitergeleitet:


Dies und Das in ASP.NET Core

Feb 18, 2018

Immutable Objects aus dem Path Für das nachvollziehen von Fehlern in einem Code gibt es nichts angenehmeres als Immutable Objects, da sie den State nach dem Erzeugen nicht mehr ändern können. Immutable Objects werden per se nicht von .NET unterstützt (durch Reflection kann man sie immer ändern) – aber man kann durch e.g. Private-Setter einen ähnlichen Effekt erreichen. Auch AOP Postsharp bietet ein Immutable Threading Model. In ASP.NET Core musste ich ein wenig suchen – daher hier ein Beispiel:


Ausflug SQL Server

Feb 11, 2018

Relationale Datenbanken Ich konnte mich in letzter Zeit mit Microsoft SQL Server auseinandersetzen. Wie im Produkt schon zu sehen ist, spricht dieser Server “SQL” (Structured Query Language). Auch wenn jedes RDBMS einen eigenen Dialekt hat, so sind die Gemeinsamkeiten doch sehr groß. Jemand der in PostgreSQL CRUD-Operationen schafft, wird es auch in SQL Server schaffen. Auch wird man viele Konzepte immer wieder finden: Indextypen (Clustered, Non-Clustered) Interne Funktionsweisen (Heap Tables, Pages, …) Funktionsweise von Transaktion Query Planer (Cardinality Estimation bzw.


Software Architekturen

Dec 29, 2016

Hast du Bauch- und Kopfweh, dann schau dir spätestens jetzt das Thema Software Architekturen an. Inzwischen habe ich einige interessante Erfahrungen bzgl. dieses Themas gemacht: Viele wissen nicht, was eine Software-Architektur überhaupt ist. Das Wort ist in vielen Münder - ein paar “Kastln und Linien” halt – die irgendwer vorher mal gemacht hat … Oft wird es auch mit Software-Design und Solution-Architektur verwechselt … Das Thema interessiert nicht viele.


Static Site Generators unter Windows

Sep 4, 2016

Spätestens durch GitHub hat Static-Site Generation für die breite Masse an Bekanntheit gewonnen. Das Prinzip ist relativ einfach: statt auf einem Server die Seite von PHP oder ASP.NET “zusammenrechnen” zu lassen, macht man es auf dem Entwicklerrechner und spielt die einzelnen HTML Dateien anschließend auf dem Server. Die Vorteile die ich dadurch sehe: Der Webserver kann sehr einfach sein. Dadurch verringert sich die Komplexität in Wartung und Sicherheit. Migration auf andere Server sehr einfach.


Technologie ist nicht alles – Business Analyse und Requirement Engineering revised

Jul 26, 2016

We are Developers Ich hatte die “Ehre”, vor einem Monat die We are Developers Konferenz zu besuchen. Während der Konferenz gab es schon einige Unstimmigkeiten, welche Javascript Frameworks wohl die Besten sind. Viele Speaker sprachen sich gegen Framework X aus und verfechten das ultimative Framework Y. So ging es die ganze Zeit. Als eine Speakerin ein Framework (ich glaub es ging um das Framework von Xamarin) nicht kannte, ging ein Raunzen und Unverständnis durchs Publikum.


Business Analyse: Hoch kollaborative Umgebungen verstehen

Mar 23, 2016

In der Firma beschäftige ich mich momentan mit Business Analyse. Das Buch Business Analysis For Dummies [1] definiert Business Analyse wie folgt: set of tasks and techniques used to work as a liaison among stakeholders in order to understand the structure, policies, and operations of an organization, and to recommend solutions that enable the organization to achieve its goals. Es geht bei Business Analyse also darum, Unternehmensabläufe zu verstehen, um sie verbessern zu können.


Kryptographie

Feb 26, 2016

Die meisten Informationen habe ich aus dem Netz und aus dem Buch Kryptografie: Verfahren, Protokolle, Infrastrukturen (iX Edition). Wie man Wikipedia entnehmen kann, ist Kryptografie heute mehr als nur die Lehre der Verschlüsselung: … war ursprünglich die Wissenschaft der Verschlüsselung von Informationen. Heute befasst sie sich allgemein mit dem Thema Informationssicherheit … Das Thema hat eine lange Historie vorzuweisen. Heute ist es ein Hilfsmittel im Alltag geworden - ein Auszug: