Boehrsi.de - IT und Gaming Blog

Top 10 - Mai

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Top 10 - Mai Bild

Der Mai ist vorbei und entsprechend möchte ich für euch die beliebtesten Artikel des genannten Monats zusammenfassen. Die dazugehörige Liste findet ihr wie gewohnt im unteren Teil der News, sortiert nach Anzahl der Aufrufe in absteigender Reihenfolge.
Die Beiträge geben eine gute Übersicht über aktuelle Geschehnisse, wie auch über ältere, aber generell sehr beliebte, Artikel. Schaut also mal rein, um einen schnellen Überblick zu erhalten.

Boehrsi.de Services - Modulare Code-Struktur mit Git

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Modulare Code-Struktur mit Git Bild

Um sowohl ein hohes Maß an Wiederverwendbarkeit, wie auch ein niedriges Level an Komplexität zu erreichen, habe ich mir für meine Boehrsi.de Services eine Kleinigkeit überlegt. Meinen Ansatz zur flexiblen Entwicklung ohne unnötigen Overhead möchte ich im Folgenden mit euch teilen. Dabei geht es um die Datei- und Git-Struktur, denn auf den Code Aufbau werde ich in einem gesonderten Beitrag eingehen.
Wie bereits erwähnt gibt es viele Wege und das Spektrum ist sehr breit, wenn es darum geht ein Setup für Projekte mit mehreren Modulen, bzw. einem gewissen Level an Flexibilität zu erreichen. Um einordnen zu können wo mein Konzept hilfreich sein könnte und wo es an seine Grenzen stößt, gibt es im folgenden meine Anforderungen und die Beschreibung meines eigentlichen Ziels.

Top 10 - April

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Top 10 - April Bild

Und wieder ist ein Monat vergangen. Der April ist vorbei und im unteren Teil dieser News findet ihr die beliebtesten Beiträge des letzten Monats. Selbige sind absteigend nach Anzahl der Klicks sortiert und bieten euch einen guten Überblick, darüber was es in der letzten Zeit an Beiträgen gab. Sowohl alte bekannte, wie auch recht aktuelle News sind dabei.

Boehrsi.de Services - Ideen und die Basis-Architektur

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Ideen und die Basis-Architektur Bild

Nachdem ich bereits ein paar Worte darüber verloren habe, warum ich meine Services selbstgeschrieben habe, geht es heute mit den Anforderungen und der generellen Architektur weiter. Als ich vor zwei Jahren meine Java Services schrieb, war das Thema Microservices natürlich auch in meinem Kopf sehr aktiv. Das Resultat damals waren zwei komplett unabhängige Services, für die Suche und die Kommentare. Alles unabhängig, was natürlich seine Vorteile hat, aber eben auch Nachteile.
Die Nachteile wollte ich mit meinen neuen Diensten eliminieren, denn wenn man schon erneut auf der grünen Wiese startet, soll das Ganze natürlich auch ordentliche Verbesserungen bringen. Insgesamt überlegte ich mir die folgenden Anforderungen, welche auf meinen Erfahrungen mit meinen bis dato aktiven Services beruhen.

Boehrsi.de Services - Warum selber entwickeln?

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Boehrsi.de Services - Warum selber entwickeln? Bild

Ich habe schon oft über die Services, welche die Such- und Kommentarfunktion hier im Blog zur Verfügung stellen, gesprochen. Das ich selbige selbst entwickelt habe wurde auch schon oft breitgetreten, aber auf die Interna bin ich bis dato noch nicht eingegangen.
Dieser Beitrag macht nun den Anfang und ist der Start für eine neue News-Sammlung. Heutiges Thema soll die Frage sein, warum ich die genannten Services selber entwickelt habe und nicht einfach vorhandene Lösungen genutzt habe. Im allgemeinen lässt sich die Frage recht einfach beantworten, denn ich bin ein Softwareentwickler. Entsprechend baue ich meine Software falls selbiges sinnvoll ist, gerne selbst. Doch warum hatte ich in diesem Fall das Gefühl es wäre sinnvoll?

OnUpgrade - Mein erstes Dart / Flutter Package

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
OnUpgrade - Mein erstes Dart / Flutter Package Bild

Während es für fast alles ein Plugin / Package gibt im Dart / Flutter Kontext, existieren natürlich trotzdem die kleinen Ausnahmen die einem fehlen. Für diese Dinge schreibt man dann selber Code, verwendet ihn in der nächsten App wieder und entscheidet sich dann vielleicht eine Library daraus zu machen.
Selbiges tat ich vor kurzem und in diesem Zuge habe ich mein erstes Dart / Flutter Package veröffentlicht. OnUpgrade open_in_new soll dem Entwickler helfen eventuell nötige Migrationen bei App-Upgrades durchzuführen oder den Nutzer über neue Funktionen zu informieren. Das Package stellt dabei die Logik zum Speichern, Vergleichen und Auswerten der zuletzt installierten und aktuell genutzten App-Version zur Verfügung. Was im Falle eines Updates ausgeführt wird, wie ein eventueller Dialog aussieht oder wie der generelle weitere Ablauf ist, entscheidet der Entwickler.

Related Links

I'm a coder - Die Workaround-Hölle

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
I'm a coder - Die Workaround-Hölle Bild

Eigentlich möchte man defensiv programmieren und entsprechend dem Nutzer möglichst viele Fehler vom Leib halten, das macht auch Sinn. Doch Workarounds und Fallbacks über und über einzusetzen, sodass man irgendwann eher Probleme einbaut als sie zu verhindern, ist meiner Meinung nach schlimmer als ein ordentlich kommunizierter Fehler. Als Beispiel würde ich hier ein Auto nehmen. Es hat Benzin im Tank und falls selbiger bald leer ist fährt man zur Tankstelle. Sollte diese geschlossen sein, macht es Sinn zur Sicherheit einen Kanister mit Benzin auf Reserve zu haben. Was aber eher wenig Sinn macht, ist alle zufällig herumstehenden Kanister des Nachbarn in den Tank zu schütten und zu hoffen es war Benzin dabei. Mit diesem Vorgehen hat man vielleicht in wenigen Fällen Glück, meist ist es aber eher eine wenig zielführende Idee.

Frohe Ostern

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Frohe Ostern Bild

Wie schon im letzten Jahr, ist Ostern auch dieses Jahr eher gewöhnungsbedürftig. Ich hoffe trotzdem, dass ihr das lange Wochenende zum entspannen nutzen könnt und ein paar schön Tage habt. Genießt die hoffentlich ruhige Zeit, telefoniert mit Freunden und Familie und passt auf euch auf.
Ich wünsche auf jeden Fall allen Besuchern frohe Ostern und freue mich darauf euch bald wieder hier im Blog mit neuen Inhalten begrüßen zu dürfen.

Top 10 - März

Erstellt am event Uhr von account_circle Boehrsi in label Boehrsi
Top 10 - März Bild

Da ist der März schon wieder vorbei und Ostern steht vor der Tür. Das bedeutet, es ist mal wieder Zeit für die monatliche Top 10 News. Die Liste der beliebtesten Beiträge des Monats März findet ihr wie gewohnt im unteren Teil der News. Sie ist sortiert nach der Anzahl der Aufrufe in Absteigender Reihenfolge. Es gibt wie gewohnt eine Mischung als älteren aber beliebten Artikeln und aktuell relevanten Artikeln. Schaut doch mal rein.

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.

format_list_numbered  Seite 1 Nächste navigate_next