Noch ein "sinnvoller" Blog

Autor: Paul (Seite 2 von 3)

Visual Studio 2019 – Project Templates

Nachdem ich heute zwei kleine REST-Services für mein Server geschrieben hatte und noch einen zusätzlichen Service aufsetzen wollte hab ich mir gedacht, dass das ganze doch einfacher gehen muss als jedes mal wieder alle benötigten NuGet Pakete hinzuzufügen, die allgemeinen Klassen zu erstellen (naja eher Copy & Paste aus einem bestehenden Projekt) und so weiter.

Weiterlesen

SZ.de – Echt jetzt?

Die neuen Browser (Firefox, Opera, etc.) besitzt ja mittlerweile die Funktion, das Werbung und Tracker automatisch blockiert werden. Das ganze schau ich mir seit dem letzten Update von Opera hin und wieder auch mal an. Aktuell hat bisher SZ.de den Vogel abgeschossen:

Blockt man die Werbung sieht man auf der Seite leider ohne Abo nichts mehr. Ok, bei SZ.de kann ich aber eigentlich mit der Werbung leben. Aber wenn man sich mal die Anzahl der Tracker anschaut… Was tracken die den bitte alles?!

Ich glaub ich sollte mal anfangen mir zu notieren wer wo wie viele Tracker im Einsatz hat.

DOOM: Annihilation oder WTF?!

Als ein neuer Film von DOOM angekündigt wurde (ich glaub das war 2018) dachte ich mir, bestimmt haben die Macher vom letzten Film (Doom von 2005 mit Dwayne Jonhson, Karl Urband & Rosamund Pike) gelernt und halten sich diesmal mehr an die Story vom Spiel. Das war ja bei dem Teil von 2005 nicht so ganz der Fall (wer mehr dazu wissen will, einfach mal bei den einschlägigen Seiten wie Imdb oder Wikipedia vorbei schauen). Also war ich erstmal guter Dinge. Irgendwann hab ich den Film dann wieder vergessen gehabt. Bis vor ein paar Tagen. Ich hab bei den bekannten VoD-Diensten nach etwas gutem für ein langweiligen Abend gesucht und bin dabei über den neuen Doom Film gestolpert. Für 4,99€ (bei PSN) kann man sich den wohl mal antun hab ich mir gedacht (die Rezensionen, etc. hab ich einfach mal links liegen gelassen). Also gesagt getan…

Achtung Spoiler! Weiterlesen auf eigene Gefahr 🙂

Weiterlesen

Programmer Wallpaper…

Nach sehr langer Zeit hab ich mal wieder etwas mit GIMP gearbeitet. Nach etwas einarbeitungszeit (die Menüs / Funktionen haben sich doch wohl verändert), hab ich mich mal wieder daran gemacht ein Wallpaper zu erstellen. Das Ergebnis könnt ihr hier bestaunen 🙂

Being a programmer…

Passend dazu hier noch ein etwas älterer Wallpaper.

Software engineer

C# – Lücken in int-Listen finden

Hat man z.B. eine Liste mit Ids und möchte prüfen ob es dort Lücken gibt, kann man das ganz einfach wie folgt tun:

Im ersten Schritt (Zeile 8) wird die Liste einmal sortiert. Anschließend wird das erste Element (Zeile 11) und das letzte Element (Zeile 13) aus der Liste entnommen. Danach wird die Anzahl der Elemente (Zeile 15) ermittelt.

In Zeile 18 wird danach eine neue, komplette Liste erstellt. Anschließend werden die beiden Listen (rangeList, originalList) miteinander verglichen um zu schauen wo Lücken vorhanden sind. Diese Liste wird am Ende zurückgegeben.

Beispiel

Gehen wir davon aus, das wir die folgende Liste vorliegen haben:

var tempList = new List<int> { 3, 9, 14, 15 };
  • Erste Element (Zeile 11): 3
  • Letzte Element (Zeile 13): 15
  • Anzahl Elemente (Zeile 15): 13

Mit diesen Werten wird jetzt eine neue Liste erstellt, welche bei 3 beginnt und insgesamt 13 Elemente enthält:

var rangeList = Enumerable.Range(first, count);
// Result: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15

Mit Except werden die beiden Listen jetzt mit einander verglichen. Als Ausgangspunkt wird hier die neu erstellte Liste genommen. Dagegen wird die original Liste gehalten. Als Ergebnis erhält man jetzt alle Einträge, welche in der neuen Liste (rangeList) vorhanden sind jedoch nicht in der originalen Liste (tmpList). Das Ergebnis sieht dann wie folgt aus:

var gapList = rangeList.Except(originalList);
// Result: 4, 5, 6, 7, 8, 10, 11, 12, 13

Das ganze ist jetzt relativ ausführlich geschrieben um einmal die einzelnen Steps zu verdeutlichen. Am Ende (Zeile 27) findet man aber noch mal einen kleinere Aufruf, so dass man sich die Zeilen 10 – 24 sparen kann.

return Enumerable.Range(originalList.First(), 
    originalList.Last() - originalList.First() + 1).
    Except(originalList).ToList(); 

C# – ZimLabs.Utility & ZimLabs.WpfBase – Version 0.1.0

Die Tage hab ich ein paar Änderungen an den Bibliotheken ZimLabs.Utility und ZimLabs.WpfBase vorgenommen und Version 0.1.0 veröffentlicht.

Änderungen

An der WPFBase wurde nur die Versionsnummer auf 0.1.0 gehoben, der Utility hab ich aber ein paar neue Funktionen spendiert. Alle Infos dazu findet ihr hier: ZimLabs – Changelog

Installation

Installieren könnt ihr euch die Bibliotheken wie gewohnt über den NuGet-Package Manager:

PM> Install-Package ZimLabs.Utility -Version 0.1.0
PM> Install-Package ZimLabs.WpfBase -Version 0.1.0

Doom Eternal

Auf der E3 hat Bethesda bzw. id neues Material von Doom Eternal gezeigt sowie den Erscheinungstermin genannt. Und zwar wird Doom Eternal am 22. November 2019 erscheinen. Vorbestellen kann man das Spiel jetzt schon auf den gängigen Plattformen.

Das beste an der Vorstellung, war meiner Meinung nach der der Story Trailer, welcher einen guten Einblick in den Nachfolger von Doom 2016 gibt. Es wird auf jeden fall schneller werden, aber seht selbst:

Doom Eternal – Offizieller E3-Storytrailer (Quelle: Youtube, Kanal: Bethesda)

Neben dem Story-Trailer wurde auch der neue „Multiplayer“ (Battle-Mode) vorgestellt. Den alten Multiplayer wird es so nicht mehr geben. Der neue „Multiplayer“ unterscheidet sich auch drastisch von dem alten. Konnte man bei dem alten noch mit mehreren Spielern gegeneinander antreten, können bei dem neuen Multiplayer nur 3 Leute gegeneinander spielen. Einer davon spielt den Doom Slayer während die beide anderen in die Rolle eines beliebigen Dämons schlüpfen.

Ich persönlich bin nicht mehr so der Fan von Multiplayer Spielen trotzdem muss ich sagen, das mich der neue Modus doch wohl reizt.

24h von Le Mans / Nürburgring

Am kommenden Wochenende ist es endlich wieder soweit 🙂 Am 15. und 16. Juni findet das 87. 24h Rennen von Le Mans statt. Im FreeTV wird das ganze von Eurosport 1 übertragen.

Wer Motorsport Fan ist, sollte sich das definitiv nicht entgehen lassen. Es ist wesentlich interessanter als die Formel 1 und selbst im TV ist man „Hautnah“ dabei!

Wer danach noch nicht genug hat, sollte sich definitiv auch das folgende Wochenende 22. und 23. Juni im Kalender ankreuzen. Dann findet auf dem Nürburgring das 24h Rennen statt. Neben Le Mans ein must see für Motorsport Fans wie ich finde.

C# – „Objekte“ vergleichen

Möchte man zwei Objekte miteinander vergleichen kann man dies über die Equals-Methode machen. Bei primitiven Datentypen wir z.B. einem string, einem int, etc. ist dies auch recht einfach. Sobald man jedoch ein benutzerdefiniertes Objekt mit einem anderen vergleichen will, wird dies schon etwas komplizierter. Man könnte dies lösen, in dem man von dem Objekt die Equals Methode überschreibt und dort drin dann alle entsprechenden Prüfungen vornimmt. Bei vielen benutzerdefinierten Objekten in einem Projekt ist dies jedoch eine ziemliche Schreibarbeit. Mit Reflection kann man das ganze ein wenig abkürzen:

Wie man hier sehen kann, wird per Reflection durch jedes Property itteriert und geschaut ob die Werte übereinstimmen. Für relativ simple Objekte funktioniert dies auch sehr gut, komplizierter wird dies jedoch bei Objekten, welche wiederum benutzerdefinierte Objekte beinhalten. Hier wird wohl kein Weg daran vorbei führen, die Equals-Methode zu überschreiben.

« Ältere Beiträge Neuere Beiträge »

© 2024 Paul's Blog

Theme von Anders NorénHoch ↑