Beiträge von Alf21

    Wenn es nicht mal getriggert wird, ist ja etwas komisch. Stimmt überhaupt die Referenz mit dem Beenden[playerid]?
    Würde erstmal debuggen, ob beim Klick auf den PlayerTextdraw überhaupt was getriggert wird. Falls ja, aber nicht das Beenden[playerid], dann liegt es daran, dass du ggf. nicht die Referenz übergeben hast.


    BTW: Würde dir empfehlen, es trotzdem so wie Jeffry erklärt hat, zu machen (falls du es nicht so gemacht hast).

    Falsch, es gibt Ausnahmen. Generell hättest du zwar recht, aber es gibt bspw. Strings aus dem Java internen Pool, die man mit == überprüfen kann. So müsste man bei String Objekten, die man mit "new String(...)" initialisiert, diese zwingend mit equals überprüfen (da sonst die Referenz der Objekte überprüft wird), nicht aber feste Konstanten oder Java Pool internen Strings. Heißt


    antwort == "ja" sollte, wenn man "ja" eingibt, ein true liefern (auch wenn es unsicher ist, aber sonst wäre zB die switch-case nicht möglich).


    Referenz: https://www.java-blog-buch.de/0302-strings-vergleichen/


    Zusätzliche Anmerkung:
    Wenn du es ganz genau haben willst, kannst du auch antwort.toLowerCase().compareTo("ja") == 0 nehmen. So könntest du sogar gleich bei einem NullObject mit einem ErrorHandling antworten und wärst direkt an der "Quelle":
    http://stackoverflow.com/quest…rings-compareto-vs-equals

    Die Schleife könntest du höchstens dazu verwenden, um eine mögliche Antwort zu holen.
    Dann würde ich sogar mit ner switch-case Struktur arbeiten.


    z.B. so



    Habe den Code nicht getestet, sollte aber eig. funken ^^

    Ist der Port frei? Musste meinen damals auch wegen Skype umändern, da der Dienst sonst nicht starten konnte.
    Ist der Dienst aktiviert (von Windows aus)?
    Wenn nicht einfach neuinstallieren, sollte bei XAMPP ja eigtl. keine Probleme geben. Ist alles wieder sauber. Einfach htdocs sichern und die mysql db ^^

    Anstatt CSS würde ich dir gleich LESS ider SCSS(Heisst das so? Zmd die Endung) empfehlen. Ist quasi CSS mit Variablen und vieeel mehr möglichkeiten und wird heutzutage öfters verwendet.

    Denke du meinst eher SASS statt SCSS, würde aber auch gehen ^^
    Btw ich würde auch LESS empfehlen. Glaube dass SASS mehr Möglichkeiten hat, ist aber nicht so schön und CSS Nah wie LESS. Dann kannst du auch Funktionen/Methoden/"Mixins" verwenden und halt das Wichtigste: Variablen.


    Wie siehts aus mit Performance und Sicherheit bei dir? Warum entwickelst du "besonders sicher" im Gegensatz zu anderen?
    Und wie mit Javascript, jQuery und insbesondere Ajax?

    Okay Danke dir :)
    Ich denke, ich werde es so wie du machen. Ergibt alles Sinn und so hab ich es speziell noch nie betrachtet.
    Was denkst du über Ember? https://www.emberjs.com/


    Bzw. Hat jemand mit soetwas Erfahrung?
    Hab überlegt, es auszuprobieren. Nur ich will nicht alles sinnlos ändern, falls die Performance erheblich drunter leiden sollte :/

    Vielen vielen Dank für die unterschiedlichen Ideen und Anmerkungen. Wirklich qualitativ, also Ahnung habt ihr :)


    Vielleicht zum Verständnis um auf das Problem weiter einzugehen und die beste Lösung zu finden:


    Ich lade aus der Datenbank Daten wie Dateipfad, Likes, id und etwaige essentielle Daten.
    Da diese Methode die schnellste ist (ein kompletter Scan mit Sortierung und splitting des Arrays in PHP dauert viel viel länger), würde ich es auch dabei belassen.
    Im Anschluss generiere ich aus den Daten mit PHP einen kleinen Wrapper pro Bild mit ca. 3Links, dem Bild und paar Buttons mit Container, alles in allem liegen wir da bei 8 Zeilen pro Wrapper.
    Die übermittle ich nun alle als HTML-Quellcode über AJAX an den Client bzw. binde diese ins Dokument ein.
    Zuvor hatte ich einen Preloader, der nach dem Laden verschwindet. Habe ich aber rausgenommen, um den Unterschied zu sehen.
    Letztendlich war der Server schneller mit der Verarbeitung als das Javascript, wenn ich nur die Rohdaten als JSON String übermittelt habe.
    Da das aber zu Kosten des Servers geht, wollte ich das ändern. Denn bei einer größeren Nutzerzahl hat er sicher ganz schön zu kämpfen.


    Deshalb gefällt mir die Idee von @IPrototypeI momentan am besten. Statt alle 100 Einträge pro Seite zu laden, würden zB auch die ersten 20 reichen. Und dann wenn man weiter runterscrollt, könnte man die nächsten 20 laden. Denkt ihr, das macht in diesem Fall am meisten Sinn? Die Daten dann aber als Rohdaten per Ajax Request vom PHP Script über Javascript zu verarbeiten?


    Danke nochmal, besonders an @root, @fnL und @IPrototypeI :)

    Hey, mal ne Frage an die, die in diesem Gebiet (Performance im Web) Erfahrung hat.


    Momentan lade ich bei meiner Seite über PHP pro Aufruf eines Users 100Zeilen aus der MySQL Datenbank (mit ca. 10 Spalten) und verarbeite diese insgesamt in ca. 800Zeilen HTML-Quellcode.


    Diesen lade ich dann über Ajax in die Seite.


    Das heißt im Endeffekt werden MySQL Daten von PHP verarbeitet und über Ajax an den User in Form von HTML gesendet. So wie es meist der Fall ist.


    Jetzt zur Frage: Gibt es bessere Wege Zwecks Performance?
    Die Daten, die ich aus der MySQL DB lade, sind durch LIMIT in ein Intervall aufgeteilt. Wäre es besser, alles zu laden und dann über Javascript zu speichern? Eigentlich kann ich mir das nicht vorstellen, da das zum einen ausarten kann und zum anderen die Daten dann nicht aktuell sind. Gibt es einen besseren Weg? Oder sollte man nur Sicherheitsmaßnahmen einfügen, damit man den AjaxRequest maximal alle 5-10 Sekunden machen kann?


    Bin gespannt auf eure Antworten ^^


    Mit freundlichen Grüßen
    Alf21

    Falls du es komplett nicht hinbekommen solltest, backup der Datenbanken holen und der Dateien und neuinstallieren bzw. einfach updaten.
    Ich hab bei mir auch Debian8 draufgehabt und die Standardinstallation von MySQL ist die v5.5, wobei es schon viel neuere gibt. Hab deshalb gestern erstmal v5.6 raufgepackt, hat viele Fehler behoben. Btw. hast mal deine Config überprüft? Server komplett neugestartet? Vielleicht hat sich was verhaspelt, ne Instanz mit Port oder so, auch wenns nicht inner Fehlermeldung steht...

    Erstell ne Kopie, mach den fürs Breadfish Forum zugänglich und sperre den dann nach ner Weile wieder. So gehts auch ^^ Aber würde ne Veröffentlichung des Links hier auch als die bessere Lösung finden, erreichst du einfach mehr. So siehst Du ggf auch, wie die Website sich unter etwas mehr Belastung verhält, falls Du mit deinem PHP rumgesaut hast :D

    Finde ein paar tolle Worte und gib ihr die Rosen (unzerrissen!) in die Hand (Nachts um 3:30 noch son Dreck im Schlafzimmer, schäm dich :D). Dazu noch ein Zettel, mit ausreichend leserlicher und großer Schrift, dass man ihn erschöpft noch lesen kann (ist nen guter Überraschungsmoment, wenn man den aufmacht ^^). Dann schreibste bspw rein, dass ihr Brunchen geht oder du morgen Frühstück machst. Aber nicht vergessen: es wäre fatal, das zu verplanen oder verschlafen! Und dann nimmste dir natürlich noch etwas Zeit mit ihr, ich meine, wer um 3:30 wach ist, kanns sicher noch nen Stündchen bleiben ;)


    Viel Spaß ^^


    //edit
    Ist mir eben noch eingefallen:
    Falls du ein schlechter Koch bist oder es normal ist, dass du für sie kochst, lass das mit dem Zettel und sag ihr, dass sie sich am nächsten Tag was wünschen darf (Restaurant oder etwas gekochtes) bzw. koche etwas leckeres. Oder koch mit ihr zusammen, falls sie eine Person ist, die dran Spaß hat. Nicht dass sie dabei zur Furie wird - ohne ihr etwas unterstellen zu wollen ^^

    Na da gibts doch mehrere Möglichkeiten.
    Die Optimalste: du lädst die Variable beim Start in eine globale Variable und änderst diese globale Variable, wenn du bspw: "/changeTS "127.0.0.1" machst sowie updatest die Datenbank. So muss man das Script nicht ständig neu hochladen und die TS IP ist dynamisch.


    So wäre halt das generelle performance optimierte Vorgehen bei Umweltvariablen und anderen. Ist halt auch nen Vorschlag für künftige Dinge, die du einstellbar machen willst ^^

    Ich will jetzt nicht sagen, dass es ein und dasselbe ist, aber wenn du so pingelig sein willst erneut die Frage:


    Warum die ganzen Einstellungsmöglichkeiten nicht über SQLLite verwalten? So könnte man diese während der Server läuft (oder ohne update halt später) immerhin auch direkt vom Server aus verändern. Besser, als das ganze Script neu hochzuladen.


    Falls dein Script einigermaßen komplex und dynamisch aufgebaut ist, werden sich sinnvolle Dinge dafür finden. Rangnamen bspw., falls man diese ändern will (Fraktionsintern oder aus dem Adminteam). Das wäre sogar etwas, was du als Konstante oben im Screenshot definiert hast.
    Aber sinnvoller würde ich bspw. das ändern der TS IP finden. Ich kenne es aus dem Freundeskreis, dass der TS mal alle paar Wochen wechselt vom neuen zum alten bis hin wieder zum neuen.


    PS: Ist nur ne Frage. Und auf ne Frage wäre ne einigermaßen nachvollziehbare Abtwort gut. Wenn du es nicht willst, einfach ein Grund, warum nicht. Man lernt nie aus. Also vielleicht lerne auch ich durch einen ausgefuchsten Grund dazu ;)

    Nur als Anmerkung: Generell sind bei Handys eher feuchtigkeitsentziehende Mittel (keine flüssigen Stoffe!^^) zu empfehlen.
    Wenn man mit der Temperatur spielt, also bspw. das Handy auf die Heizung legt oder in den Kühlschrank packt, verändert sich auch das Wasser im Handy. Ich sag nur Basiswissen Physik / Chemie.
    Nun kann es nämlich sein (und das passiert sehr oft), dass durch die überdurchschnittliche Wärme (bspw. von der Heizung), das Wasser anfängt, gasförmig zu werden. Das tut Wasser übrigens auch, wenn es nicht warm ist. Drum trocknet die Wäsche draußen trotzdem (bspw. mithilfe des Windes).


    Und wenn du Wasserdampf in deinem Handy hast, der sich - was eben Gas macht - überall hin verteilt, dann hast Du ein großes Problem. Oftmals defekte Kamera ("lila Filter"), defekter Display oder defekter Akku (falls er nicht schon ne Macke bei der Reaktion mit dem Wasser hatte).


    Normalerweise hat ein Handy und somit auch ein iPhone damit keine großen Probleme, für 1-2s kurz unter Wasser zu sein. Ich hoffe, du hast dich beim "rausholen" beeilt ^^


    Kleine Tipps am Ende: Eine Mikrowelle zählt in diesem Fall eindeutig nicht zu den feuchtigkeitsentziehenden Mittel, ich sag nur Mikrowellen / Strahlung (net gut für 1 Technik vong Fonktion her).
    Ein Fön kann bei falscher Anwendung auch das Handy zerstören (Überhitzung, Veränderung des Materials). Man sollte ihn weiter von Handy weghalten. JEDOCH sollte man sich sicher sein, dass falls zu viel Wasser im Handy ist (und auch so), und der Dampf nicht gut wegkommt, die oben genannten Probleme auftauchen können.


    Also meine Tipps:
    1. Ab in die Werkstatt
    2. Mit der Werkstatt zu dir (Display aufschrauben, alles sorgfältig und sanft mit bspw. Ohrenstäbchen bei AUSGESCHALTETEM HANDY abtupfen)
    3. Hab sogar mal was von nem Staubsauger gehört, wenn der kräftig zieht (um wasser herauszubekommen). Würde ich wegen der Technik usw. aber met riskieren. Ich wäre in dem Fall eher für den Fön in Kombi mit sanften Staubsauger an Handyeingängen, um ggf Wasserdampf abzuziehen.

    Warum die ganzen Einstellungsmöglichkeiten nicht über MySQL verwalten? So könnte man diese während der Server läuft (oder ohne update halt später) immerhin auch ausm Web oder direkt vom Server aus, verändern. Besser, als das ganze Script neu hochzuladen.

    Genau ... :/


    Der oberen Code habe ich halt damit versucht:


    SELECT id, created_at FROM bilder WHERE ORDER BY created_at DESC, id ASC LIMIT $limit; (1. Aufruf (Seite 0))
    SELECT id, created_at FROM bilder WHERE id > $lastId AND created_at < $lastNewest ORDER BY created_at DESC, id ASC LIMIT $limit; (n>0 Aufruf (Seite n))


    zuerst werden die ältesten Daten geladen und diese nach ID sortiert. Dann, wenn das Limit erreicht ist, wird die letzte ID gespeichert und das älteste Datum (Timestamp).


    Wenn nun ein neuer Aufruf kommt (n>0) dann bekommt er alle Einträge, die jünger als der letzte ist und eine größere ID haben (Da die Liste vorher sortiert wurden.)


    Wenn nun aber ein noch jüngerer Eintrag kommt, logisch (soll es ja), dann nimmt er nur alle, mit einer GRÖSSEREN ID, was die kleineren ausschließt :/


    Ist sowas überhaupt mit MySQL möglich? :D


    Ich meine, ich kann auch keine in der Select Abfrage erstellte Variable in der Where Klausel nutzen, ohne gewrappte Abfragen zu erstellen...


    Ich könnte mir vorstellen, dass das auch nur über gewrappte Aufrufe möglich ist, nur finde keinen Ansatz.

    Hallo ^^


    Hier mal ein etwas komplizierteres Anliegen.
    Da ich durch einen Datenzugriff auf den MySQL Server eh schon mit dem Server verbunden bin, wollte ich die Sortierung der Daten dort auch gleich ablaufen lassen.
    Davor hatte ich dies mit PHP geregelt, indem ich ALLE Daten gezogen habe und dann denn Array über usort nach dem 'created_at' und 'id' keyword sortieren lassen habe.


    Mein Ziel ist, die Daten zu splitten, um verschiedene Seiten zu erstellen.


    Da ich aber nicht alle Daten ziehen will (verbraucht ja extrem viel Performance), sondern mit dem MySQL Keyword limit arbeiten möchte, muss ich bevor LIMIT überhaupt ab einem bestimmten Wert aufhört, die Daten zu holen, diese vorher sortieren.


    Weiß jemand, wie das möglich ist?


    Bisher habe ich folgendes:



    Das Problem hierbei ist, dass die ID unabhängig vom Erstellungsdatum ist. Normalerweise ist das Erstellungsdatum ja immer, je größer die ID ist, jünger. Doch ich will, dass es auch funktioniert, wenn man das Erstellungsdatum ändert.


    so kann es sein, dass die ID 3 später erstellt wurde, als ID 4 (normalerweise andersherum).


    Das Problem in meiner Abfrage ist, dass man, wenn man checkt, ob eine ID größer als die letzte ist, das nicht mehr geht. Gerade wegen dem eben beschriebenen Problem.


    Generell will ich die letzte ID der Daten haben, die es auf einer Seite gibt (Seitengröße: 28 Daten).
    Und falls mehrere Daten zur gleichen Zeit erstellt wurden, muss ich ja noch die ID mit überprüfen. Nur durch den Eintrag in die WHERE-Klausel mit id < $lastId unterdrückt man ja die kleineren IDs, die aber ggf ein neueres Erstellungsdatum haben...


    Ich weiß, das ist sehr kompliziert und ich zerbreche mir hierbei auch langsam den Kopf ^^


    Mit freundlichen Grüßen,
    Alf21