Boehrsi.de - IT und Gaming Blog

Git for Windows - Update via Konsole starten

Erstellt am event Uhr von account_circle Boehrsi in label Development
Git for Windows - Update via Konsole starten Bild

Als Windows Nutzer und Softwareentwickler ist man vermutlich mit Git for Windows unterwegs. Da Git ein durchaus kritischer Teil der Entwicklungsinfrastruktur ist, sind regelmäßige Updates zu empfehlen. Sollte man nicht das automatische Update aktiviert haben oder aber die Benachrichtigung aus versehen weggeklickt haben, so kann man das Update auch mit einem einfachen Befehl direkt von der Konsole eurer Wahl starten.

Related Links

Android Studio - Unscharfe Interface Darstellung beheben

Erstellt am event Uhr von account_circle Boehrsi in label Development
Android Studio - Unscharfe Interface Darstellung beheben Bild

Vor wenigen Tagen musste ich einen neuen Windows Laptop als Entwicklungssystem einrichten und entsprechend installierte ich auch Android Studio. Alles lief soweit gut, bis zu dem Moment als ich den zweiten Monitor anschloss. Sobald ich Android Studio auf dem zweiten Monitor platzierte wirkte alles unscharf und ich dachte erst meine Augen spielen mir einen Streich. Nachdem mein Kollege das Problem aber bestätigte machte ich mich etwas schlau und fand die Lösung nach kurzer Recherche.
Android Studio passt die Skalierung des User Interface basierend auf den Daten des primären Monitors an. Hat selbiger eine geringere Auflösung als der zweite Monitor, wie in meinem Fall (Laptop-Monitor 1920x1080, zweiter Monitor 2560x1440), dann sieht die Anzeige auf dem Gerät mit der höheren Auflösung verwaschen aus.
Die Lösung ist relativ einfach, denn man muss lediglich innerhalb der Windows Monitoreinstellungen (Rechtsklick auf den Desktop / Anzeigeeinstellungen) den Hauptmonitor auf den Monitor legen welcher die höhere Auflösung hat. Auf diesem Weg wird Android Studio auf beiden Monitoren korrekt dargestellt.

Related Links

Einfache Check- / Todo-Listen mit Mason, Markdown und Git

Erstellt am event Uhr von account_circle Boehrsi in label Development
Einfache Check- / Todo-Listen mit Mason, Markdown und Git Bild

In den letzten Monaten hatte ich immer wieder das Problem verstreute Check- / Todo-Listen in Textdateien zu nutzen. Diese findet man natürlich nicht wieder und reine Textdateien sind auch nicht gerade dafür bekannt übersichtlich zu sein. Wenn man später einen bereits abgearbeiteten Flow erneut durchführen möchte und sich an einer bestehenden Liste orientieren will, ist dies natürlich keine gute Ausgangsposition.
Aus diesem Grund habe ich mich nach simplen Tools umgesehen, die für meine Zwecke passend sind. Meine Anforderungen waren eine rein textuelle Eingabe ohne extra Tools und eine gute Integration in meine vorhandenen Abläufe, sowie die Speicherung auf dem lokalen Gerät, wie auch online. Ich brauche keine automatische Synchronisation mit meinem Handy, ich brauche keine Live-Synchronisation auf anderen Computern und ich möchte mich nicht mit weiteren Tools und Accounts auseinandersetzen müssen. Im Prinzip benötige ich sortierte, übersichtliche Textdateien, die ich direkt während meiner Arbeit mit den vorhandenen Tools nutzen kann, welche zusätzlich online gesichert werden.

Related Links

Automatischen Festplatten Standby unter Linux konfigurieren

Erstellt am event Uhr von account_circle Boehrsi in label Development
Automatischen Festplatten Standby unter Linux konfigurieren Bild

Ich habe den einen oder anderen Raspberry Pi bei mir zu Hause und einer davon übernimmt kleinere NAS (Network Attached Storage) Aufgaben. Es handelt sich dabei um einen etwas betagten Raspberry Pi aus der ersten Generation. Selbigen wollte ich vor kurzem etwas auffrischen und entsprechend habe ich das Betriebssystem und alle Komponenten aktualisiert. Das lief auch alles problemlos, allerdings schalteten meine zwei am Pi angeschlossenen externen Festplatten plötzlich nicht mehr automatisch bei nicht Nutzung in den Standby Modus. Es sind zwei normale HDDs, in dafür nachträglich beschafften Gehäusen.
Nach einigem suchen und testen stieß ich auf das Tool hdparm, welches diverse Einstellungen bezüglich Festplatten erlaubt.

Related Links

Let’s Encrypt Zertifikate und Apache Reverse Proxy

Erstellt am event Uhr von account_circle Boehrsi in label Development
Let’s Encrypt Zertifikate und Apache Reverse Proxy Bild

Solltet ihr auf eurem Server Web-Services betreiben, die über einen Reverse Proxy von Apache angebunden sind und ihr wollt eure HTTPS-Only-Domains trotzdem automatisiert via Let’s Encrypt schützen lassen, dann könnte euch die folgende kleine mod_proxy Direktive vielleicht helfen.
Vorab kurz ein paar Worte zu meinem Setup. Ich habe einige Subdomains für selbst geschriebene Web-Services, die ich nur via HTTPS ansprechen möchte (automatische 3xx Weiterleitung für alle HTTP Requests). Für HTTPS Requests habe ich daher via mod_proxy die entsprechenden Weiterleitungen festgelegt, um die jeweiligen Web-Services via Apache Reverse Proxy verfügbar zu machen. Die SSL Zertifikate gibt es via Let’s Encrypt.
Nun kollidiert dieses Setup aber mit der automatischen Erneuerung von Let’s Encrypt Zertifikaten. Grund dafür ist der notwendige Zugriff des Let’s Encrypt Toolings auf den .well-known Ordner.

Related Links

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

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

GitHub Dependabot - Automatisierte Updateüberprüfung für Abhängigkeiten

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Dependabot - Automatisierte Updateüberprüfung für Abhängigkeiten Bild

Libraries machen das Leben von Entwicklern einfacher, denn man muss nicht alles selber schreiben und kann sich auf die eigentlichen Features einer Anwendung konzentrieren. Allerdings gibt man auch Kontrolle und Übersicht ab und entsprechend kann man sich Probleme einhandeln.
Um externe Abhängigkeiten automatisch auf dem neusten Stand zu halten gibt es Dependabot. Früher war Dependabot eine eigenständige Firma, mittlerweile ist man bei GitHub untergekommen, was die dortige Integration natürlich noch einfacher macht. Außerdem ist der Dienst nun komplett kostenlos.
Vor allem auf Sicherheitsupdates weißt Dependabot hin, denn häufig integriert man Abhängigkeiten, aktualisiert selbige aber nicht solange alles läuft. Dabei gehen Sicherheitsprobleme in den Abhängigkeiten natürlich unter. Im Fall eines erkannten Updates wir einfach ein Pull Request erstellt und alles folgt dem gewohnten Flow.
Unterstützt werden unter anderem Ruby, JavaScript, Python, Java (Gradle / Maven), .NET und Docker. Leider ist Dart und somit auch Flutter aktuell noch nicht mit von der Partie und soweit ich es erkennen kann ist derzeit auch nicht geplant das sich dies ändert. Das ist zwar sehr schade, aber durch die pub.dev open_in_new Plattform und das Tooling drum herum, kann man den Prozess der Überprüfung auf Updates hier zumindest teilautomatisiert umsetzen.

Related Links

GitHub Actions - Automatisierung leicht gemacht

Erstellt am event Uhr von account_circle Boehrsi in label Development
GitHub Actions - Automatisierung leicht gemacht Bild

Auch wenn ich auf meinem Server ein On-Premise Git Setup habe, welches kleine Aufgaben automatisiert übernimmt, so habe ich mittlerweile immer mehr GitHub Repositories und auch solche wollen automatisiert werden.
Für diese Zweck bietet GitHub mit seinem Actions Setup eine sehr gute und flexible Lösung, welche euch nicht nur viel Arbeit abnehmen kann, sondern auch sehr einfach zu nutzen ist. Aufgrund der Größe der Plattform gibt es bereits jetzt extrem viele Actions, die ihr nur eurem Repository hinzufügen müsst und schon geht es los. Ich nutze GitHub Actions z.B. um für meine Status Seite open_in_new (GitHub Repository open_in_new) automatisiert nach einem Push die Build und Deploy Schritte auszuführen.

Related Links

Service Umstellungen - Mein Ablaufplan

Erstellt am event Uhr von account_circle Boehrsi in label Development
Service Umstellungen - Mein Ablaufplan Bild

Letzten Sonntag erfolgte der erste Live-Test meines neuen Service-Setups und ich konnte den neuen Such-Service direkt online lassen. Als Backup verweilt das alte Setup weiterhin auf dem Server, aber bis dato läuft alles recht problemlos. Ich bin mit dem Ablauf des Deployments trotz eher minimalistischer Planung sehr zufrieden und aus diesem Grund möchte ich meinen Ablaufplan gerne mit euch teilen. Vielleicht hat der eine oder andere ähnliche Deployments geplant und findet hier die eine oder andere interessante Anregung.

Für die Umsetzung bin ich wie folgt vorgegangen:

Related Links
format_list_numbered  Seite 1 Nächste navigate_next