Zum Inhalt

Monat: April 2016

Linkdump KW16/2016

Containers are not VMs | Docker Blog – Schöne Erklärung der Unterschiede zwischen VMs und Docker (Container)

NPM & left-pad: Have We Forgotten How To Program? | Haney Codes .NET – Vor knapp einem Monat gab es ja in der NodeJS Welt ein mittelschweres Desaster, weil ein Paket mit einer trivialen Funktion nicht mehr mittels npm zur Verfügung stand. Grundsätzlich sollte man für Ein-Zeiler oder absolut simpel zu implementierenden Dingen keine Abhängigkeit in ein Projekt holen.

The Codist: My Biggest Regret As A Programmer – Interessante Lebensbeschreibung(/-beichte) von vom Softwareentwickler, der nicht zum Manager wurde, sondern immer bei seinen Wurzeln geblieben ist.

How To Be A Great Developer — Medium – Auch wenn der Artikel auf Medium veröffenlicht wurde, kann ich inhaltlich nur voll und ganz zustimmen.

The Single Piece of JavaScript on Hacker NewsHacker News wird vielen ein Begriff sein. Interessant zu sehen, wie man mit sehr einfachem JavaScript Code, in Zeiten von gefühlt exponentiellem Wachstum der Anzahl von JS Frameworks, ein sehr gutes Ergebnis erzielen kann.

Linkdump KW14/2016

Docker Misconceptions – Docker wird aktuell immer noch wie die heiße Sau durch das Dorf getrieben, auch wenn es mittlerweile etwas abkühlt. Docker löst eben nicht einfach so alle Probleme in Luft auf, sondern wenn die zugrunde liegenden Dinge nicht verstanden hat, hat man eher man als weniger Probleme.

A day in the life of a slow page at Stack Overflow – Zugegeben etwas älter, aber im Kern immer noch top aktuell. ORM „kosten“ häufig einfach zu viel, gerade wenn es einem auf die Performance ankommt.

Und nachts ist es kälter als draußen | Übermedien – Viele Wettervorhersagen sind wirklich immer mehr auf Clickbait bzw. Sensationshascherei ausgelegt. Schöne Darstellung von Jörg Kachelmann.

TIL – Reihenfolge von ASP.NET MVC Exception Filtern

Als ich Gestern ein wenig mit Exception Filtern 1 experimentiert habe und ich hierbei zwei Filter für eine Methode gesetzt habe, ist mir aufgefallen, dass die Reihenfolge in der die Filter aktiviert wurden, nicht der entsprach, die ich erwartet habe. Als ich dann zusätzlich auch noch dem Filter Attribut die Order-Eigenschaft mitgegeben habe, war die Reihenfolge dann immer noch nicht wie erwartet.

Konkret sah das einfache Beispiel wie folgt aus.

[ExceptionLoggingFilter1(Order = 1)]
[ExceptionLoggingFilter2(Order = 2)]
public ActionResult Demo3()
{
    var value = int.Parse("test");
    return View("Index");
}

Erwartet habe ich, dass zunächst ExceptionLoggingFilter1 und dann ExceptionLoggingFilter2 abgearbeitet wird. Allerdings war es genau anders herum. Eine kurze Recherche brachte mich dann zu 2 und der Erkenntnis, dass OnActionExecuted, OnResultExecuting und OnException in umgekehrter Reihenfolge ausgeführt werden.

Will man also, wie ich es ursprünglich vor hatte, erst ExceptionLoggingFilter1 und dann ExceptionLoggingFilter2 abgearbeitet haben, muss der Code wie folgt aussehen.

[ExceptionLoggingFilter1(Order = 2)]
[ExceptionLoggingFilter2(Order = 1)]
public ActionResult Demo3()
{
    var value = int.Parse("test");
    return View("Index");
}

Einen wirklichen Sinn kann ich darin nicht erkennen, aber in diesem Fall ist die Hauptsache, dass man weiß, dass es so ist und entsprechend berücksichtigen kann.

Linkdump KW13/2016

Arbeitgebersiegel: Geschäfte mit dem schönen Schein – Arbeitswelt – FAZ – Schöner Artikel, der mal den ganzen Zinnober hinsichtlich der Zertifikate für „Beste“-Arbeitergeber näher betrachtet.

Terror in Brüssel: Mathias Döpfner über die Anschläge und die Freiheit – Man kann über die Bild-Zeitung und Herrn Döpfner im speziellen denken was man mag, aber in diesem Artikel bringt es wirklich gut auf den Punkt. Auch wenn es in diesen schwierigen Zeiten eine angemessene Reaktion zu scheint, so sollten wir mit allem was wir haben in diesen Zeiten unsere Freiheit verteidigen und nicht mal eben so unsere Bürgerrechte und den damit verbundenen Datenschutz aufgeben. Dann das würde nur die Angst schüren, die allgemeine Verunsicherung vergrößern und den Terroristen so in die Hände spielen.

Why we should fear a cashless world – Auch wenn ich persönlich bargeldloses Zahlen schätze, so schätze ich doch auch sehr die Möglichkeit von Zeit zu Zeit Dinge Bar bezahlen zu können.

A Great JavaScript Side Project is your Most Important Asset – Ein „Side Project“ zu haben schadet in keinem Fall. Auch wenn es ja nicht zwingend in JavaScript sein muss, so gibt es wirklich gute Gründe dafür, auch neben der eigentlich Arbeit noch ein wenig seinem Hobby nachzugehen.