Zum Inhalt springen

flashpixx

Mitglieder
  • Gesamte Inhalte

    8.302
  • Benutzer seit

  • Letzter Besuch

Beiträge von flashpixx

  1. Danke aber dies war leider nicht die Lösung des Problems.

    Wir nutzen gar kein Samba.

    Wie überträgst Du dann die Daten von OSX zu einer Freigabe per Zauberei !? Ich spreche nicht von Samba sondern dem Samba zugrunde liegenden Protokoll. Ob Du nun eine Windowsfreigabe auf einem MS Server verwendest oder Samba, beide kommunizieren über das gleiche Protokoll.

  2. Im übrigen halte ich eine Flat File Schnittstelle für interne Anwedungen durchaus für sehr flexibel.

    Da schließe ich mich an, wenn das "intern" ist, kann man das machen bzw. wenn der Zweck begrenzt ist.

    Keine Spur von ständigen IF Abfragen, auf- und abwärtskompatibel, die Validierung übernimmt die Datenbank und schreibt falsche Daten in die Error Log Tabellen.

    Auch dem stimme ich zu, aber Du hast ja dabei eine knapp definierte Anwendung. Ich habe in meiner Ansicht z.B. den alten DTA aus Einwohnermeldeämtern z.B. für die GEZ / Kirchen etc im Kopf.

    Und wenn du noch so sehr auf dein XML pochst:

    Ich poche nicht auf XML, sondern ich poche auf einer strukturierten & überprüfbaren Datenstruktur. Du kannst da auch JSON oder HDF nehmen.

    Daten die aus einem System/Software kommen sind bekannt - und wie sie in ein anderes System müssen, ist auch bekannt.

    [/quite]

    Das ist denke ich eine falsche Prämisse, denn kein System ist für alle Ewigkeiten fix, d.h. Anpassungen sind notwendig.

    Das ist aber genau meine Aussage bezügl des Designfehlers. Wenn Du aus einem ERP z.B. Stücklisten raus müssen, dann gehört zu einem Stück z.B. ein Name, ein Preis, ein Volumen etc. Name ist definitiv ein Text, Preis und Volumen eine Zahl. In einer CSV ist dies nicht definiert, da ist alles ein String.

    Die Liste, die erzeugt wird, ist nicht validierbar, d.h. ich kann z.B. mit einem Texteditor aus einem Preis einen String machen, dann tritt bein Import das Problem auf bzw. je nach Import werden falsche Daten importiert. Bei 1000enden Datensätzen wird kein Mensch diesen Fehler bemerken.

    Via XML / XSD würde mir das System direkt den Fehler liefern, dass der Datentyp inkorrect ist.

    Ich weiss durchaus wovon ich spreche, denn ich habe vor einigen Jahren, genau so etwas gemacht. In einem System wurde auch primär per CSV gearbeitet. Es wurde auch die Meinung vertreten dass CSV "schneller" und "einfacher" ist. Mit XML haben wir eine deutliche Codereduzierung erreicht und deutlich die Qualität der Daten sowohl beim Ex- wie auch beim Import steigern können.

  3. Jedes ETL Tool beherrscht die Transformation von csv in irgendwas und umgekehrt.

    Jain ETL ( ETL-Prozess ) sind zwar toolgestützte Prozesse, aber diese kann ich nicht flexibel in der Anwendung einbauen. Bei XML kann ich einfach durch eine XSLT Komponente den Transformationsprozess automatisiert durchführen (und das auf jedem System, da XML / XSLT Bibliotheken heute fast überall vorhanden sind). Z.B. hätte ich jetzt kein ETL Tool auf meinem OSX oder Linux direkt zur Verfügung, womit ich Transformieren kann. LibXML ist aber bei mir auf beiden System vorhanden und ich kann sie direkt entsprechend in meiner Software anbinden (analog MS XML via COM) [mal von der Lizenz und Nutzung des ETL Tools in eigenen Programmen mal abgesehen].

    Auch die Aussage, dass das ETL Tool die "Transformation" beherrscht ist, halt ich für sehr gewagt, denn das ETL Tool setzt das Wissens des Users voraus, d.h. der User muss wissen in welchem Feld welcher Typ der Daten steht und wie diese zu interpretieren ist. Bei XML benötige ich diese Information nicht, da sie durch die XSD definiert ist, die mir zentral via URL vom Entwickler bereit gestellt werden kann. Wie man das so schön beim so genannten DTA (Datenträgeraustausch) hat(te), dass man seitenweise in Papierform die Definition der CSV bekommt, diese dann ggf in ein ETL Tool oder in Code übertragen muss, entfällt bei XML.

    ETL sehe ich aber nicht im Sinne von CSV, sondern es beschreibt den Vorgang der der Datenübertragung und -transformation, d.h. in einem ETL Prozess würde durchaus XML / XSLT verwendet werden können. Die Tools selbst bietet natürlich für Altsysteme auch den CSV Import an. Bei CSV kann ich die Transformation in keiner Weise "abstrakt" im Sinner einer Modelltransformation beschrieben werden, da bei CSV die Strukturinformation nicht an die Daten gebunden ist. Strukturinformation und Daten sind bei CSV völlig unabhängig, die Verbindung muss zwingend der Benutzer machen.

  4. Ein Schema anzupassen/erstellen ist also deiner Meinung nach nicht aufwändig - und nicht fehleranfällig?

    XSLT Schemata könne mit entsprechender Toolunterstützung auch schon automatisiert erstellt werden, da es letztendlich auch XML ist.

    Und da haben wir wieder das Problem. Kanonen und Spatzen!

    Nein, das ist definitiv der Deine individuelle Meinung. Wenn ich real durchrechne wie hoch der Zeitaufwand von Anpassung des Codes über den Zeitraum der Nutzung ist und vor allem wenn ich die Metrik (z.B. Halstead / LLOC Metrik) des Importcodes bestimme, dann ist alleine durch die Metrik belegbar, dass CSV die schlechte Wahl sowohl wirtschaftlich wie auch fachlich ist.

    Natürlich setzt XML ein höheres Abstraktionsvermögen an den Entwickler voraus und Du magst recht haben, dass man "schnell mal nen CSV Code zusammen hacken kann" (auch diese Argumentation ist mir bekannt). Auch aus meiner Erfahrung kenne ich den Ansatz, dass man lieber CSV nimmt, weil Programmierer das eben mal schnell in 2 Stunden runterhacken und dann wenn was dran ist schnell nachpflegen kann (da wird gerne das "Eh-Da-Prinzip" angewendet). CSV ist somit ein "Dirty-Hack" ohne Struktur.

    Man sieht in solchen CSV Importen immer tonnenweise If-Bedingungen, wenn verschiedene Versionen der CSV unterstützt werden müssen, was aber dann zu einer schlechten Metrik führt, da mehr Lines-of-Code produziert werden müssen. Zusätzlich ist keine Typgebundene Struktur der Datenfelder möglich, d.h. es muss manuell konvertiert werden, was letztendlich extrem fehleranfällig ist, wenn in einem Feld in Abhängigkeit von der CSV Version unterschiedliche Typen benutzt werden. Zusätzlich ist ein sehr großes Problem bei CSV das Encoding der Daten, denn häufig wird hier einfach das Default-Encoding verwendet. Gerade bei der Darstellung von Umlauten (UTF-8/16 mit BOM Codierung) entstehen dann sehr interessante Effekte, die dann wieder "manuell" per Code abgefangen werden müssen, was die Metrik weiter verschlechtert.

    Natürlich kostet der höhere Strukturaufwand mehr Wissen, aber die Effizienz, die durch Metriken belegbar ist, kann gesteigert werden. Ich kann die Nodes eines XML Baums via XQuery direkt holen (inkl Filter und Sequenzen), mit Hilfe der XSD habe ich Validierung und direkt Typenkonsistent dabei. Ich kann für jede Version, die ich importiere eine eigene XSLT / XSD hinterlegen, so dass ich lediglich nur diese bei einer neuen Version anpassen muss. Ich habe die Möglichkeit die XML Verarbeitung in generische und versionsabhängige Strukturen zu trennen, so dass ich Anpassungen minimieren kann. Zusätzlich ist die Toolunterstützung bei XML sehr gut, bei CSV gibt es keine Toolunterstützung.

    Zusätzlich ist die Anpassung eines Schemas / XSLT deutlich einfache, da im Gegensatz zu Code kein Compilieren bzw. Linken notwendig ist. Der Austausch eines Schemas ist letztendlich der Austausch einer einzelnen Datei. Der Austausch von Code kann unter Umständen auch riskant sein, denn es müssen die Abhängigkeiten der Codestrukturen beachtet werden (Funktionssignaturen etc), somit ist die Anpassung eines Schemas schneller und nicht so fehleranfällig.

    Die Aussage, dass mit Kanonen auf Spatzen geschossen wird, ist definitiv falsch. Wenn man CSV einsetzt, dann ist das Kind sprichwörtlich in den Brunnen gefallen, denn das ist definitiv ein Fehler im Designkonzept, dass dies natürlich dann hohen Aufwand zur Korrektur bedeutet, ist klar. Würde man aber zu Beginn der Entwicklung eben auf XML Technologie setzen und darauf dann auch das Design aufbauen, wäre für einen CSV Export lediglich nur der Entwurf einer passenden XSLT notwendig, d.h. von XML nach CSV zu kommen ist einfach, umgekehrt dagegen schwer. Damit ist der Export der Daten direkt wesentlich generischer und damit auch flexibler. Wenn jemand CSV haben, dann kann er sich diese erzeugen. Wenn jemand HTML möchte, dann geht auch das; mit CSV nicht möglich.

    Eine fehlerhafte Planung wird man niemals wieder ohne bzw. mit wenig Aufwand korrigieren kann. Der Designfehler ist letztendlich dadurch gegeben, dass eben ein unstrukturiertes Datenformat vorliegt. Bekomme ich eine CSV ist es mir nicht möglich zu validieren, ob ich sie richtig gelesen habe. Bei XML ist dies möglich, da ich die XSD als Entwickler sogar zentral im Web ablegen kann. Das Argument bezüglich der Datengröße ist heute kaum relevant, da genügend Bandbreite zur Verfügung steht (eine Ausnahme mögen hier numerische / vektorielle / Matrizen / Hypercubes sein, aber davon gehe ich jetzt nicht aus).

    Generell gilt aber, die Struktur der Daten muss abstrakt überprüfbar sein.

  5. Klar definierte Schnittstelle: Warum soll da keine CSV reichen?

    Man kann CSV nicht abstrakt validieren, d.h. ich muss Code schreiben, um die Struktur zu verarbeiten bzw. zu prüfen ob sie korrekt ist. Bei XML mit XSD kann ich die Validierung automatisiert erledigen mit Hilfe von XSLT kann ich dann die XML beliebig transformieren. Eine Veränderung der Struktur der CSV zieht somit automatisch eine Veränderung des Codes mit sich. Codepflege ist aufwendig und fehleranfällig. Bei einer XML wäre hier lediglich eine Anpassung der XSLT notwendig, um eine neue Version der CSV zu verarbeiten. Mit Strukturen wie XML, XSD und XSLT ist die Pflege deutlich einfacher und der Code erhält eine höhere Abstraktion. Analoges gilt natürlich für JSON. Für die XML / JSON Verarbeitung gibt es entsprechende Bibliotheken, die seit Jahren getestet und optimiert sind, so dass auch die Fehleranfälligkeit weniger sein wird. Für einen Import dieser Daten muss dann lediglich die XML via XSD validiert werden, damit ist direkt möglich zu prüfen, ob die Struktur korrekt ist, nun kann man mit Hilfe von XQuery in den Nodes suchen und muss lediglich über die gefunden Nodelisten iterieren, d.h. hier ist eine deutliche Codereduktion möglich. Falls man das ganze noch weiter abstrahieren will, setzt man eine XSLT dazwischen, die eine Transformation des XML Baumes durchführt. mit Hilfe der XSLT kann man somit unterschiedliche Versionen der XML verarbeiten, so dass die Pflege und Weiterentwicklung des Importes besser wird.

  6. 
    If Worksheets(1).Cells(4, 75).Value = ja Then
    
        dest = "mMustermann1@Test.de; [email]mMustermann2@Test.de[/email]; [email]mMustermann3@Test.de[/email]; "
    
    ElseIf Worksheets(1).Cells(4, 75).Value = nein Then
    
        dest = "mMustermann1@Test.de; "
    
    End If
    
    
    Ich rate noch einmal ganz dringen von diesem fachlich schlechten Ansatz ab. Ein Pseudo-Code (dies ist kein(!) lauffähiger VBA Code) löst dieses Problem
    
    emailempfaenger = ["mMustermann1@Test.de"]
    
    if audit :
    
       emailempfaenger.extend(["mMustermann2@Text.de", "mMustermann3@Text.de"])
    
    
    write email with BCC recipients " ".join(emailempfaenger)
    
    

    Ich erzeuge eine Liste mit den Empfängern, wobei ich die Personen, die immer eine Nachricht erhalten sollen direkt in der Liste anlege und dann prüfe ich ob ein Audit vorliegt (audit ist als Boolean aufzufassen), wenn ein audit == true ist, dann ergänze ich die Liste. Danach implodiere ich die Liste zu einem String, den ich als BCC verwende.

    Du solltest bei solchen Dingen definitiv den BCC verwenden und eine korrekte Rückantwortadresse verwenden, dies ist ein allgemeines Vorgehen bei Mailinglisten.

    Ich habe den Auftrag vom User bekommen es "zum laufen zu bringen" und konnte weder durch "" noch umstellen des Codes nicht den gewünschten Erfolg erziehlen.

    Da dachte ich, ich könnte mich an die Community wenden.

    Sorry für das F'Quote, aber wenn Du nicht das notwendige Wissen hast, den Code den Du produzierst zu verstehen, dann kannst Du die Problemlösung nicht beheben. Du musst Dir das notwendige Wissen aneignen. Ich rate Dir aber von Deinem Vorgehen ab, nimm ein fertiges System, das Mailinglisten verwalten kann (Links siehe mein erstes Post), damit hast Du all diese Probleme nicht.

    Alternativ pass den MTA so an, dass er die Daten direkt verarbeiten kann, d.h. die Daten die jetzt in der Exceldatei gespeichert sind werden in eine Datenbank gelegt und anhand dieser liest der MTA die Mailadressen und leitet die EMail direkt an die entsprechenden Personen, sobald sich dann etwas in den Daten ändert, ist die Änderung auch direkt bei den Mailadressen konsistent. Eine Mailingliste aufzusetzen sollte für einen Administrator nur einige wenige Minuten Arbeit sein.

  7. Ganze ehrlich klinkt das klingt nach Fummelei. Ich rate zu einer richtigen Liste (serverseitig), d.h. die Leute, die angeschrieben werden sollen stehen in der Liste und ich kann dann eine EMail an "meineliste1@wasauchimmer.de" schicken und die EMail wird an alle weiter geleitet. Eins der bekanntesten System dafür ist Majordomo bzw. Mailman

    Vor allem wird hier auch direkt passend die CC/BCC Info gesetzt und auch die Antwortadresse.

    P.S.: Verwende bitte für Codes die Code-Tags

  8. Eine CSV Datei ist im Grunde ein unstrukturiertes Datenformat, wenn Du dieses ändern musst, pass den Export an oder schreibe ein Programm in einer Sprache Deiner Wahl, dass die CSV Datei entsprechend umstrukturiert.

    Ich raten dringend dazu, dass man von so einem Format dringend Abstand nimmt, denn es macht letztendlich mehr Probleme. Ich rate zu einer Datenbank oder XML mit Validierung durch XSD

  9. Ich finde das was @blubbla geschrieben hat sehr treffend formuliert. Ich kann dem in allen Punkten nur zustimmen, vergleiche ich Schule, Ausbildung, Beginn des Studiums und jetzt, dann liegen dazwischen Welten, aber ich halte gerne Vorträge und meine Zuhörer scheinen eigentlich immer motiviert zu sein. Das was ich aber gelernt habe ist, dass man es einfach locker angehen sollte, d.h. das man sich mal verspricht oder verschreibt (passiert mir ab und an bei Formeln) ist völlig normal, ich bin auch schon mal über das Stromkabel gefallen. Passiert halt.

    Das was ich immer mache ist, dass ich meine Folien selbst erstelle, also z.B. nicht vorbereiten lasse, ebenso überlege ich mir selbst was ich zu welcher Folie sage, ich nutze gerne die Funktion, dass ich Moderatornotizen mir auf dem Laptop anzeigen lassen kann. Ist für mich lediglich der Hinweis, dass ich nichts wichtiges in der Folie vergesse. Zusätzlich sind meine Folien recht kompakt, max 3 Stichpunkte und oft ein verdeutlichendes Bild daneben. Ich lese die Folien nicht ab, sondern erzähle etwas dazu, d.h. die Folien sind der rote Faden des Vortrages, aber viele Infos kommen eben mündlich dazu. Ich rechne ca pro Minute eine Folie, das passt bei meinen eher mathematischen Themen recht gut und ist an manchen Stellen schon hart an der Grenze, weil ich dann durchaus ein hohes Tempo habe, wenn man von 30 Minuten Vortrag ausgeht.

    Es hilft deutlich, wenn Du Dir einfach denkst, Du erzählst den Leuten etwas, was Du alleine gemacht hast (d.h. selbst anständig auf das Thema vorbereiten und auch davon ausgehen, dass Querfragen kommen). Du bist derjenige der Ahnung von dem Thema hat, d.h. Du willst allen einen schönen Einblick in das Thema geben. Man wird sicher nie alle Fragen im Detail beantworten können, d.h. da sollte man dann ehrlich sein und sagen "weiss ich im Moment nicht, kann ich aber bis morgen nachschauen". Viele tendieren häufig dazu dann, dass sie versuchen, das Nichtwissen zu verschleiern, das ist der falsche Ansatz.

    Geh einfach locker in den Vortrag und denk Dir einfach, dass Du nem Kumpel eben etwas erzählst.

  10. von diesem Vorgehen würde ich dringend abraten, das ist mehr ein "dirty hack". Installiere das Programm als Dienst mit den entsprechenden Rechten, d.h. der Dienst braucht die passenden Rechte. Ein normaler User hat nicht die Berechtigung Dienste zu verändern. Dein Programm braucht dann kein Passwort o.ä., da der Dienst von sich aus die passenden Rechte hat und damit auch das Programm. Wann der Deinst laufen soll, kannst Du in den Eigenschaften des Dienstes dann auch fest legen.

  11. Also ? hihi sorry kenne mich mit solchen sachen nicht gut aus.

    Du solltest, bevor Du etwas programmierst Dir erst einmal anschauen was Du inhaltlich zu machen hast, siehe Fakultät (Mathematik)

    Schau Dir den Abschnitt "Definition" an und schau Dir dazu Deinen Quellcode an. Du hast Deinen Algorithmus nicht vollständig umgesetzt. Du solltest Dich mit diesen "Sachen" in soweit auskennen, damit Du überhaupt einen Algorithmus in einer Sprache programmieren kannst

  12. - Prozesse im Taskmanager geben keine Anzeichen. Kein Prozess ist sichbar am hängen oder hat erhöhten Ressourcenverbrauch :/

    Ich brauch mehr Ideen, wie ich den Fehler lokalisieren kann.

    Das nennt man nachdenken...

    Wenn das Problem unabhängig vom User ist und das Problem bei unterschiedlichen Usern zeitweise beheben lässt, dann muss dies ein Prozess sein, der beim Login jedes Users gestartet wird und damit auch beim Logout beendet wird und zusätzlich lässt sich sagen, dass der Prozess nicht die gesamte Login zeit aktiv ist, denn das Problem tritt zeitweise auf.

    Bevor ich aber anfange würde so ein defektes System zu reparieren, würde ich eine Neuinstallation vornehmen und das letzte Backup der Daten verwenden. Ich gehe nach Deiner Problembeschreibung sehr davon aus, dass Du irgendwelche Software wild installierst (ggf aus undefinierter Quelle) und damit letztendlich in irgendeiner Form Dein System

    Muss doch ne Lösung dafür geben :/

    Ja eine Neuinstallation

  13. Ich kenne das Problem mit AD nicht, ich hatte aber ähnliche Probleme unter Samba (Linux), bei mir war die Abhilfe, dass ich unter Linux dann einfach netatalk (AFP) installiert habe.

    Meine Windows Systeme haben dann den Samba verwenden, die Mac's den AFP und das ganze liegt dann in dem gleichen Storage. Via Samba Konfiguration blende ich die OSX spezifischen Ordner & Dateien für Windows aus und beide Authentifizieren gegen einen OpenLDAP. AFP via PAM und Samba direkt.

    Vielleicht hilft Dir die Info etwas weiter

  14. Du könntest auch mit Fließkommatypen rechnen, dort passen so große Werte eher hinein, allerdings auf Kosten der Genauigkeit.

    Wenn ich nicht irre, müsste ein long bzw long long die Fakultät von 100 darstellen können, damit sind keine Fließkommazahlen notwendig, da die Fakultät nur für positive Zahlen definiert ist, kann man einen unsigned Datentyp verwenden, so dass der Zahlenbereich durchaus passen müsste. Ein Fließkommatyp ist nur notwendig, wenn man die Fakultät durch die Stirlingformel approximiert

  15. Bitte verwende Code-Tags. Der Code sollte bei 0 und -5 einen Laufzeitfehler produzieren, denn beide Zahlen führen zu einer Endlosrekursion, bei 0 wäre die if-Bedingun im ersten Schritt false, geht somit in den else Zweig und dann steht dort 0*factorial(-1), factorial von -1 ist ebenfalls der else Zweig und liefert -1*factorial(-2), d.h. die Abbruchbedingung wird niemals für Werte < 1 erreicht.

    Weiterhin wird Deine Funktion nirgends im Hauptprogramm aufgerufen, Du gibst lediglich die Zahlen aus, die Du auch einliest und das sind 2

  16. @pr0gg3r: Ich halte den Ansatz mit Websockets, d.h. hier auf eine explizite Technologie zu verweisen für sehr bedenklich, denn bevor der OP kein Architekturkonzept entworfen hat, ist das Festlegen auf eine Technologie der falsche weg, denn dann wird anhand der Technologie das System umgesetzt. Nicht die Technologie bestimmt das System, sondern das System die Technologie.

    In dem Zusammenhang kann ich direkt anführen, ob man überhaupt eine synchrone bzw asychrone Verbindung braucht, d.h. das System bestimmt die Kommunikationsweise, zusätzlich ist auch direkt die Frage, ob man eine Kommunikation wie TCP oder UDP benötigt. Diese Fragen müssen aufgrund der Architektur beantwortet werden, die aber aktuell fehlt.

  17. Ich glaube, du zäumst das Pferd von hinten auf. Du machst dir Gedanken über Implementierungsdetails und Performance, hast aber anscheinend noch überhaupt keine Vorstellung von der Architektur deines Spiels.

    Dem schieße ich mich an und die Erklärung von Klotzkopp ist auch sehr richtig, ich möchte das noch ein bisschen ausführen und stelle Dir die Frage, warum nimmst Du mySQL? Wer sagt Dir, dass mySQL überhaupt notwendig ist und dass warum nimmst überhaupt eine SQL Datenbank bzw. warum überhaupt eine Datenbank !?

    Es gibt zig verschiedene Technologien, die man verwenden kann, manche sind sinnvoller als andere um eben Dein Spiel zu entwickeln, im Grunde musst Du die richtige Technologie raus suchen und Dir überlegen, wie Du sie verwendest (gleiches gilt für JS).

    Da das für Dich ja ein absoluter Einstieg ist, würde ich Dir erst einmal vorschlagen, dass Du z.B. Siebzehn und vier oder Kniffel als Startspiel nimmst, d.h. Du schreibst ein Programm, dass jeder Spieler auf seinem System startet und dann eben mit anderen Spielen kann. Beschränke das Spiel erste einmal auf ein LAN. Alleine dabei wirst Du schon einige Probleme haben z.B. was passiert wenn der Rechner eines Spielers abstürzt, wie finden die Spieler sich um gemeinsam Spielen zu können. Woher weiss jeder Spieler wann er dran ist. Wie verfährst Du, wenn ein Spieler gewonnen hat, scheidet er dann aus dem Spiel aus oder wird das ganze Spiel abgebrochen, woher weiss dann jeder Spieler, dass das Spiel beendet ist. Wenn sich z.B. ein Spiel über mehrere Tage hinzieht, was passiert mit dem aktuellen Spielstand, d.h. wenn z.B. ein Spieler das Programm beendet, soll dann sein Spielstand nicht mehr existieren oder irgendwo gespeichert werden, wenn er gespeichert werden soll, wo geschieht das (dieses Problem würde z.B. beim Schach entstehen, wenn eine Partie über Tage oder Wochen gespielt wird).

    Diese ganzen Fragen musst Du zuerst einmal klären und Dir überlegen, wie man das dann in Quellcode auch umsetzt, denn wenn das nicht richtig funktioniert, dann wird Dein Spiel niemals wirklich funktionieren.

    Du fängst aktuell an Dir Gedanken über die GUI zu machen, also das was der Spieler nachher sieht, das ist der falsche Ansatz, denn die GUI ist im Grunde der letzte Punkt im Designprozess, d.h. er wird dann gemacht, wenn die ganze Spiellogik steht und die Schnittstellen definiert wurden, d.h. ob Du da nun ein Raumschiff durch eine Karte bewegst oder ein Männchen durch eine Landschaft ist völlig egal, denn das ist "nur" Visualisierung, wenn die Logik darunter gut designed wurde, dann kann ich die GUI flexibel austauschen.

    Nimm eine beliebige OOP Programmiersprache (Java, C++, Python, C#...), mit der Du einmal ein lokal laufendes Programm erstellen kannst. Dann überlege Dir, wie man nun in der Sprache entsprechende Klassen entwirft, die eben Daten aus dem lokal laufenden Programm an ein anderes System übertragen, dann überlege die, wie sich über das Netzwerk überhaupt mehrere Programme verbinden lassen (sprich mehrere Spieler), dann überlege Dir, welche Daten Du nun zwischen den Spielern übertragen muss und wie Du die eben netzwerktechnisch übertragen kannst (z.B. wie umgehst auch das Problem, dass ein Spieler seinen Spielstand verändert und somit manipuliert um zu gewinnen), wie schaffst Du es z.B. bei Kniffel, dass die Spieler immer in der richtigen Reihenfolge dran sind usw.

    Wenn Du dies erst einmal ohne ein GUI umsetzen kannst, dann kann man darauf dann sich darüber unterhalten, wie man nun eine GUI ansetzt und wie man Dein Konzept dann ggf so erweitert, dass dies auch über das Internet spielbar wird.

  18. Nun meine Fragen:

    - Wie baue ich eine Multiplayer Verbindung auf bzw wie rufe ich die aktuellen Koordinaten der relevanten Spieler auf?

    - Ist dies durch MySQL möglich? Wenn ja, sollte ich am besten eine persistente Verbindung verwenden oder doch eine normale?

    - Welche anderen Möglichkeiten habe ich, um mein Ergebnis performant zu erreichen?

    Eine Datenbank dazu zu verwenden ist definitiv der falsche Weg um Positionsangaben ständig zu aktualisieren. Bevor Du das mit Javascript etc machst, würde ich erst einmal zu einer reinen auf Sockets basierender Anwendung raten, d.h. rein auf ein LAN beschränkt.

    Überlege Dir welche Modelle gibt es, damit sich die einzelnen Clients finden können und wie können diese dann kommunizieren. Es ist ein schlechter Ansatz, wenn jeder Client auf die Datenbank connected (real wird dies eh nicht funktionieren). Bei solchen Projekten solltest Du wirklich damit beginnen zu überlegen, welche Kommunikation gibt es, welche Kommunikation muss wie garantiert sein und welche Laufzeit darf es für welche Kommunikation maximal geben.

  19. Da würde ich spontan interpretieren, dass der entsprechende VHost nicht konfiguriert ist. Bzgl. Plesk-Oberfläche wäre der spontane Gedanke: Webserver lauscht nicht auf Port 8443.

    Nein, wenn der VHost nicht konfiguriert ist, dann wird man entweder (bei identischem Port) auf den Default umgeleitet oder es tritt ein Timeout auf. Ein "Bad Gateway" bedeutet, dass ein Server, der als Gateway fungiert etwas nicht korrektes liefert. Ich würde ja mal auf eine fehlerhaft konfiguriertes mod_proxy / mod_rewrite Modul tippen,wobei ich hier absolut nicht die Notwendigkeit eines solchen Moduls sehe, denn wenn ich mehrere Domains hosten will ggf auf unterschiedlichen Ports, dann brauche ich weder ein Rewrite, noch ein Proxymodul.

    Falls Plesk seinen eigenen Dienst mitbringt, dann brauche ich auch kein Proxy / Rewrite Modul, denn ich kann ja den Dienst direkt ansprechen, sofern der Dienst eben korrekt auf das externe Interface gebunden ist. Bindet man Plesk an localhost, benötigt man natürlich einen Proxy, der diesen Fehler verursachen kann, wobei aber dann nicht klar ist, warum ich Plesk durch einen Apache tunneln muss, da beide ja letztendlich auf den gleichen Host laufen und wenn sie beide von außen erreichbar sein sollen, dann sollten sie auch beide korrekt gebunden sein.

    Ich würde, falls man unbedingt Plesk einsetzen will und Plesk seinen eigenen Dienst mitbringt, diesen an localhost binden, den Apache / NGix an das externe Interface. Um Plesk nun zu erreichen erzeugt man einen SSH Tunnel, der eben auf localhost : pleskport verweist, damit können nur User, die eine SSH Verbindung aufbauen dürfen Plesk verwenden und zusätzlich ist die Verbindung noch verschlüsselt.

    Meine persönliche Meinung ist, wer Plesk braucht, um einen Server zu administrieren, der sollte sich überlegen, ob ein Server das Richtige für ihn ist. Plesk als Addon ist durchaus okay, sofern man das Wissen hat, eben zu verstehen was Plesk alles macht. Einen Webmail Client kann man auch ohne Plesk betreiben (z.b. Roundcube), IMAP / POP3 (SSL) gibt es mit Dovecot, MTA Postfix oder Exim, WWW mit NGix oder Apache, fertige PHP Module gibt es auch und als Datenbank kann man mySQL nehmen. Plesk ist somit im Grunde obsolet

  20. Plesk ist nur eine GUI für sämtliche Systemdienste. Ich rate dringend komplett auf Plesk zu verzichten und die Konfiguration händisch zu machen. Im aktuellen Fall wird kein Weg daran vorbei gehen, dass Du die Dienste eben korrekt konfigurierst, d.h. für jeden Dienst händisch die Konfiguration anpasst.

    Generell gilt, Du solltest wissen, was Dein Server macht, da Du rechtlich dafür verantwortlicht bist. Es ist somit ratsam zu wissen, was ein Tool wie Plesk (oder Webmin) letztendlich wie in die Konfiguration einträgt, damit eben bei solchen Fehlern direkt klar ist, wie diese zu beheben sind.

    Ohne die genaue Konfiguration der Dienste & des Systems zu kennen, ist keine Hilfe möglich, da sonst nur "Rumraten" ist

  21. Nein, das geht eben nicht! Versuch das mal mit der Beispielreihe von oben. Bei einem linearen Anstieg müsste ein Gaussfilter (wie jeder FIR-Filter mit symmetrischem Kernel) dasselbe Ergebnis wie ein Identitätsfilter liefern. Das funktioniert aber nur mit äquidistanten Messwerten! Bei der anderen Reihe wirst du damit scheitern!

    Meine Antworten stehen in keinem Widerspruch zu Deiner Aussage, denn Du sprichst über eine Faltung Faltung (Mathematik) und dort im speziellen über den Glättungskern.

    Du hast das Problem, dass Dein Polynom durch die Lücken nicht vollständig ist, d.h. unstetig und damit nicht differenzierbar. Der Verweis auf die FEM liefert für die Differenzierbarkeit und die Integrierbarkeit von solchen Strukturen eine approximative Lösung. Weiterhin ist bei Dir die Trägereigenschaft nicht erfüllt, denn Dein Polynom existiert auch außerhalb Deines diskreten Wertebereiches, auch für dieses Problem liefert die FEM einen Ansatz.

    Die FEM liefert in ihrer Funktionsweise durchaus einen Lösungsansatz den Du auf Dein Problem übertragen könntest. Dazu hatte ich einen Hinweis im #2 & #4 gegeben.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...