Kartendienst auf eigener Webseite mit ArcGIS API for JavaScript

TL;DR: Demo einer Kartenanwendung mit esri Wenn man eine eigene Karte auf der Webseite darstellen will, nutzt man meistens Google Maps. Auf dem Gebiet der Geodatenanwendungen ist allerdings Google eher ein Newbee. Der alte Platzhirsch heißt esri. Im Bereich der webbasierten Karten wie Google Maps hatte esri etwas geschlafen. Aber in den letzten Jahren gibt […]

DSGVO – oder heute kotze ich

So heute schreibe ich keinen Technikbeitrag. Heute bin ich einfach nur genervt: Draußen hat es 25° und ich kann mich hinsetzen und mich mit dem neuen Monster DSGVO herumschlagen. Ich habe mir heute sogar noch eine c’t gekauft, in der Hoffnung hier “für den kleinen Webmaster” ein paar praxisnahe Anleitungen mit dem Kompaktratgeber zu bekommen. […]

Eigener Webcrawler mit Scrapy

Mit der Python Bibliothek Scrapy kann man relativ schnell einen eigenen Crawler aufsetzen – also ein Programm, das alle Seiten einer Website durchläuft. Dabei können dann bestimmte Aktionen durchgeführt werden. Im Folgenden Beschreibe ich kurz, wie man unter Windows Scrapy als Crawler einsetzen kann. Zunächst sollte man einige Einstellungen überprüfen bzw. vornehmen: Die PATH Variable […]

MySQL Volltextsuche – Stoppwörter für deutsche Sprache konfigurieren

Die MySQL Volltextsuche ist eine relativ einfache Möglichkeit um eine Datenbanktabelle nach Text zu durchsuchen. Im Gegensatz zur Suche mit LIKE, bietet die MySQL Volltextsuche die Vorteile, dass ein Index erstellt wird und die Suche schneller abläuft. Außerdem werden die Ergebnisse nach Relevanz sortiert zurückgeliefert und einiges an „Filterarbeit“ durch das DBMS erledigt. Diese „Filterarbeit“ […]

Allow Origin Header für mehrere Domains setzen

In einem früheren Artikel habe ich schon einiges über Cross-Domain Zugriffe (CORS) geschrieben. Wenn man z.B. einen Webservice anbieten will, hat man meistens einige Domains, denen man den Zugriff über Ajax auf den Dienst genehmigen will. Bei einer Domain setzt man folgenden Header in PHP: header(‘Access-Control-Allow-Origin: http://www.anfragendedomain1.de’); Man kann als zweiten Parameter angeben, ob der […]

Gibt es Backlinks zu einer Seite auf Wikipedia?

Vor allem für die Suchmaschinenoptimierung ist es interessant, ob bei Wikipedia Links auf eine bestimmte Seite gesetzt werden. Die Wikipedia-API bietet viele Möglichkeiten um den Inhalt von Wikipedia-Seiten automatisiert auszuwerten. Mit folgender PHP Funktion kann man diese sogenannten Backlinks einer URL auf Wikipedia finden. function get_wikipedia_backlinks($url, $language=”en”) { $url = preg_replace(“(^https?://)”, “”, $url); $wiki_url = […]

PHP Script zeitgesteuert unter Windows mit dem Aufgabenplaner ausführen

Wahrscheinlich kommt es in der Praxis oft nicht vor, da man bei Linux Cron-Jobs für eine zeitgesteuerte Ausführung eines Programms nutzt, aber ich will dennoch zeigen, wie man zeitgesteuert ein PHP-Programm unter Windows mit dem Aufgabenplaner (Scheduler) ausführen lassen kann. Folgende Ordnerstruktur habe ich angelegt. Die Aufteilung in zwei Dateien wähle ich aus Demogründenden – […]

CSS Grid Layout

… oder wollen wir lieber sagen: ASCII Art Layout? Es wird Zeit sich mit einem neuen Layoutmodul auseinanderzusetzen. Lange Zeit waren Floats das Mittel der Wahl für Layouts von Webseiten. Dann kam Flexbox, das aber auch nur partiell Lösungen z.B. für eine Navigationsleiste bietet, da es sich um eine eindimensionales Layoutsystem handelt (eine Zeile oder […]

Liste von PHP Bibliotheken

Folgende Liste von PHP Bibliotheken bzw. Modulen habe ich mit der Zeit zusammengestellt, die einen guten Eindruck machen. Ich habe dabei darauf geschaut, wie sie gepflegt werden, wie verbreitet sie sind und wie die Dokumentation aussieht. Die Liste ist bestimmt nicht vollständig und erhebt auch keinen Anspruch darauf. Assets Assetic https://github.com/kriswallsmith/assetic Bildgrößen ändern / Thumbnail […]

file_get_contents über Proxy

Die PHP Funktion file_get_contents ist praktisch. Mit ihr kann man Inhalt von diversen Datenquellen – nicht nur Dateien – einlesen um sie danach weiter zu verarbeiten. Man kann der Funktion bspw. auch eine URL übergeben. Leider funktioniert das nicht hinter einem Proxy. Hier hilft ein Streamcontext. $aContext = array( ‘http’ => array( ‘proxy’ => ‘tcp://PROXYIP:PROXYPORT’, […]