Likes Likes:  0
Seite 2 von 2 12
  1. #11
    BloodSteam
    Gast

    AW: NodeJS vs PHP - Wann was nutzen?

    Ich glaube es wird nichts mit Golang.
    Man bekommt ein Tutorial wo so eine Funktion drin ist:
    Code:
    func (this *MyHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
    Ich verstehe Funktionen so:
    Code:
    func funcName (parameter) { exec }
    Die Dokumentation mag für Leute die C, C#, Golang verstehen Sinn machen, für mich macht es keinen Sinn.

    • Bitte einloggen, um diese Anzeige auszublenden.
  2. #12
    Avatar von DataDino
    Mitglied seit
    27.09.2016
    Liest
    PCGH.de
    Ort
    NRW
    Beiträge
    515

    AW: NodeJS vs PHP - Wann was nutzen?

    Naja mit Tutorials sich durch Programmiersprachen zu hangeln, geht selten gut, weil dadurch oftmals Zusammenhänge unklar bleiben. Man sollte schon ein gutes Handbucg nehmen, das einem Schritt für Schritt durch die Sprahspezifikation führt und genau erklärt, was wo wie bedeutet. Bei einem Tutorial fehlen einfach zu viele Informationen.
    R5 3600 + PuerRock on B450 | 32 GB DDR4 3200 | GTX 1070 | 500 GB NVNe + 1 TB SATA SSD + 1 TB HDD USB 3.1 | Cooler Master Q300L + 5x SilentWings | PurePower 11 400W-CM | Win 10 Pro

  3. #13

    Mitglied seit
    04.12.2015
    Beiträge
    18

    AW: NodeJS vs PHP - Wann was nutzen?

    Zitat Zitat von DataDino Beitrag anzeigen
    Ich persönlich hasse dieses Gefuddel mit Feldvergleichen und Rollbacks. Ich bin dazu übergegangen, Datensätze einfach zu locken, wenn sie zur Bearbeitung aufgerufen wurden..
    Das habe ich früher auch so gemacht, habe es aber wegen der Deadlocks aufgegeben. Dann lieber Gefuddel mit Feldvergleichen und Rollbacks.

  4. #14
    Avatar von DataDino
    Mitglied seit
    27.09.2016
    Liest
    PCGH.de
    Ort
    NRW
    Beiträge
    515

    AW: NodeJS vs PHP - Wann was nutzen?

    Zitat Zitat von Gorblorex Beitrag anzeigen
    Das habe ich früher auch so gemacht, habe es aber wegen der Deadlocks aufgegeben. Dann lieber Gefuddel mit Feldvergleichen und Rollbacks.
    Deadlocks kann man mit clientseitig getaktetem Reminder unterbinden. Entweder per Ajax oder bei einer Client-App per Hintergrund-Request. Ein Lock ist bei mir meist nur 3 Minuten gültig. Es sei denn, der Client befindet sich noch in der Bearbeitung und meldet dies alle 2 Minuten. Wenn er dies tut, wird der Timestamp der Sperre mit dem aktuellen überschrieben. Wird die Bearbeitung beendet, ohne den Vorgang abzuschließen oder abzubrechen (was der Grund für Deadlocks ist), wird bei einem nächsten Reinigungslauf die Locks entfernt, die älter als 3 Minuten sind. Dieser Vorgang kann zum Beispiel immer dann ausgelöst werden, wenn eine neue Bearbeitung eingeleitet wird (dabei ist es sogar egal, ob es sich um Unterschiedliche Datensatztypen handelt oder nur bei einem Formular für Locks dieses Formulars). Eine einfache Delete-Anweisung mit der WHERE-Klausel, die auf alle Timestamps älter 3 Minuten matcht schmeißt dann die Deadlocks raus. In Intranetumgebungen kann man sogar die Zeiten deutlich reduzieren, da geringere Latenzen und höhere Bandbreiten verfügbar sind.

    Nennenswerte Probleme mit Deadlocks habe ich früher nie gehabt.
    R5 3600 + PuerRock on B450 | 32 GB DDR4 3200 | GTX 1070 | 500 GB NVNe + 1 TB SATA SSD + 1 TB HDD USB 3.1 | Cooler Master Q300L + 5x SilentWings | PurePower 11 400W-CM | Win 10 Pro

  5. #15

    Mitglied seit
    04.12.2015
    Beiträge
    18

    AW: NodeJS vs PHP - Wann was nutzen?

    Würde das das aber nicht bedeuten, wenn ich einen komplexeren Datensatz bearbeite, ich dann abgelenkt werde für > 3min und den Rechner stehen lassen muss, die ganzen Änderungen weg sind?

    Erkläre mir bitte, wie Du folgendes Szenario mir Record Locking gelöst hast:
    Mitarbeiter A erstellt eine Rechnung mit Artikelnummer 1, 3, 5 … 99 (ich übertreibe, ich weiß �� )
    Mitarbeiter B erstellt eine Rechnung mit Artikelnummer 2, 4, 6 … 100.
    Die Ganzen Artikel sind gelockt (weil ich ja den aktuellen Warenbestand steuern möchte), Deine App meldet auch brav alle 3 min, der User ist noch am Arbeiten, alles fein soweit. Jetzt möchte der Benutzer A die Artikelnummer 2 zu der Rechnung hinzufügen, bekommt aber die Meldung: Ist in Benutzung versuche es später wieder. In der Zwischenzeit versucht der Benutzer B die Artikelnummer 1 hinzuzufügen, mit ähnlichem Erfolg. Jetzt warten beide und nichts geht mehr.

    Meiner bescheidenen Meinung nach, ist Recordlocking ein Relikt aus den 80er/90er Jahren, hat in der modernen Softwarearchitektur nichts zu suchen.

  6. #16
    Avatar von DataDino
    Mitglied seit
    27.09.2016
    Liest
    PCGH.de
    Ort
    NRW
    Beiträge
    515

    AW: NodeJS vs PHP - Wann was nutzen?

    Würde das das aber nicht bedeuten, wenn ich einen komplexeren Datensatz bearbeite, ich dann abgelenkt werde für > 3min und den Rechner stehen lassen muss, die ganzen Änderungen weg sind?
    Nein es bedeutet, das der Datensatz so lange gesperrt bleibt, bis du die Bearbeitung abbrichst, abspeicherst oder das Fenster schließt und der Timeout abgelaufen ist. Der Client aktualisiert nur den Timestamp.

    Erkläre mir bitte, wie Du folgendes Szenario mir Record Locking gelöst hast:
    Mitarbeiter A erstellt eine Rechnung mit Artikelnummer 1, 3, 5 … 99 (ich übertreibe, ich weiß )
    Mitarbeiter B erstellt eine Rechnung mit Artikelnummer 2, 4, 6 … 100.
    Die Ganzen Artikel sind gelockt (weil ich ja den aktuellen Warenbestand steuern möchte), Deine App meldet auch brav alle 3 min, der User ist noch am Arbeiten, alles fein soweit. Jetzt möchte der Benutzer A die Artikelnummer 2 zu der Rechnung hinzufügen, bekommt aber die Meldung: Ist in Benutzung versuche es später wieder. In der Zwischenzeit versucht der Benutzer B die Artikelnummer 1 hinzuzufügen, mit ähnlichem Erfolg. Jetzt warten beide und nichts geht mehr.
    Das Problem bekommt man damit nicht gelöst. Denn hier läuft schon vom Grundsatz her etwas komisch. Aus welchem Grund soll ich Artikel-Stammdatensätze bei der Erstellung einer Rechnung sperren?
    1. Der Zugriff auf diese Datensätze erfolgt lesend. Einzig bei der Behandlung von Beständen wird geschrieben. Und da würde ich zuerst bei der Aufnahme des Artikels die Menge reservieren und erst bei endgültigen Abschluss vom Ist-Bestand abziehen. Beide Vorgänge dauern keine Sekunde. Ein solcher Lock ist also vertretbar. Und bei so kurzen Sperrzeiten kann man das Skript einfach anweisen, es noch ein paar mal zu versuchen und in der Regel wird dazwischen auch der Datensatz wieder frei. Und wenn der Verkauf des Bestands die Reservierung berücksichtigt, kann es auch nicht zum Überverkauf kommen.
    2. Eine Sperre zur Bearbeitung eines Stammdatensatzes muss den lesenden Zugriff nicht zwingend beeinflussen. Ein solcher Stammdatensatz wird aber auch in der Regel selten geändert. Es sei denn es handelt sich um etwas, das tagesaktuell kalkuliert wird.
    3. Rechungsspezifische Rabattierungen/Sonderkonditionen sind wie gesagt rechnungsspezifisch und haben mit den Artikelstammdaten auch nichts zu tun.

    Recordlock ist auch heute noch verbreitet und es gibt wenig, was dagegen spricht. Ich halte in bestimmten Situationen sogar die Methode mit den Feldvergleichen inkonsequenter. Da sich in der Zwischenzeit durch die Bearbeitung anderer die Rahmenbedingung für eine Anpassung ändern kann ist das Potenzial höher, nacharbeiten zu müssen.

    Aber eigentlich sind wir in dem Thread nicht für eine Grundsatzdiskussion. Denn das ist von PHP sowie Node unabhängig.
    R5 3600 + PuerRock on B450 | 32 GB DDR4 3200 | GTX 1070 | 500 GB NVNe + 1 TB SATA SSD + 1 TB HDD USB 3.1 | Cooler Master Q300L + 5x SilentWings | PurePower 11 400W-CM | Win 10 Pro

  7. #17

    Mitglied seit
    04.12.2015
    Beiträge
    18

    AW: NodeJS vs PHP - Wann was nutzen?

    Zitat Zitat von DataDino Beitrag anzeigen
    Aber eigentlich sind wir in dem Thread nicht für eine Grundsatzdiskussion. Denn das ist von PHP sowie Node unabhängig.
    Stimmt, wir können das gerne per PM ausdiskutieren

    • Bitte einloggen, um diese Anzeige auszublenden.
  8. #18
    Avatar von Zeiss
    Mitglied seit
    30.09.2015
    Ort
    Korntal-Münchingen
    Beiträge
    344

    AW: NodeJS vs PHP - Wann was nutzen?

    @DataDino: Welches RDBMS verwendest Du denn?

Seite 2 von 2 12

Ähnliche Themen

  1. Alte HDD Wechselrahmen an aktuellen pc nutzen (parallel port?!)
    Von Maggats im Forum Technologie gestern-heute-morgen
    Antworten: 13
    Letzter Beitrag: 11.10.2007, 21:43
  2. [RAM] 4x1GB nutzen?
    Von Shaddy im Forum Mainboards und Arbeitsspeicher
    Antworten: 25
    Letzter Beitrag: 10.10.2007, 15:52
  3. 9800gts/gtx: Wann kommen die?
    Von darksplinter im Forum Grafikkarten
    Antworten: 21
    Letzter Beitrag: 08.10.2007, 23:06
  4. Alte Speicherriegel Weiter nutzen in nem Addapter?
    Von hills im Forum Mainboards und Arbeitsspeicher
    Antworten: 3
    Letzter Beitrag: 25.09.2007, 03:43
  5. Video-IN nutzen
    Von devon im Forum Tools, Anwendungen und Sicherheit
    Antworten: 18
    Letzter Beitrag: 19.09.2007, 17:29

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •