JavaScript Codeschnipsel: Farbwechsel im Sonnenlauf

Ich mag es, wenn auf der Webseite dynamische Elemente basierend auf kalendarischen Ereignissen verankert sind, also zum Beispiel der das Hintergrundbild automatisch an die Jahreszeiten angepasst werden. Da ich ein fauler Mensch bin, programmiere ich lieber einen Algorithmus, anstatt von Hand bei jeder Gelegenheit Bilder oder CSS Code auszutauschen.

Aktuell lasse ich die Farbe des Hintergrunds auf meiner Webseite durch das Jahr hinweg anders erscheinen, dabei soll es so sein, dass zum Zeitpunkt der Wintersonnenwende, also rund um den 21./22. Dezember der Hintergrund passend dunkel, hier: schwarz sein soll, wohingegen im Sommer, zur Sommersonnenwende dann natürlich ein helles weiß erstrahlen soll. Der Hintergrund der Webseite passt sich also in den Grautönen der vermeintlichen Helligkeit oder Sonnenstunden am jeweiligen Tag an.

Gelöst habe ich dies mittels einer kleinen JavaScript Funktion, die den CSS Code verändert, die ich hier auch gerne zur Verfügung stelle.

weiterlesen…JavaScript Codeschnipsel: Farbwechsel im Sonnenlauf

Taschenrechner

Bild: © 422737 / Pixabay (modifiziert)

Einen besseren Taschenrechner programmieren

Im ersten Beitrag hatte ich gezeigt, wie man mit Hilfe der Postfix, bzw. Polnischen Notation einen einfachen Taschenrechner programmieren kann. Dieser hatte allerdings einige Schwächen, da er einige allgemein anerkannte Rechenregeln wie Punkt-vor-Strich nicht respektiert, mit negativen Zahlen nicht sauber zurecht kommt und auch noch andere Schwächen besitzt. In diesem zweiten Teil sollen diese Mängel ausgebügelt werden und der Taschenrechner deutlich ausgebaut werden.

Die Beispiele zur Programmierung eines Taschenrechners auf dieser Seite sind in JavaScript programmiert. Eine PHP Version folgt.

weiterlesen…Einen besseren Taschenrechner programmieren

Taschenrechner

Bild: © 422737 / Pixabay (modifiziert)

Einen einfachen Taschenrechner programmieren

Für die Überarbeitung meines Würfel Tools @RollButler wollte ich von einem in JavaScript eher schlampig programmierten Tool weg zu einem leistungsfähigerem Code wechseln. Bereits bei der JavaScript Version war die Würfel Anwendung auch als Taschenrechner nutzbar, allerdings nur als Seiteneffekt eines verwendeten Befehls, den ich persönlich für diesen Zweck eher unschön empfinde. Also war der Rückgriff auf längst verdrängtes Wissen aus meinem Studium der Informatik von vor 25 Jahren erforderlich. Ein wenig Recherche im Internet beschleunigte meine grauen Zellen, doch alle angebotenen Lösungen griffen entweder auf das “eval” Kommando zurück, oder ignorierten Punkt-vor-Strichrechnungen. Dabei ist die Lösung doch vergleichsweise einfach.

Im ersten Abschnitt gehe ich auf die Variante mit der eval-Funktion ein, bevor ich danach die bessere Option mit dem Umweg über die Polnischer Notation vorstelle und diese im zweiten Teil noch einmal verbessere.

weiterlesen…Einen einfachen Taschenrechner programmieren

Zahlenkolonnen

Bild: © PublicDomainPictures / Pixabay (modifiziert)

Qualität von Zufallszahlen

Für den gemeinsamen Spielabend reichen in der Regel die alten, namensgebenden, sechsseitigen Objekte aus. Im Spielcasino kommen extrem scharfkantig geschliffene Würfel zum Einsatz und werden nach einigen Runden der Benutzung auch noch ausgetauscht. In der Kryptographie – mit der man tagtäglich mehr zu tun hat als mit irgendeinem Spiel – erzeugt man den erforderlichen Zufall mit einer Rechenformel, die weit weg von einem klassischen Würfel und damit dem eigentlichen Zufall ist.

weiterlesen…Qualität von Zufallszahlen

PHP Code

Bild: © Simplu / Pixabay (modifiziert)

Suchen und Ersetzen mit MySQL: REPLACE

In meiner Datenbank für das Content Management System sind auch die Untertitel für die einzelnen Bilder gespeichert. Um den gesetzlichen Anforderungen gerecht zu werden und alle Bilder mit Hinweis auf die Bildautoren korrekt zu kennzeichnen, musste ich einen unschönen Workaround verwenden. In der Konsequenz ist in einigen Datenbankfeldern nun HTML Code eingetragen. Bei einer deutlich dreistelligen Anzahl dieser Felder ist eine manuelle Pflege kaum noch möglich. Mühsam habe ich nun in den vergangenen Wochen die Inhalte dieser Felder halbautomatisch auf ein einheitliches … weiterlesen…