Boehrsi.de - IT und Gaming Blog

GitHub Actions - Flutter automatisieren und mit Codecov testen

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Actions - Flutter automatisieren und mit Codecov testen Bild

Sowohl GitHub Actions, wie auch Flutter waren bereits häufiger Thema hier im Blog und heute geht es um die Kombination aus beiden. Bei einem Großteil meiner GitHub Projekte nutze ich mittlerweile GitHub Actions für diverse Aufgaben und bei meinen Flutter Projekten sieht dies nicht anders aus.
Aktuell nutze ich Flutter Action open_in_new für die eigentlichen Flutter Befehle, Codecov open_in_new für das automatische Hochladen der Tests und abschließend Dart/Flutter Package Analyzer open_in_new, um das Formatting und meinen Pub.dev Score zu überprüfen. Diese Kombination erlaubt es mir mit nur einem Push einen Build zu analysieren, die Tests auszuführen und direkt bei Codecov zu hinterlegen.

Related Links

Badges - Zeigt her den Projektstatus

Erstellt am event Uhr von account_circle Boehrsi in label Development
Badges - Zeigt her den Projektstatus Bild

Auf eine übersichtliche und schön Art informieren wie der Projektstatus ist, wo man die Downloads findet und welche Lizenz genutzt wird? All das geht und zwar in Form kleiner hübscher Badges. Diese Information ist nicht neu, aber ich habe im Rahmen von einem meiner Projekte nun das erste Mal aktiv mit selbigen gearbeitet.
Für eine kleines Dart / Flutter Package, über welches ich in den kommenden Tagen berichten werde, wollte ich gerne den Status diverser Eigenschaften anzeigen und schaute mich nach verfügbaren Lösungen um.
Badges sind kleine automatisch generierte Bilder, die meist aus einem Label und der dazugehörigen Information bestehen. Normalerweise müsst ihr nur euren Projektnamen, eine öffentliche Id oder eine andere Referenz eintragen und schon geht es los.

Related Links

Kommentar-Service - Funktionsupdate abgeschlossen

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kommentar-Service - Funktionsupdate abgeschlossen Bild

Das Kommentar-Service Update ist abgeschossen und im Rahmen des Updates habe ich direkt noch ein paar weitere Dinge erledigt. Das Hauptfeature ist allerdings die neue Kommentare-Abonnieren Funktion. Dies könnt ihr einfach pro News machen. Sobald dann ein neuer Kommentar in der jeweiligen News erstellt wird, erhaltet ihr eine E-Mail. Solltet ihr kein Interesse mehr an einer News haben, enthält jede der E-Mails einen One-Click Link und schon gibt es keine Nachrichten mehr.
Das Update wurde heute gegen 13 Uhr gestartet und die eigentlichen Ausfallzeiten des Kommentar- bzw. Such-Services lagen bei 5 – 10 Minuten. Nach Abschluss der eigentlichen Aktualisierung erfolgten ein paar letzte Tests auf dem Live-System und dann die Anpassung der UI. Alle Komponenten waren gegen 16 Uhr aktualisiert und liefen wieder, die gesamten Release Notes gibt es im unteren Teil der News.

Kommentar-Service - Funktionsupdate am 30. März

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kommentar-Service - Funktionsupdate am 30. März Bild

Am morgigen Dienstagvormittag werde ich die neue Version meines Kommentar-Service ausrollen. Dafür werden meine beiden Services die hier im Blog laufen, also die Suche und die Kommentare, kurzzeitig offline gehen. Der Zeitraum dürfte sich auf wenige Minuten belaufen, da das eigentliche aktualisieren extrem schnell geht.
Der Rollout wird von minimalen Ergänzungen und Anpassungen an Config-Dateien begleitet und alles weitere passiert automatisch. Sobald der automatische Teil erreicht ist, ist die Suche schon wieder online und der Kommentar-Service wird wenige Moment später wieder aktiv sein.
Ich werde dann auf dem Live-System noch ein paar kleine Tests fahren und hoffentlich im laufe des Tages auch das UI Update ausrollen, welches die erweiterte API bedienen kann. Der gesamte Ablauf kann auf meiner Statusseite feingranularer verfolgt werden.

Git - Conventional Commits Spezifikation für Commit Messages

Erstellt am event Uhr von account_circle Boehrsi in label Development
Git - Conventional Commits Spezifikation für Commit Messages Bild

Git ist ein tolles Tool um Code und andere Inhalte zu verwalten, egal ob alleine oder gemeinsam. Ich habe mittlerweile alles was nicht nur ein kleiner Test ist in Git Repositories. Im Rahmen der Nutzung von Git gibt es diverse unterschiedliche Ansätze und Meinungen, wie man Dinge angehen soll und was die jeweilige Best Practice ist.
Im Bereich der Commit Messages habe ich in der letzten Zeit immer mehr Wildwuchs in meinen Projekten bemerkt, obwohl ich eigentlich versucht habe die Dinge überall ähnlich zu benennen. Wichtig ist dies z.B. wenn man später nach Dingen sucht oder z.B. automatisiert Release Notes aus den Commit Messages generieren will.
Durch Zufall bin ich auf die Conventional Commits Spezifikation in einem Flutter Plugin Repository gestoßen und fand den Ansatz sehr passend. Das Ganze basiert auf Ideen des Semantic Versioning open_in_new und der Angular Entwickler Community open_in_new. Die Conventional Commits Spezifikation erweitert die Ideen und Ansätze um feste Richtlinien. Mich persönlich interessiert vor allem der Prefix für Commit Messages, denn eben dieser ist ohne viel Aufwand gesetzt, hilft aber bei den oben genannten Punkten sehr.

Related Links

Kommentar-Service - Funktionsupdate geplant

Erstellt am event Uhr von account_circle Boehrsi in label Development
Kommentar-Service - Funktionsupdate geplant Bild

Vor einiger Zeit gab es eine Feature-Anfrage zu meinem Kommentarsystem, welche ich nun endlich umsetze. Es geht darum Kommentare zu einer News abonnieren zu können. An sich eine simple Funktion, welche aber in ein vorhandenes System integriert werden soll, welches stabil und sicher bleiben sollte, deswegen muss man ein paar mehr Schrauben anziehen.
Da ich aktuell etwas Zeit habe, konnte ich vorgestern die finale Planung und gestern die Implementierung durchführen. In den nächsten Tagen folgt nun weiteres Testing und Debugging. Ich hoffe bis zum Ende der Woche, aber spätestens bis zum Ende der nächsten Woche alle Tests und eventuelle weitere Optimierungen abgeschlossen zu haben, sodass die neue Version online gehen kann.
Die Aktualisierung selbst wird nur wenige Minuten dauern und dürfte die meisten Nutzer nicht betreffen. Alle Informationen zum Service-Update, die kompletten Release Notes und der geplante Update-Termin wird es sobald bekannt in einer separaten News geben.

Meine Statusseite - Hosting und Deployment via GitHub

Erstellt am event Uhr von account_circle Boehrsi in label Development
Meine Statusseite - Hosting und Deployment via GitHub Bild

Heute folgt der letzte Teil meiner kleinen Newssammlung rund um meine Boehrsi.de Statusseite. Denn sobald die eigentliche Seite erstellt ist, geht es ans Hosting und Deployment. Ich habe bekanntlich einen eigenen Server zur Hand, aber Hosting auf diesem macht für eine Statusseite offensichtlich wenig Sinn. Denn wenn der Server, für welchen die Seite den Status anzeigen soll, offline ist, dann wird die Seite natürlich auch offline sein. Ich entschied mich basierend auf meinen Erfahrungen mit GitHub, für eben selbige Plattform fürs Hosting und Deployment. Dort war ich wie bereits erwähnt durchaus glücklich wie umfangreich die Auswahl an vorhandenen Deployment-Workflows ist und auch das Hosting selbst ist sehr unkompliziert.

Related Links

I'm a coder - Schlechter Code kostet Zeit und Geld

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Schlechter Code kostet Zeit und Geld Bild

Ich hatte schon häufiger das Thema der Codequalität hier im Blog und habe dafür geworben selbige hochzuhalten. Soll heißen bestehenden Code auch mal zu modernisieren, während der Entwicklung Dinge zu optimieren, statt zu duplizieren und Fehler die man zwischendurch entdeckt direkt zu beheben. Es gibt noch viele, viele weitere Möglichkeiten die Codequalität zu steigern, doch darum soll es heute gar nicht gehen.
Ich wollte mal konkret mitteilen warum ich es für wichtig halte nicht nur links und rechts Dinge anzubauen, sondern eben auch das große Ganze im Blick zu behalten. Ich habe vor kurzem die Ehre gehabt in ein halbwegs umfangreiches Projekt eine neue Funktion einzubauen, welche auf bestehender Logik aufsetzt und diese erweitert. An sich war der Ansatz recht simple, denn es sollte einfach ein bestehender Flow erweitert und mit verschiedenen Kontexten erneut ausgeführt werden. Alle anderen Abläufe, die auf diesem bestehenden Flow aufsetzen, mussten entsprechend angepasst werden, sodass sie den neuen Kontextbezug auch erfassen. Generell wäre das ein Aufgabe für einige Tage gewesen, allerdings wurde alles wesentlich umfangreicher.

Flutter / Dart Null Safety Migration

Erstellt am event Uhr von account_circle Boehrsi in label Development
Flutter / Dart Null Safety Migration Bild

Vor wenigen Tagen erschien im Rahmen des Flutter 2.0 bzw. Dart 2.12 Releases der stabile Null Safety Support für Dart. Entsprechend begab ich mich gestern Abend das erste Mal auf den Migrationspfad und aktualisierte meine kleine Anwendung zur Auswertung von Statistiken. Selbige nutze ich produktiv zum erfassen der Nutzerzahlen hier im Blog und auch um die monatlichen Top 10 Listen zu erstellen.
Die Migration ist sehr gut dokumentiert open_in_new und was extrem großartig ist, ist der dart migration Befehl, welcher versucht ein Projekt ohne Null Safety für euch anzupassen. Dabei erhält man einen geführten Prozess, bei welchem ihr die Liste der geplanten Änderungen auf einer interaktiven lokalen Website zu sehen bekommt und dort noch weitere Anpassungen vornehmen könnt. Meiner Meinung nach ist dieses Tool im Kontext der Migration eine glatte Eins mit Sternchen.
Nachdem ausführen der Migration für das kleine Projekt mit ca. 1000 Zeilen reinem Code, blieb tatsächlich nur eine Stelle an der ich manuell Hand anlegen musste. Die App lief anschließend ohne Probleme und weiterer Aufwand war nicht nötig. Hier kommt nun aber eine Empfehlung, die mehr Arbeit bedeutet, selbige meiner Meinung nach aber wert ist.

Related Links

Meine Statusseite - Designt mit Bulma

Erstellt am event Uhr von account_circle Boehrsi in label Development
Meine Statusseite - Designt mit Bulma Bild

Weiter geht es heute mit meiner kleinen Newssammlung zum Thema Boehrsi.de Statusseite. Heute geht es noch einmal um den reinen Code und wie ich die eigentliche UI erstellt habe. Während die folgenden Beiträge sich eher auf das Setup und Deployment beziehen. Bei Fragen stehe ich wie gewohnt gerne Rede und Antwort in den Kommentaren.
Das Thema Design ist für mich ein spezielles, da ich nicht sonderlich kreativ bin, aber trotz dessen versuche gut aussehende User Interfaces zu erstellen. Ich setze dabei meist auf Minimalismus und den Fokus auf den Content. Generell baue ich fast alles von Grund auf selbst, doch bei diesem Projekt habe ich einen anderen Weg eingeschlagen. Aus verschiedenen Gründen wollte ich weitere Erfahrungen zum Thema Bulma sammeln und entschied mich aus diesem Grund wieder für das CSS Framework.

Related Links
format_list_numbered  Seite 1 Nächste navigate_next