Widgets/Plugins für das Dashboard von Wordpress programmieren

Heute habe ich mich mit Widgets für das Dashboard von Wordpress beschäftigt und musste feststellen, dass die Doku dazu mehr als dürftig ist mittlerweile einigermaßen gut ist: Codex Dashboard API. Damit nicht noch mehr Leute unwissend sterben, habe ich mich entschlossen ein kurzes Tutorial zu schreiben… Ein wenig Hilfe findet sich im SourcePHP des Dashboards von Wordpress. Leider ist dieser aber eher rudimentär. Es beginnt mit dem Header des Widgets, welcher wie jeder andere PluginHeader aussieht:...

9223372036854775807

Wer schon mal über die Zahl 9223372036854775807 gestolpert ist, wird sich fragen was sich dahinter verbirgt. Eigentlich einfach: Es ist der maximale Wert eines 64 Bit signed integer (2^63 -1), meistens auch als “long” oder “bigint” bezeichnet. Wenn dieser auftaucht, kann man meist von einem Überlauf oder Programmierfehler ausgehen. Und genau letzteres ist bei mir aufgetreten ;)

Umwandlung von Int zu Fload im Arduino Code

Vor kurzem habe ich mit dem SI7021 an meinem ESP8266 gespielt und dabei festgestellt, dass die verwendete Bibliothek die Temperatur ohne Komma oder Punkt ausgibt. Also 2495 statt 24,95°C. Soweit nicht so wild, aber für die Übergabe an MQTT war es notwendig einen Float-Wert für die Temperatur auszugeben. Und so gehts: 1 2 3 float tempfloat; int tempint = 2495; tempfloat = (float) tempint / 100.0; Bei der Division ist dabei wichtig, dass die Nachkommastelle angegeben wird....

DNS-Server auf der Basis von PHP

Alle Links in diesem beitrag sind leider tot und daher entfernt. Vor einigen Tagen hatte ich einen Artikel von einem, meines Erachtens gleichzeitig verrückten und genialen Programmierer gelesen, der einen kompletten DNS-Server in PHP implementiert hat. Mittlerweile hat der Developer zu seinem DNS-Server auch einen Benchmark veröffentlicht, der dem PHP-DNS-Server eine Performance von etwa 25% des Bind9-Servers bescheinigt. Ziemlich beeindruckend, wie ich finde, denn momentan setzt der DNS-Server auf SQLite und lässt den Aspekt des Cachings komplett aus....

Zend_DB: Datenbankverbindungen mit Zeichensatz UTF-8

Ein leidiges Problem im Webdevelopment sind die verschiedenen Zeichensätze. Viele Anbieter von Datenbanken setzen latin-1 als Standard, was gerade bei Seiten, die sich voll international ausrichten wollen, ein wenig Probleme bereiten kann. Oft führt das zu defekten Ausgaben. In diesem Beitrag möchte ich ein paar Lösungen für das Problem aufzeigen und zum Schluss die Lösung anhand des Zend Framework kurz zeigen. Für die Extension mysql kann man natürlich einfach mittels:...

Das JavaScript-Framework "jquery" im Überblick

Ich setze bei allen Projekten jQuery als Framework für das Handling aller Javascript-Aktionen ein. Zitat Wikipedia: jQuery ist ein freies, umfangreiches JavaScript-Framework, das mächtige Funktionen zur DOM-Navigation und -Manipulation zur Verfügung stellt. Zur Navigation unterstützt es große Teile von XPath und vor allem CSS-Selektoren. Hinzu kommen verschiedene Programmierhilfen für Ajax wie vereinfachtes Event-Handling und animierte Effekte. Beispielweise unterstützt es trotz seiner kleinen Größe von nur 15kb in allen Browsern eine einfach Verarbeitung von JSON-Requests und alle Ein/Überblendungen, die ich mir wünsche....

Tutorial zur Erstellung eines Java-Projektes mit Maven-Unterstützung mittels m2eclipse

In Fortsetzung meiner Artikelreihe zum Thema Maven möchte ich diesmal das Erstellen eines Maven-Projektes mittels des m2eclipse behandeln. Dabei gehe ich auf die einzelnen Schritte des Prozesses und die Angaben dazu ein. Nach der Installation von m2eclipse finden sich in “File” -> “New” -> “Other” unter dem Stichwort “Maven” ein paar neue Punkte. Im Bild rechts sieht man die verfügbaren Punkte “Checkout Maven projects from SCM”, “Maven Module”, “Maven POM File” sowie “Maven Project”....

Java: Umwandlung von relativen in absoluten Pfad

Ich hatte in einem Projekt gerade den Fehler, der darauf hingedeutet hatte, dass ich einen falschen relativen Pfad angegeben hatte. Somit wollte ich nun als debugging eine Ausgabe des absoluten Pfades durchführen. Die Umwandlung ist (wenn man weiss wie) recht einfach, unten sind die beiden Möglichkeiten: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import java.nio.file.*; public class MyPath { public static void main(String[] args) throws Exception { String RELATIVE_PATH = "....

Short Conditional If-Anweisungen in PHP

PHP bietet eine schnelle möglichkeit um schnelle Bedingungsanweisungen auszuführen. Sogenannte “Short Conditional if-Anweisungen” erlauben If-Abfragen schneller zu schreiben. Diese Art wird auch Trinitäts-Operator genannt. 1 (bedingung) ? true: false; Die Bedingung wird im prinzip wie bei einer “normalen” if-Anweisung definiert. Daraufhin wird mit “true”, angegeben, was geschehen soll, wenn die Bedingung erfüllt ist. False gibt das jeweilige Ereignis an, welches eintritt, wenn die Bedingung nicht erfüllt wurde. Ein Beispiel: 1 2 3 4 <?...

Zend Framework 1.8 ist erschienen

Nach dem Preview Release vor einigen Wochen ist gestern nun die finale Version 1.8 des Zend Framework im SVN von Zend erschienen. Wie immer sind einige neue Features hinzugekommen und einige Bugs gefixed worden, die gesamte Liste ist hier zu finden. Diese Features sind die wichtigsten Neuerungen gegenüber 1.7.*: Zend_Tool (von Ralph Schindler) Zend_Application (von Ben Scholzen and Matthew Weier O’Phinney) Zend_Loader_Autoloader und Zend_Loader_Autoloader_Resource (von Matthew Weier O’Phinney) Zend_Navigation (von Robin Skoglund und Geoffrey Tran, Zym) Zend_CodeGenerator (von Ralph Schindler) Zend_Reflection (von Ralph Schindler and Matthew Weier O’Phinney) Zend Server Backend für Zend_Cache (von Alexander Veremyev) Zend_Service_Amazon_Ec2 (von Jon Whitcraft) Zend_Service_Amazon_S3 (von Justin Plock und Stas Malyshev) Zend_Filter_Encrypt (von Thomas Weidner) Zend_Filter_Decrypt (von Thomas Weidner) Zend_Filter_LocalizedToNormalized and _NormalizedToLocalized (von Thomas Weidner) Unterstützung für Upload-Fortschrittsanzeige in Zend_File_Transfer (von Thomas Weidner) Routen mit Übersetzungsunterstützung (von Ben Scholzen) Zend_Json Unterstützung für Ausdrücke (von Benjamin Eberlei und Oscar Reales) Zend_Http_Client_Adapter_Curl (von Benjamin Eberlei) SOAP Ein- und Ausgabeheader-Unterstützung (Von Alexander Veremyev) Unterstützung für das Schlüsselwort-Feld unter Benutzung von Anfragestrings (Von Alexander Veremyev) Unterstützung für die Suche über mehrere Indexes in Zend_Search_Lucene (Von Alexander Veremyev) Deutliche Verbesserungen der Hervorhebung von Suchergebnissen Zend_Search_Lucene (Von Alexander Veremyev) Unterstützung für Skalierung, Verschiebung und Verdrehung von Seiten in Zend_Pdf (Von Alexander Veremyev) Locale Unterstützung in Zend_Validate_Int und Zend_Validate_Float (von Thomas Weidner) Zend_Tag_Cloud (von Ben Scholzen) Phonecode Unterstützung in Zend_Locale (von Thomas Weidner) Zend_Validate_Db_RecordExists and _RecordNotExists (von Ryan Mauger) Zend_Validate_Iban (von Thomas Weidner) Zend_Validate_File_WordCount (von Thomas Weidner) Zend_Application und Zend_Tool sind für mich die wichtigsten Änderungen, alle anderen Addons sind aber auch bemerkenswert....