API-Gateway Kong

Nur kurz notiert: Kong ist ein open source API-Gateway. D.h. es wird “vor” bestehende API “geschaltet”. Beim “Durchleiten” der Requests kann es allerlei Funktionen erfüllen. Er basiert auf einem Nginx als Reverse Proxy. Fakten: Einfach installierbar via Docker, Vagrant, Mac HomeBrew u.a. Authentifizierung, Autorisierung Resilience Traffic-Control Auswertungen skalierbar erweiterbar durch Plug-Ins etc. Beobachtungen: einfach zu Read More…

Java-Objekte versionieren: Gson und JaVers

Hier nur ein kleiner Hinweis auf zwei Java-Bibliotheken, über die ich kürzlich gestolpert bin. Beide verwendet man, wenn man Java-Objekte versionieren möchte, also deren Zustände aufheben, um darauf später zugreifen zu können – also Historisierung, Versionierung – wie man es nennen möchte. Trotzdem beide recht unterschiedlich: Gson mit der guter Einfühung und Dokumentation: Gson ist Read More…

gitlab mit docker selber hosten

Es gibt Dinge, die möchte ich zwar 1. in einem git (-Server) speichern aber 2. nicht auf einem öffentlichen – auch nicht, wenn das entsprechende Repository nicht öffentlich zugreifbar ist. Beispiel: Konfigurations- oder andere Dateien, die Passwörter enthalten. Lösung: Ich installiere mit gitlab (gitlab-ce also die Community-Edition) selber. Mit docker und docker-compose geht das wieder Read More…

Cross-Platform-Entwicklung mit Flutter

Ich bin neulich über die Ankündigung Announcing Flutter beta 1: Build beautiful native apps gestolpert. Es geht um Flutter, ein Framework und Toolset zum Entwickeln von Cross-Plattform nativen Apps (iOS und Android). Mich hat das sofort angesprochen, so dass ich gleich mal das erste Tutorial durchgearbeitet habe. Ein paar Aspekte, die mir gefallen: Echte native Apps, sehr flüssig. Read More…

Java-9-Highlights

Diese Woche durfte ich eine Schulung zu Java-9 mitmachen. Dabei habe ich die für mich interessantesten Highlights notiert, die ich hier kurz wiedergeben möchte. Da meines Erachtens das Modulsystem “Jigsaw” das hightlight darstellt, hat es einen eigenen Abschnitt – danach kommt nur noch “Kleinkram”. (Man möge mich belehren, wenn ich da etwas übersehe.) Modularisierung “Jigsaw” Read More…

jq: ein sed für JSON

jq ist ein sehr nützliches Tool, um JSON-Dateien (bzw. z.B. JSON-Ausgaben) auf einfache Weise zu bearbeiten, filtern oder transformieren. Ich habe es schonmal erwähnt. Installiert wird es “normal” via brew install jq (Mac) bzw apt-get install jq (Linux). Hier ein hübsches Beispiel aus der Praxis zur Demonstration: cat my.js | jq ‘ .itemContents[] | select(.item.status Read More…

Wann StringBuilder und wann StringBuffer verwenden?

Sowohl StringBuilder als auch StringBuffer machen das erstellen von langen, konkatenierten String effizienter, da Java ja nicht erlaubt, bestehende Strings zu verändern. Aber was ist der Unterschied zwischen beiden? Hier steht die simple Antwort. Kurzfassung: StringBuffer ist thread-safe und daher etwas weniger effizient. StringBuilder ist nicht thread-safe und dafür etwas effizienter.

SmartGit: Grafischer Git-Client

Wer git liebt, verflucht git sicher auch von Zeit zu Zeit – so wie ich auch… Ein Grund dafür ist die oft in der Kommondozeile fehlende Übersicht des Zustands des Repos. In solchen Fällen verwende ich gerne Atlassians SourceTree. Unter Linux habe ich das aber nicht. Da ist dann SmartGit eine aktzeptable Alternative. Leider nicht Read More…