Speichern von Einstellungen in C# mit AppSettings

Wie speichert man eigentlich schnell und einfach Einstellungen in C# Anwendungen? Diese Frage hat sich sicherlich jeder einmal in seiner C# Laufbahn gestellt und die Antwort ist so simpel. Am einfachsten geht es mit den AppSettings des ConfigurationManager im .Net-Frameworks.
Das .Net-Framework bringt nämlich gleich einen eigenen Manager zum verwalten und speichern von Einstellungen mit sich. Die Eigenschaften werden im gebräuchlichen XML-Format abgelegt. Und damit ihr seht, dass der Umgang mit den AppSettings wirklich ein Kinderspiel ist, habe ich euch zwei kleine Methoden zum Speichern/Ändern und Auslesen von Einstellungen geschrieben.

public string getAppSetting(string key)
{
//Laden der AppSettings
Configuration config = ConfigurationManager.OpenExeConfiguration(
System.Reflection.Assembly.GetExecutingAssembly().Location);
//Zurückgeben der dem Key zugehörigen Value
return config.AppSettings.Settings[key].Value;
}

public void setAppSetting(string key, […]

JavaScript Progressbar mit HTML5 Canvas

JavaScript Progressbar
Da ich für ein zukünftiges Webprojekt eine Progressbar brauchte, wenn möglich auf JavaScript basierend, und ich keine Komponente finden konnte, die meinen Vorstellungen entspricht, habe ich mich entschieden, meine eigene Progressbar zu schreiben.
Umgesetzt wurde das Projekt in Javascript unter Zuhilfenahme des HTML5 Canvas Elements. Dadurch kommt die Progressbar vollständig ohne irgendwelche Bilddateien aus, wie es zumeist bei anderen JS/CSS Lösungen der Fall ist. Die Progressbar kann momentan einen Status von 1 bis 100 Prozent anzeigen. Fehleingaben werden abgefangen und es wird, auch optisch, eine Errormeldung angezeigt.
Da ich meine Entwicklungen gerne teile und sicherlich nicht der Oberprofi in JavaScript bin, stelle ich euch die Progressbar natürlich zur Verfügung. Für Kritik, Lob und Verbesserungsvorschläge bin ich wie immer jederzeit offen.
Eine Demo der Progressbar könnt ihr euch hier […]

Gzip-Komprimierung in WordPress aktivieren

Bisher habe ich mir über die Ladezeiten meiner Seite noch keine großen Gedanken gemacht. Bisher war ich auch der Überzeugung, dass WordPress von sich aus die Gzip-Komprimierung nutzen würde. Wie gesagt, bisher. Heute musste ich feststellen, dass WordPress genau jenes eben nicht tut.
Für all jene, die nichts mit Gzip anfangen können, noch eine schnelle Erklärung. Gzip ist ein Kompressionsverfahren, um die Größe einer Datei zu minimieren. Am populärsten ist es heutzutage auf Unix-Systemen. Verwendung im Webseitenbereich findet es, wenn es darum geht, die vom Server an den Nutzer zu sendenden Daten zu verkleinern. So wird der beim Aufruf entstehende Traffic vermindert, was gleichzeitig eine Verringerung der Ladezeit der Webseite mit sich bringt.
Langer Rede, kurzer Sinn. Wie bekomme ich denn nun die Gzip-Komprimierung in WordPress aktiviert? Eine Option in der Einstellungsseite von WordPress gibt es dafür leider nicht. Es bleiben also zwei Möglichkeiten. Zum einen die Nutzung eines Plugins wie z.B. […]

C# Random.Next(int, int) – obere und untere Grenze richtig setzen

Der Teufel ist ein Eichhorn, oder auch der Fehler liegt im Detail. Ich wollte gestern eine zufällige Zahlenreihe mit 0 und 1 erstellen. Das Visualstudio sagt mir hierzu nutze die Random.Next(int, int) Methode, wobei der erste Integer die untere Grenze und der zweite Integer die obere Grenze definiert. Nicht mehr und nicht weniger. Also müsste folgendes doch funktionieren:

Random rnd = new Random();
int zzahl = rnd.Next(0,1);

Falsch gedacht! So bekommt man nur eines – und zwar nur Nullen. Ein Blick in die MSDN Library sorgt für Aufklärung. Dort wird nämlich, im Gegenteil zum IntelliSense vom VisualStudio, erklärt, dass die untere Grenze inklusiv und die obere Grenze exklusiv ist.
Parameter
minValueTyp: System.Int32
Die inklusive untere Grenze der zurückgegebenen Zufallszahl.
 
maxValue
Typ: System.Int32Die exklusive obere Grenze der zurückgegebenen Zufallszahl. maxValue muss größer oder gleich minValue sein.

Im Klartext heißt das, dass der korrekte Aufruf um Nullen und Einsen zu generieren wie folgt aussehen müsste:

Random rnd = new Random();
int zzahl = rnd.Next(0,2);

Ich hoffe, ich konnte dem ein […]

Zufallszahlen in PHP mit rand() oder mt_rand() erstellen?

Nachdem mich René in den Kommentaren zu meinem Artikel über die Generierung von unterschiedlichen Zufallszahlen in PHP darauf hingewiesen hat, dass es sinnvoller sei, die PHP-Funktion mt_rand() anstelle von rand() zur Erstellung von Zufallszahlen zu nutzen, habe ich beschlossen ein wenig nachzuforschen und einen Artikel darüber zu schreiben. Aber was ist mt_rand() eigentlich?
Mit mt_rand() kann man genauso wie mit rand() Zufallszahlen generieren. Der Aufruf der Funktion erfolgt genauso, wie mit der normalen rand() Funktion. Zusätzlich heißt es in der PHP-Doku, würde mt_rand() Zufallszahlen bis zu 4-mal schneller generieren und diese auch wesentlich willkürlicher Auswählen. Kurz: Die von rand() erstellten Zufallszahlen seien nicht wirklich zufällig.
Mir war die ganze “Problematik” bis dato nicht bekannt und schon nach kurzem googeln musste ich feststellen, dass René mit seiner Meinung nicht alleine ist. Allerdings muss man auch dazu sagen, dass die meisten Beiträge, die beklagen, dass rand() nicht sauber arbeitet schon “etwas älter” sind.
Oft zitiert […]