Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum? › Dr. Windows (2024)

  • Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum? › Dr. Windows (1)Tobias Scholze
  • 4. Mai 2024
    • teilen
Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum? › Dr. Windows (2)

In den unendlichen Weiten des Internets, wo Bits und Bytes sich tummeln, müssen wir Nerds uns oft mit unserer digitalen Persona auseinandersetzen. Wir geben Informationen ein, wir geben sie aus, und manchmal fassen wir sie sogar zusammen. Doch warum sollten wir uns mit langweiligen Aufgaben begnügen? Warum nicht statt drei mal zehn Minuten gleich drei Tage investieren und das Ganze in wunderschönen, auslesbaren Datenstrukturen hinterlegen? Genau – nichts hält uns auf!

.NET – I’m back!

Nachdem unsere letzten Basteleien hier auf Dr. Windows meistens auf Kotlin basierten, sind wir nun zurück im .NET-Ökosystem. Ausschlaggebend war neben der Tatsache, dass wir es schon länger nicht mehr auf der Agenda hatten, die Möglichkeit, die verschiedensten Experimente, was Plattformen und Arten von Software betrifft, leicht zu integrieren und somit doppelte Arbeit, was die Grundlage von MyLife.NET anbelangt, ersparen zu können.

Die Rückkehr zu .NET ist auch dem Abenteuergeist eines jedem Nerds geschuldet! Wissen zu wollen, was man eventuell verpassen würde. Die Einführung von .NET 9 steht im November ebenso bevor wie die Entwicklerkonferenz BUILD 2024 von Microsoft in diesem Monat. Beides sind Gründe, welche einen immer wieder – manchmal auch nur kurzfristig – motivieren, sich mit gewissen Technologien auseinander zu setzen. Ist die Softwareentwicklung nicht ein toller Zeitvertreib, in dem es nie langweilig wird?

Eigentlich war ein Life.json geplant

Wie anfangs erwähnt war das erste Ziel, eine allgemein verwertbare Datenstruktur im Netz zu haben, die Inhalte zu meinem öffentlichen Leben beinhaltet: Wer ich bin, eine Übersicht über meine Open Source Projekte, meine Inhalte, die ich erstelle, und bisschen was zu meinem beruflichen Werdegang. Kurz gesagt: Mein Leben als JSON-Datei auf GitHub.

Aber soll ich meine JSON-Struktur wirklich urzeitlich wie ein Neandertaler von Hand schreiben, was nicht nur mühselig, sondern auch fehleranfällig ist? Natürlich nicht! Also musste eine Objektstruktur her, welche dann nach JSON encodiert wird. Schön typensicher und wiederverwendbar. So kam also eins zum anderen und am Ende fängt nun das neue Bastelprojekt MyLife.NET an.

Die Struktur des Lebens

Die anfängliche Idee hinter dem ersten Entwurf der Struktur von Life.json ist die Modularisierung bzw. das in Kontext bringen von Informationen. So bringt es wenig, eine Sammlung von Key-Value-Paaren zu haben, welche nicht gruppiert sind, um deren Domäne ersichtlich darzustellen. Schlussendlich soll die JSON-Datei auch von Menschen gelesen und verstanden werden können. Ein Programm freut sich jedoch auch darüber, wenn man nur die wirklich benötigten Informationen durch die Leiterbahnen der Maschine schiebt.

So ergab sich als erste Idee folgender, grundlegender Aufbau:

Root

Neben den folgenden Domänenbereichen ist auf oberster Ebene Platz für API-spezifische Informationen vorgesehen, sei es das Datum der letzten Aktualisierung, aber auch eine Versionierung, um vor der eigentlichen Dekodierung prüfen zu können, ob der Client mit der Struktur etwas anfangen kann. Hinzu kommen weitere Felder, um beispielsweise die Sprache der Informationen übermitteln zu können. Letzteres könnte in Zukunft wichtig werden, falls man an Lokalisierung denken würde.

Persona

Dieser Bereich umfasst alle allgemeinen Informationen zu meiner Person: Name, Nicknames, mit denen bekannt sein könnte, der Ort, wo man lebt, ein Motto und dergleichen. Im Kontext von Domänen wäre dies eine Sammlung von Daten, welche man für eine Begrüßung oder ein Profil heranziehen würde.

Content Creation

Der Name fasst es bereits zusammen: Eine Liste an Informationen zu Profilen, mit welchen man auf den verschiedensten Plattformen aktiv ist und öffentlich Inhalte wie Videos, Texte und Co der Welt zugänglich macht. Hier stellt sich die Frage, wie detailliert die Informationen hinterlegt sein sollten. Ist ein grober Überblick ausreichend oder sind die Informationen erst wertvoll, wenn man die einzelnen veröffentlichen Inhalte auflisten könnte? Dies sind dynamische Inhalte, worauf Life.json theoretisch nicht ausgelegt ist.

Open Source

Mein Leben wäre nicht mein Leben, wenn nicht auch die Open Source-Entwicklung ein großer Stellenwert einnehmen würde. Hinter dieser Gruppierung sind Daten zu meinen größten GitHub-Projekten hinterlegt, aber auch beispielsweise eine Erklärung bezüglich meiner Motivation hinter meiner Begeisterung für dieses Hobby. Dieser Datensatz könnte im Sinne einer Portfolio-Webseite eingesetzt werden.

Curriculum Vitae

Ungewohnter Begriff, bedeutet auf Deutsch schlussendlich aber nicht mehr als (beruflicher) Lebenslauf. Hinter diesem Abschnitt in der Life.json steht eine grobe Übersicht über meine Karriere, meiner Bildung und weitere Themen, welche man in Lebensläufen aber auch ganz öffentlich auf LinkedIn oder Xing finden würde.

Was ist weiter geplant?

Da mein Hauptziel, eine JSON-Datei, im ersten Schritt erreicht wurde, werden als Nächstes die beiden Experimente “Blazor Webassembly” und “MAUI” angegangen. Beide sollen die Inhalte der Lebensdatenstruktur anzeigen und eventuell mit zusätzlicher Funktionalität erweitern. Da ich weder ein Web-Entwickler noch MAUI-Guru bin, wird es wohl eine spannende und lehrreiche Reise durch den .NET-Kosmos.

Anschließend sind weitere Ideen bereits aufgekommen. Einerseits ist mir eine komplett statische Blazor-Webseite eingefallen – ganz ohne etwas träges WebAssembly – als auch das Ganze nach Azure zu werfen, um zu sehen, ob der Cloud-Dienst aus Redmond auch für Bastelprojekte geeignet ist.

Für diese Artikelserie bedeutet dies, dass je nach Teilprojekt von MyLife.NET ein bis zwei Artikel erscheinen werden, angefangen mit den Models hinter der Struktur und dem Encoder sowie dessen Abhängigkeiten. Anschließend sind Veröffentlichungen bezüglich des Blazor-Experiments mit WebAssembly geplant.

Noch ist alles im Fluss

Die Datenstruktur von Life.json ist auch weiterhin noch stark im Fluss. Mit jedem Use Case, den ich mir ausdenke, müssen etwaige Strukturen angepasst, neue Felder hinzugefügt werden oder was immer gut ist, Informationen wiederverwendet werden, was die Komplexität senkt und den Einstieg in MyLife.NET als auch das Warten des Projektes vereinfacht.

Dennoch bin ich bereits jetzt am mit mir selbst aushandeln, wie viele Funktionen implementiert werden sollen. Soll beispielsweise die Kernkomponente von MyLife.NET die Möglichkeit bieten, die Inhalte meiner YouTube-Videos, meiner Medium-Profile oder Podcasts anzuzeigen oder geht dies eigentlich schon ein Schritt zu weit? Die Antwort wird wohl erst die Zukunft aufzeigen können.

Alles ist auf GitHub zu finden

Wie bei all unseren Basteleien auf Dr. Windows üblich, findet ihr den aktuellen Stand auf GitHub. Wie ihr aus dem Artikel bereits erfahren habt, ist alles noch im Fluss, nichts für einen kommerziellen Einsatz gedacht und soll einfach den Spaß an der Freude der Softwareentwicklung mit .NET aufzeigen. Falls ich euch damit motiviert habe, dies Ganze auch einmal auszuprobieren, habt einen Blick auf den Quelltext, probiert es aus, macht Dinge kaputt, um sie dann wieder zu reparieren. Es ist schließlich unser gemeinsamer Spaß und kein Wettstreit.

Meldet euch bei Fragen in den Kommentaren und ich versuche diese in den kommenden Beiträgen dieser Artikelserie mit einfließen zu lassen.

Artikel im Forum diskutieren (0)

  • Thema:

  • Entwicklung

Über den Autor

Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum? › Dr. Windows (3)

Tobias Scholze

Bayrischer Open Source- und Community-Enthusiast, Verfechter des neuen Microsoft und Wandler zwischen den Betriebssystemwelten. #communityrocksVon Herzen ein Nerd mit der festen Überzeugung, dass man gemeinsam und durch den Einsatz von moderner IT die Welt für jeden ein Stückchen besser machen kann.

  • EntwicklungVisual Studio: Sicherheitsupdates kommen bald über Microsoft Update
  • EntwicklungVisual Studio Code: Microsoft veröffentlicht Version 1.90 für Windows, Mac und Linux
  • EntwicklungCodestral: Mistral stellt erstes KI-Modell für Programmiersprachen vor
Anzeige
Anzeige
Entwicklertagebuch: MyLife.NET #1 – Wieso, weshalb, warum? › Dr. Windows (2024)
Top Articles
Latest Posts
Article information

Author: Cheryll Lueilwitz

Last Updated:

Views: 6115

Rating: 4.3 / 5 (74 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.