Kategorie: Programmierung

  • Wettervorhersagen mit Daten des DWD – Teil [1/4]: Übersicht

    Wettervorhersagen mit Daten des DWD – Teil [1/4]: Übersicht

    Das Problem mit kommerziellen Wetter-APIs Wetter-Daten braucht man überraschend häufig. Irgendein Projekt, eine kleine App, ein Skript, das einem morgens die Jacken-Entscheidung abnimmt. Und fast immer landet man früher oder später bei derselben Frage: Welche API nutze ich? Die Antwort, die man überall findet, ist OpenWeatherMap. Manchmal auch Weather.com, AccuWeather oder den eingestellten DarkSky-Dienst von…

  • Wettervorhersagen mit Daten des DWD – Teil [2/4]: Die richtige Wetterstation finden

    Wettervorhersagen mit Daten des DWD – Teil [2/4]: Die richtige Wetterstation finden

    Wer mit MOSMIX-Daten arbeiten will, steht vor einer grundlegenden Frage: Welche Station ist die nächste zu einem gegebenen Ort? Wenn ein Nutzer „München“ eingibt, welche der 2.698 MOSMIX-Stationen liefert die treffendste Vorhersage? Das Problem ist, dass das DWD keinen maschinenlesbaren Katalog aller Stationen mit Koordinaten bereitstellt, um die richtige Wetterstation finden. Man muss sich die…

  • Wettervorhersagen mit Daten des DWD – Teil [3/4]: MOSMIX verstehen

    Wettervorhersagen mit Daten des DWD – Teil [3/4]: MOSMIX verstehen

    Wer mit DWD-Daten arbeiten will, muss sich mit KMZ (Keyhole Markup Language Zipped)-Dateien auseinandersetzen. Eine Binärdatei, die eine XML-Datei mit Hunderten von Zeitreihen enthält, in einem Schema, das man aus keiner npm-Paketbeschreibung errät. Dieser Artikel erklärt das MOSMIX-Format, warum es so aufgebaut ist, was es enthält und welche Fähigkeiten ein Programm braucht, das darauf zugreifen…

  • Wettervorhersagen mit Daten des DWD – Teil [4/4]: Die ganze Applikation

    Wettervorhersagen mit Daten des DWD – Teil [4/4]: Die ganze Applikation

    Nach der ganzen Theorie werden in diesem Artikel noch einmal alle Schritte zusammengefasst, damit man einen besseren Überblick über die notwendigen Elemente hat. Um den Code übersichtlich zu halten, wurden Eingabeüberprüfung, große Teile der Fehlerbehandlung und das Caching ausgelassen. Am Ende das Beitrags kann man zum einen ein Rumpfprogramm herunterladen, dass nur die westenlichen Elemente…

  • NodeJS: async.queue zeigt standardmäßig keine Fehlermeldungen an

    NodeJS: async.queue zeigt standardmäßig keine Fehlermeldungen an

    Derzeit erstelle ich einen benutzerdefinierten Web-Crawler und die einfachste Methode zur Implementierung von parallelen Funktionen ist die Verwendung des npm-Pakets „async“. Während des Programmierens stieß ich auf das Problem, dass das Programm nicht richtig funktionierte, aber das Terminal keine Fehler anzeigte. Also habe ich die Warteschlangenfunktion außerhalb von async getestet und sie hat wie erwartet…

  • Wochenend-Projekt: Jump to Header

    Wochenend-Projekt: Jump to Header

    Vor einiger Zeit ist mir der Browser „Nyxt“ über den Weg gelaufen. Ein Feature fand ich besonders praktisch, nämlich die Möglichkeit, die Überschriften (<H1> bis <H6″>) in einem Sidepanel anzuzeigen. Chrome verfügt seit einiger Zeit ebenfalls über einen Sidepanel. In diesem könnte man doch das gleiche Feature anzeigen. Eine kurze Suche im Webstore ergab, dass…

  • Meine 10 einfachen UX-Regeln

    Meine 10 einfachen UX-Regeln

    Eine Benutzeroberfläche zu entwerfen, das eine gute User Experience (UX) bietet, ist nicht einfach, und ich muss zugeben, dass Design als gelernter Programmierer nicht meine Kernkompetenz ist. Dennoch habe ich im Laufe der Jahre einige grundlegende Prinzipien gesammelt, die es mir ermöglichen, eine gute Benutzeroberfläche zu erstellen.

  • VSCode Tastaturkürzel, die ich tatsächlich benutze

    VSCode Tastaturkürzel, die ich tatsächlich benutze

    Visual Studio Code enthält Fantastilliarden Tastaturkürzel, aber im täglichen Leben verwende ich nur einen Bruchteil davon. Ich habe sie zusätzlich auf Tastaturkombinationen gelegt, die einfach zu erreichen sind. Diese Dreifinger-Kürzel sind echt verrückt, während andere, die ich nie benutze, wie „Cursor Undo“ auf „Ctrl-U“ gelegt sind. Bei Dir ist es vielleicht anders, aber ich bezweifle,…

  • Die moderne Art eine Radiobutton-Gruppe abzufragen

    Die moderne Art eine Radiobutton-Gruppe abzufragen

    Die Abfrage von Radiobutton-Gruppen war schon immer etwas aufwendig, weil man nur den Status eines einzelnen Radiobuttons und nicht die ganze Gruppe abfragen kann.

  • JavaScript-Module in WordPress-Plugins nutzen

    JavaScript-Module in WordPress-Plugins nutzen

    Module nichts nicht Neues in der JavaScript-Programmierung und es ist eine gute Praxis, den Code zu modularisieren. WordPress bietet von Haus aus keine Möglichkeit an, Skripte als Modul zu laden. Es existiert ein Ticket von Mitte 2022, aber es hat noch nicht viel Beachtung gefunden. Deshalb ist bis dahin ein Workaround nötig, wenn man Module…