Smalltalk - Labern, reden, diskutieren...

  • Wenn ein Verb gemeint wäre ("der Entwickler flucht"), hätte es korrekterweise kleingeschrieben werden müssen und da es großgeschrieben wurde, kann im Grunde nur die Flucht (von flüchten) gemeint gewesen sein.

    Naja, aber richtig wäre es mit Bindestrich: Entwickler-Flucht


    Bindestriche scheinen sich nur bei Kommas und Punkten einzureihen und weggelassen zu werden.

  • Naja, aber richtig wäre es mit Bindestrich: Entwickler-Flucht

    Da bin ich voll bei dir, aber ich wollte mal keine Fehler mit Fehlern rechtfertigen ;)

    Milestones:

    • 18.02.2022 19:14 CET: Erste PWA installiert (und es war ausgerechnet YouTube Music)
  • *verkrümelt sich zurück zur Kirche*

    Also am Anfang war etwas gutes... Aber dann?


    Ich bin dann Mal wieder anstehen!

    Projekte:

    XIVDATA - Eorzea Database


    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...


  • Ich hatte das so interpretiert, dass wenn man auf große Diskriminierung verzichtet, dass dieses dann als „erlaubter“ Humor durchgeht. In Jedem Witz wird irgendetwas veralbert. Aber ich kann mich durchaus zurückhalten.

    Auch wenn das ziemlich wenig damit zu tun hat:

    Ich finde, dass wir hier nur COPPA gerechte Inhalte erlauben sollten :D

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

  • Wenn ihr IPs im access.log und z.B. Matomo anonymisiert, es dann aber ab und zu ungewollte Bot-Crawlings oder Angriffe gibt (die unnötigerweise in Matomo auftauchen), wie kommt ihr an einfachsten an die volle, anonymisierte IP des Störenfrieds? Für alle dann die Anonymisierung kurzeitig ausschalten ist auch irgendwie doof.

  • Unser Datenschützer sagt, im access.log muss die IP nicht anonymisiert werden (sofern keine Verarbeitung erfolgt und Zugriff nur im Fehlerfall, z.B. Bots oder Hacker) stattfindet. Darf man bis zu 90 Tage speichern.

    Milestones:

    • 18.02.2022 19:14 CET: Erste PWA installiert (und es war ausgerechnet YouTube Music)
  • Ist das so? Blickt ja leider keiner mehr so recht durch.

    Nach meinem Verständnis nach, ja. Um deine Dienste entsprechend anzubieten und auch um deren missbräuchliche Nutzung zu unterbinden, hast du ein berechtigtes Interesse daran, diese Daten zu speichern und gegebenenfalls weiter zu verarbeiten.

  • Naja, aber richtig wäre es mit Bindestrich: Entwickler-Flucht


    Oder einfach zusammengeschrieben. Das ist eine deutsche „Krankheit“, überall Bindestriche einfügen zu wollen. Ich gebe zu, auch nicht völlig immun dagegen zu sein, aber ich habe mich in der Hinsicht schon sehr gebessert. Bindestriche sollten eigentlich nur gesetzt werden, wenn sie die Lesbarkeit verbessern. Das braucht's bei so kurzen Wörtern sicher nicht. ;)


    Lektüre-Empfehlung (hier wegen des doppelten „e“ tatsächlich zwecks Lesbarkeit mit Bindestrich):


    Zwiebel-Fisch: Das Elend mit dem Binde-Strich
    "Herr Doktor, mir geht es gar nicht gut", jammerte das Strich-Männchen. "Ich habe Verdauungs-Probleme, Magen-Schmerzen und Kopf-Weh. Hinzu kommen…
    www.spiegel.de

    "Wir finden Worte, die wie Geschosse treffen, wir leisten Schwüre, die niemals zerbrechen. Wir steh'n zusammen auch wenn man uns nicht mag, wir leben schneller, schneller in den Tag. Unsere Metaphern sind teuflische Ikonen, harte Aphorismen, gewagte Abstraktionen. Ein Strauß von Versen im Idiomenbeet, verbale Blüten wie es geschrieben steht."


    (Saltatio Mortis)

    Edited once, last by Cadeyrn ().

  • Ewwww!


    Das ist ja wie früher mit den CSS-Hacks.


    Im konkreten Beispiel würd ich lieber im Funktionskörper eine Prüfung einbauen, ob das, was per return zurückkommt, dem gewünschten Typ entspricht und ansonsten eine Warnung oder Exception werfen. Und die Prüfung direkt deprecaten, um das dann irgendwann mal entfernen zu können.


    Wobei das, im konkreten Beispiel, komplett schwachsinnig ist, wenn die Funktion sowieso mixed (aka alles) returnen kann.

    Milestones:

    • 18.02.2022 19:14 CET: Erste PWA installiert (und es war ausgerechnet YouTube Music)
    • Official Post

    Hallo,

    Wobei das, im konkreten Beispiel, komplett schwachsinnig ist, wenn die Funktion sowieso mixed (aka alles) returnen kann.

    das Problem, was das Beispiel lösen soll ist die Erfüllung der Kovarianz für Return-Types bei vererbten Klassen bzw. Implementierung eines Interfaces, aber mit Kompatibilität für PHP-Versionen vor 8.0 (weil mixed erst ab 8.0 existiert). Entsprechend ist auch eine Prüfung im Funktionskörper keine Alternative.

  • das Problem, was das Beispiel lösen soll ist die Erfüllung der Kovarianz für Return-Types bei vererbten Klassen bzw. Implementierung eines Interfaces, aber mit Kompatibilität für PHP-Versionen vor 8.0

    Also ich habe jetzt ein bisschen herumgespielt, weil ich hatte diese Idee, eine Klasse "mixed" zu machen (der Name ist ja, wenigstens in 7.4, nicht reserviert - und dann könnte man da ja eine leicht hässliche Versionsweiche drum herumbauen), aber meine Versuche sind alle so ein bisschen im Sande verlaufen.


    Was ich aber nicht so richtig verstehe:

    Das Beispiel will ein Problem mit der Vererbung oder der Implementierung von Interfaces lösen bei gleichzeitiger Kompatibilität mit PHP < 8.0.

    Haben dann die Elternklassen bzw. das Interface nicht dasselbe Problem? Und wenn, wäre dann nicht die naheliegendste Lösung einfach, das return-Hint wegzulassen, weil "nix" ist ja automatisch "mixed"? Also dann halt auch bei sämtlichen Eltern bzw. Interfaces bzw. was es da noch alles gibt.

    Milestones:

    • 18.02.2022 19:14 CET: Erste PWA installiert (und es war ausgerechnet YouTube Music)
    • Official Post

    Hallo,

    Haben dann die Elternklassen bzw. das Interface nicht dasselbe Problem? Und wenn, wäre dann nicht die naheliegendste Lösung einfach, das return-Hint wegzulassen, weil "nix" ist ja automatisch "mixed"? Also dann halt auch bei sämtlichen Eltern bzw. Interfaces bzw. was es da noch alles gibt.

    in diesem Fall geht es um ein PSR-Interface. Die Referenzimplementierung des Interfaces (im psr/cache-Composer-Paket) hat in Version 1 (kompatibel mit alten PHP-Versionen) noch keine richtigen Typen, sondern nur PHPDoc. In Version 3 hat die Referenz-Implementierung auch einen richtigen Return-Type, ist deshalb aber nur mit PHP 8.0 kompatibel.


    Wenn ich jetzt dieses Interface in meiner mit PHP 7.4-kompatiblen Bibliothek implementieren möchte, dann kann ich dort aber nicht den mixed-Type verwenden, weil es den noch nicht gibt:


    eScGI - created on 3v4l.org
    View the output of this script on 3v4l.org: the online PHP shell with 250+ PHP versions
    3v4l.org


    Daraus folgt unmittelbar, dass ich auch nicht mit Version 3 der Referenz-Implementierung vom Interface kompatibel sein kann, weil:


    EntQu - created on 3v4l.org
    View the output of this script on 3v4l.org: the online PHP shell with 250+ PHP versions
    3v4l.org


    Das ist auch unbefriedigend, weil dann potentiell andere Abhängigkeiten geblockt werden, die mindestens Version 3 der Referenzimplementierung haben wollen.


    Um das zu unterstützen, nehme ich dann einfach den Trick her:


    v1CdB - created on 3v4l.org
    View the output of this script on 3v4l.org: the online PHP shell with 250+ PHP versions
    3v4l.org


    :)

  • Ich verstehe. Nun, dann scheint mir das mit dem Interface noch die eleganteste Lösung zu sein.


    It ain't stupid if it works.

    Milestones:

    • 18.02.2022 19:14 CET: Erste PWA installiert (und es war ausgerechnet YouTube Music)
  • Das ist wie Autofahren mit angezogener Handbremse – funktioniert, aber Spaß macht es nicht.

    :/ ich hab das letztens probiert... mein Auto wollte aber nicht mal anfahren dabei....


    Projekte:

    XIVDATA - Eorzea Database


    A red dragon falls from the heavens... Ah, that memory has been lost. A shame. It was a favorite of mine...


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!