Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Webgamers. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

181

Mittwoch, 22. Februar 2017, 09:07

Danke, aber ich weiß wie das geht. Das habe ich schon vor 15 Jahren gemacht und ist bei weitem kein Geheimnis.
Hinzu kommt das ich ja meinen Code aus dem UML-Modell generieren lasse. Und da macht es dann wenig Sinn aus dem Modell eine Datei zu erzeugen, die dann mit einem Tool etwas neues erzeugt um dann von einer Library benutzt zu werden.

Ich will hier echt nicht in die Details der Lib einsteigen. Aber ich generiere mir lieber den Code direkt aus dem UML-Model. Da kann ich wenigstens auf Besonderheiten aller Art eingehen.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

182

Samstag, 25. Februar 2017, 09:52

Ich habe mir überlegt, wenn all die anderen so fleissig was zu ihren Projekten schreiben, dann kann ich das auch mal wieder machen.

Ich vermute zwar das nur wenige überhaupt verstehen was ich hier so treibe, aber dennoch .... vielleicht ist ja der eine oder andere dabei der da durchblickt.

In jedem Simulations-Objekt gibt es jeweils eine Funktion, die Dispatcher, die die eingehenden Messages bzw. Signale anhand ihrer Id auf eine entsprechende Funktion weiterleitet in der dann die Verarbeitung der Message oder des Signals erfolgen kann.
Wenn nun ein Objekt eine Message oder ein Signal erhält für das es keine Verarbeitung kennt kann man die Message oder das Signal verwerfen oder man überlegt sich was man damit noch machen kann.
Bis jetzt war es das wenn die Messages oder das Signal UpStream gesendet werden, in meiner Definition sind das Reply-Messages und Indication-Signale, dann werden diese automatisch an den Parent weitergeleitet.

In die andere Richtung habe ich Signale einfach verworfen, sprich mangels Informationen wohin einfach nicht verarbeitet. Messages zwar nicht einfach verworfen, aber eine Verarbeitung findet nicht statt.

Dieses Verhalten habe ich nun ein wenig verbessert indem ich für Signale und Messages jeweils einen Default-Handler eingerichtet habe, der dann vom Programmierer mit wie auch immer gearteten Code ausgefüllt werden kann.

Da der Code der Dispatcher komplett aus dem Code-Generator kommt, habe ich dazu lediglich den Code-Generator um ein paar Zeilen ändern, so 20 etwa, und einmal auf das bestehende Modell anwenden müssen. et voila. Default Handler in allen Objekten vorhanden.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

183

Montag, 25. September 2017, 13:37

So nach sehr sehr langer Zeit mal wieder ein Post.

Nein, ich werde das Projekt nicht aufgeben, auch wenn ich mir nicht sicher bin ob wir jemals fertig werden, auch wenn es nur die kleinste Spielbarkeit bieten würde.
Aber das ist mir mittlerweile auch egal, weil es einem den Druck nimmt, aber das wissen ja hier einige wie das ist, wenn man sich ständig unter Druck setzt.

Der Simulationskern hat sich in den letzten Monaten verändert.

Es ist eine Auftrennung zwischen unterschiedlichen Verbindungstypen und den darauf eingesetzten Protokollen erfolgt. Jede Kombination aus Verbindungstyp und Protokoll und dem Interface auf dem diese Kombination arbeiten soll wird ein eigener Thread zugeordnet. Dadurch wird der Empfang und das Senden von Daten zum Beispiel von einem PHP-Script parallel zu den WebSocket Daten abgewickelt. Das ganze wird dann von dort aus in einem eigenen Thread serialisiert und an die Simulationsobjekte weitergegeben, die dann damit arbeiten können.
Durch die Auftrennung von Verbindungstyp und Protokoll kann jetzt auch endlich ein vernünftiger SSL Support implementiert werden.

Für die internen Messages und Signale gab es früher lediglich einen Pointer auf eine Struktur ohne das man erkennen konnte von wo denn die Nachricht gekommen ist. Das wird spätestens mit der Einführung von Infiniband als Kommunikationspfad zwischen mehreren Maschinen auf denen jeweils Teile der Simulation laufen können zu einem Problem.
Das ist geändert. Es gibt nun eine Struktur in der abhängig von einer Reihe von möglichen Kommunikationszielen die nötigen Informationen drin stehen. So kann man also in seiner Simulation erkennen ob die Nachricht von einer externen Quelle kommt oder irgendwo intern erzeugt worden ist.
Was aber noch viel wichtiger ist, man kann das Ziel für eine Antwort eindeutig benennen egal ob das ein Client/PHP-Script ist oder eben eine andere Maschine mit einem Teil der Simulation.

Der Kommunikationsthread der die von externen Threads eingehenden Nachrichten in der Simulation ablaufen lässt, kann nun in zwei einzelne Threads, jeweils einen je Richtung eingehend/ausgehend, zerlegt werden. Das sollte bei einem hohen Kommunikationsaufkommen für Entlastung sorgen.

Die DB Anbindung hat ebenfalls einen eigenen Thread erhalten um Antworten asynchron in die Simulation zu liefern. Das ist vor allem in langsam laufenden Simulation, also alles was mehr als 250ms pro Zyklus hat, interessant. Sonst würden die Antworten eben mit dieser Zykluszeit verzörgert ankommen. Wenn die Daten dann asynchron über WebSockets an einen Client gesendet werden sollen, dann kann das zu merklichen Verzögerungen führen. Das kann man nun per Konfiguration entsprechend einstellen.

Die Konfiguration wird nun in einem XML-File abgelegt. Das macht das ganze ein wenig strukturierter. Es war einfach eine elendig lange Kommandozeile nötig um alle Einstellungen machen zu können. Und irgendwann fallen einem keine Schlüsselworte mehr ein.

Ich habe zudem ein paar Klassen gebastelt die lediglich das Mapping von Strings auf Objekte und IDs auf Objekte ermöglichen. Das gibt es zwar in der STL, aber die sind nicht Thread-Safe. in meinen Klassen sind auch spinlocks eingebaut damit es kein Chaos gibt wenn man auf diese Maps zugreift. Das hätte man sicherlich auch anders lösen können, aber nun isses halt da.

Der Code-Generator erzeugt jetzt für alle im Modell definierten Nachrichten entsprechende Konvertierungsfunktionen um Nachrichten zwischen JSON und dem internen Format konvertieren zu können. Das reduziert ein wenig den Modellierungsaufwand.
Sobald ich ein binäres Protokoll zur Verfügung stellen kann, werden auch weitere Konverter eingebaut. Aber das ist im Moment nicht nötig.

Da sind bestimmt noch eine ganze Menge an Änderungen drin, die aber nicht wirklich erwähnenswert sind, aber dennoch ihre Zeit für Planung und Umsetzung gebraucht haben.

Das Spiel liegt brach. Weil ich halt am Chat gebaut habe, für ein anderes Spiel.

Ein wichtiger Gedanke der sich im laufe der Zeit in meinem Kopf manifestiert hat ist die Möglichkeit einem Spieler parallel unterschiedliche Views in das Spiel bieten zu können. Da ich ja massiv auf WebSockets setze muss eine entsprechende Verwaltung im Spiel vorgesehen werden. Es wird also, mit an Sicherheit grenzender Wahrscheinlichkeit ein Konstrukt geben das zu jedem Spieler mehrere Views erlaubt.

Irgendwann geht bestimmt auch mit dem Spiel weiter.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

184

Samstag, 4. November 2017, 12:20

Nachdem eine ganze Reihe von Änderungen im Kern stattgefunden hatten, habe ich heute nach den nötigen Anpassungen, das erste Mal seit langer Zeit das Spiel wieder gestartet.
Das spannende daran ist, das es einfach nur funktioniert. Der Einfluss der Änderungen, ist äusserst gering, was ja eines der Design-Ziele war, das man nicht immer alles komplett neu schreiben muss, auch wenn sich das Environment verändert hat.

Es sind sicher noch ein paar kleinere Fehler zu beseitigen, aber das hält sich alles im Rahmen und ist wesentlich weniger als ich das erwartet hatte.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

185

Sonntag, 5. November 2017, 11:52

Registrieren eines Spielers

Das Registrieren ist eine Aktion die stattfindet bevor der Spieler Zugang zum Spiel erhält. Ohne Registrierung kein Spiel.
Dabei werden die wichtigsten Angaben abgefragt

  • Login-Name
    InGame-Name
    Passwort
    Email


Etwaige Eingabebeschränkungen werden direkt bei der Eingabe geprüft, so zum Beispiel die Länge der Eingaben.
Mit Ausnahme des Passworts werden die Angaben on-the-fly beim Spieleserver auf Existenz geprüft.

Für den Registrierungsvorgang wird eine SessionId vergeben die jedoch gesondert vom Rest gespeichert wird. SessionId's sind immer nur temporär gespeichert. Bei einem Neustart des Spiels sind so automatisch ungültig. Die SessionId wird bei Auslieferung der Registrierungsseite darin hard-codiert und dann beim Öffnen der WebSocket-Verbindung benutzt um den Client zu identifizieren.
Alle Eingaben auf der Seite werden im Server zwischengespeichert, sie werden für die Eingabeprüfung sowieso zum Server transportiert. Wenn am Ende des Registrierungsvorgangs die Daten per HTTP-Request übertragen werden, erhält man also auf zwei unterschiedlichen Wegen mitgeteilte Informationsets die man miteinander vergleichen kann. Nur wenn diese Identisch sind wird der Registriervorgang akzeptiert.
Dieses Vorgehen soll verhindern das die Registrierung durch einfache HTTP-Requests ausgelöst werden können.

Wenn die Registrierung akzeptiert wird, wird auch ein Spieler-Objekt erzeugt in dem die Daten vorläufig gespeichert werden. Der Spieler erhält zudem eine E-Mail mit einem Link in dem sich die Registration-Id befindet. Mit diesem Link kann dann der Spieler die Registrierung abschliessen. Danach kann er sich dann mit den eingegebenen Daten anmelden.



Start Registration Req

Es wird lediglich eine neue SessionId erzeugt und diese in die Registration-Verwaltung eingetragen. Das PHP-Script baut diese SessionId dann fest in die Seite ein.

„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »simbad« (5. November 2017, 12:25)


simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

186

Montag, 13. November 2017, 11:38

Jedes Wochenende was neues.

Ich habe das Tool zum Aufbereiten des TechTree fertig, fast. Der TechTree wird genauso wie der Rest in UML modellliert und dann konvertiert.
Um das final realisieren zu können muss ich mir auch endgültig im klaren darüber sein wie ich den TechTree im Spiel verwalten werde.
Durch die unterschiedlichen Völker, acht an der Zahl, haben wir auch unterschiedliche TechTrees, was die Sache ein wenig verkompliziert aber natürlich nicht unmöglich macht.

Irgendwo hier in diesem endlosen Thread ist auch ein Bild von einem Ausschnitt des TechTrees.

Mehr gibts dann wahrscheinlich in einer Woche.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

187

Dienstag, 19. Dezember 2017, 13:43

Man wie die Zeit vergeht.

Also der Simulationskern kann jetzt auch verschlüsselte WebSockets unterstützen. Das ist die Grundvoraussetzung für Registrierung und Login.
Eingesetzt wird das ganze in einem Chat der aber noch viel Arbeit erfordert und vielleicht in einer Alpha Version zu Weihnachten online geht.

Für den TechTree habe ich beschlossen diesen Global zu speichern und dann über Referenzen darauf die erforschten Technologien im Spieler zu speichern.
Nun bin ich am Überlegen ob ich das für die völkerspezifischen Daten ebenfalls so machen sollte. Eigentlich isses absolut sinnvoll. Aber ich denke es gab einen Grund warum ich das nicht wollte. Naja. Noch muss ich das nicht entscheiden.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Selena

Profi

Beiträge: 479

Danksagungen: 532

  • Nachricht senden

188

Dienstag, 19. Dezember 2017, 22:00

Habe ich da grad Alpha zu Weihnachten gelesen?^^ Ist das für dich so eine Art Teil-Alpha oder gibt es wirklich was zum Gucken?

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

189

Mittwoch, 20. Dezember 2017, 09:08

Nein, leider keine alpha für mein Spiel.
Es geht um einen Chat den ich auf der Basis meiner Kernsoftware gebaut habe und bei dem der Browser per WebSockets mit dem Server verbunden ist. Durch die Verwendung von WebSockets kann der Server bei Änderungen, zum Beispiel neue Nachrichten in einem Raum oder wenn ein neuer Raum angelegt wird, von sich aus alle Browser mit den entsprechenden Infos versorgen.
Diese Technik soll bei meinem Spiel in fast allen Bereichen zum Einsatz kommen.
Ich habe den Chat gebaut damit ich eine Möglichkeit bekomme meine Kernsoftware unter Last zu testen. Der Chat wird in ein bestehendes Browsergame integriert zu dem es auch eine Android App gibt.
So musste ich mich nicht um das Frontend kümmern, was ja meine grösste Schwäche ist, und habe dennoch Fortschritte gemacht, wenn auch nur am Kernsystem.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

190

Sonntag, 31. Dezember 2017, 14:50

Das Jahr ist in wenigen Stunden rum und man fragt sich manchmal was man so geschafft hat.

Ohne das man da die Info von anderen braucht, rein äußerlich hat sich nichts geändert. Man ist ein wenig rundlicher und träger geworden. Das Haar ist noch wesentlich grauer als noch vor einem Jahr, aber die Seiten des Spiels haben sich nicht verändert. Wenigstens eine Konstante in diesem Leben.

Die Arbeit an dem Chat, den ich nicht für mein Spiel gemacht habe, hat mir einiges an Erfahrung beschert die, hoffentlich im bald beginnenden Jahr, Auswirkungen auf meine eigene Entwicklung haben werden.
Zwei Dinge sind dabei besonder aufgefallen.

Ausführungsgeschwindigkeit:
Die Antwortzeiten über die WebSocket-Verbindung liegen eigentlich immer in der Nähe eines Pings, obwohl die eingehende Nachricht durch 2-3 Threads geschleust wird, dabei diverse Konvertierungen durchmacht und ja auch noch ein bisschen Arbeit verrichtet wird.

Komplexität:
Obwohl an dem Chat nicht wirklich viel dran ist, ist das UML-Modell so komplex das man sich auch dort bereits Gedanken über die Strukturierung machen muss. Auch der erzeugte Programm-Code ist an vielen Stellen schwer lesbar, weil für die Simulation immer galt, schnell muss es sein.

Fazit:
Ich werde natürlich weiter machen. Aber ich habe damit begonnen in einigen Bereichen Lesbarkeit über Geschwindigkeit zu stellen. Wo ich noch keine konkrete Lösung für habe ist die Strukturierung des UML-Models. Aber da wird sich noch was ergeben. Wahrscheinlich werde ich da in einigen Bereichen das ganze an bestimmte Features hängen. Naja mal schauen.

Ich wünsche euch allen einen guten Rutsch ins neue Jahr und bin mir sicher, wir werden uns auch weiterhin lesen.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

191

Mittwoch, 3. Januar 2018, 13:44

Ich bin halt immer dabei ein klein wenig zu ändern.
hier mal eine Stelle die zeigen was sich verändert hat.

Vorher:

Quellcode

1
2
    gameviewport->LastCycle=aCycle;
    stdb_updatedata(obj->objid, IDA_LASTCYCLE, 0, (uint64_t)(gameviewport->LastCycle));


Nachher:

Quellcode

1
    LastCycle = aCycle;


Ich finde das zweite leserlicher. Aber es ist auch langsamer. Aber das würde ich durch Parallelisierung wieder ausgleichen können.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

DaBu

Administrator

Beiträge: 1 107

Danksagungen: 548

  • Nachricht senden

192

Mittwoch, 3. Januar 2018, 14:12

Wenn man sich an den Clean Code hält, dann ist leserlicher deutlich wichtiger wie Geschwindigkeit. Ich bin oft auch etwas unsicher ob das alles so sinn macht, aber es ist um ein vielfaches angenehmer damit zu arbeiten und es macht auch viel mehr Spaß. Auch wenn nicht alles nach Clean Code Standard umsetzbar ist.
Irgendwas mit Medien

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

193

Montag, 13. August 2018, 17:56

Ich habe mir mal Gedanken gemacht was so in einem Spiel so alles vorhanden sein sollte.

Und das ist dabei heraus gekommen.

Backend Components.png

Nur Schade das das nicht angezeigt wird. War glaube ich auch schonmal besser.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Wulfman

Fortgeschrittener

Beiträge: 179

Danksagungen: 79

  • Nachricht senden

194

Montag, 13. August 2018, 22:58

Ich habe als Perry Rhodan Fan ja immer wieder mal eine Animation dazu gemacht. Falls Du möchtest, darfst Du meine gerenderten Raumschiffe nutzen.

eiraumer.png

kugelraumer.png

old-man.png

topsiderraumer.png

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

195

Dienstag, 14. August 2018, 09:30

Danke!!!!
Super. Da ich ja eh nochmal 20 Jahre brauchen werde um irgendwann mal fertig zu werden, nehme ich das jetzt erstmal zur Kenntnis. Wenns dann soweit ist werde ich mich nochmal bei dir melden. ;)
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Wulfman

Fortgeschrittener

Beiträge: 179

Danksagungen: 79

  • Nachricht senden

196

Dienstag, 14. August 2018, 11:08

In 20 Jahren habe ich vielleicht wieder was neues :D

DaBu

Administrator

Beiträge: 1 107

Danksagungen: 548

  • Nachricht senden

197

Dienstag, 14. August 2018, 21:31

Finde ich super Wulfman, ein bisschen was fürs Auge tut der Simulation sicher gut :thumbsup:
Irgendwas mit Medien

simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

198

Donnerstag, 16. August 2018, 11:46

Ein zentrales Element wird immer die Benutzerverwaltung sein.
Unabhängig von vielleicht noch zusätzlich einzubauenden Funktionen sind die hier aufgeführten Funktionen fester Bestandteil des User-Managements.


UserManagement.jpg

Und weil ich halt alles irgendwie zusammen in einen großen Anwendungsklotz packen will wird der User nun ein von den mit ihm verbundenen Funktionen unabhängiges Objekt. Damit User am Forum teilnehmen können auch wenn sie nicht mit im Spiel sind, wird es entsprechende Flags im UserManagement geben über die das geregelt wird. Auch für den Chat muss es solche Flags geben, damit man einen Spieler bei ungebührlichem Verhalten vom Chat ausschliessen kann.
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »simbad« (16. August 2018, 11:54) aus folgendem Grund: Bild nochmal ausgetauscht


simbad

Profi

  • »simbad« ist der Autor dieses Themas

Beiträge: 1 148

Wohnort: Berlin

Beruf: Software Entwickler

Danksagungen: 267

  • Nachricht senden

199

Sonntag, 19. August 2018, 09:54

Damit ich mit meinem bestehenden Code nicht durcheinander komme und Code Fragmente gezielter verschieben kann habe ich ein neues Objekt eingeführt, die Identity.
Darin sind allgemeine Informationen gespeichert, die letztendlich für alle registrierten Benutzer gebraucht werden.
Damit ich damit herumprobieren kann erstelle ich mir erstmal ein paar einfache Seiten für den Admin. Denn dieser soll völlig unabhängig von der Registrierung Identities anlegen/verändern/löschen können.

Ist irgendwie alles schon tausendmal gemacht worden, aber ich machs eben dann das 1001. Mal. (Wie im Märchen)
„Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher.“Albert Einstein
Das Entwickler BLOG
Pierre-Romain Main Page

DaBu

Administrator

Beiträge: 1 107

Danksagungen: 548

  • Nachricht senden

200

Sonntag, 19. August 2018, 14:24

Das ganze nennt sich im Prinzip CRUD.

Wenn du sowieso schon alles immer selbst entwickelst, dann kannst du dir ja auch einfach einen Generator schreiben der dir für deine Entities (wie z.b. der User) alles generiert für CRUD.

Sowas gibt es häufig für Backends. Ein paar Sachen brauchen zwar immer noch spezifische Anpassungen, aber im allgemeinen sind die meisten Sachen gleich.
Irgendwas mit Medien

Social Bookmarks