leovie/xdry bzw. der Vorgänger
leovie/php-dry sind im Zuge meiner Masterarbeit entstanden. Die Idee war, Duplikate in Quelltextfragmenten innerhalb einer Codebasis zu detektieren. Dabei kamen diverse Normalisierungs- und Vergleichsschritte zum Einsatz. Während die erste Version php-dry nur PHP-Quelltexte unterstützte, ist xdry durch Plugins so erweiterbar, dass es Quelltexte jeder beliebigen Programmiersprache analysieren kann.
leovie/clover-crap-check ist ein Werkzeug zur Nutzung in CI-Pipelines. Das Werkzeug liest den durch phpunit generierten clover.xml-Report aus und überprüft, ob alle Dateien einen CRAP-Index besitzen, der unter einem definierten Grenzwert liegt. Der CRAP-Index ist eine zusammengesetzte Metrik aus zyklomatischer Komplexität und Testabdeckung einer Datei. Ein hoher CRAP-Index impliziert ein höheres Risiko, das von der entsprechenden Datei ausgeht. Das Werkzeug kann dazu dienen, schrittweise den CRAP-Index aller Dateien in einer PHP-Codebasis unter einen bestimmten Grenzwert zu bringen und anschließend auch unter diesem Grenzwert zu halten.
leovie/phpstan-baseline-guard ist eine kleine Erweiterung der Funktionalität der PHPStan-Baseline. PHPStan ist ein Werkzeug zur statischen Analyse von PHP-Code. Bei der Nutzung kann es eine Liste aller vorhandenen Fehler erzeugen und in einer Baseline-Datei speichern. Diese Fehler werden anschließend in den folgenden Aufrufen von PHPStan ignoriert. Durch die Nutzung dieses Features kann man sicherstellen, dass neuer Code immer die Qualitätsanforderungen des entsprechenden PHPStan-Levels erfüllt, ohne bei der Einführung von PHPStan erst alle Fehler im bestehenden (Legacy-)Code zu beheben, ehe das PHPStan-Level angehoben werden kann. Normalerweise möchte man die Anzahl der Fehler in der Baseline-Datei niemals erhöhen, sondern nur senken, indem Fehler behoben werden. leovie/phpstan-baseline-guard kann dabei helfen, indem es sicherstellt, dass die Anzahl der Fehler in der Baseline-Datei eine definierte Maximal-Zahl nicht übersteigen darf.
leovie/reboot-on-network-loss ist ein kleines Bash-Script, das dazu dient, Linux-Systeme neuzustarten, wenn diese die Netzwerkverbindung verloren haben. Dieses Script nutze ich auf meinen Raspberry Pis, da diese gelegentlich die WLAN-Verbindung verlieren und in dem Fall nicht mehr erreichbar sind.
leovie/dropbox-upload ist ein Werkzeug, das - ganz im Sinne der Unix-Philosophie "Do one thing and do it well" - nur ein Aufgabe hat: Einzelne Dateien in einen Dropbox-Space uploaden. Dazu wird ein Docker-Container genutzt, in dem eine PHP-Anwendung die eigentliche Anwendungslogik ausführt.
leovie/cronjob-manager beinhaltet Scripts in verschiedenen Programmiersprachen zur komfortablen Verwaltung von Cronjobs. Dies schließt zum Beispiel die Validierung der Einträge und die Überprüfung auf doppelte Einträge ein.
leovie/filecount-api ist eine Golang-Anwendung, die die Anzahl von bestimmten Dateien in einem Verzeichnis berechnet und über eine REST-Schnittstelle freigibt.