Wochenbericht 2017.25

JavaScript Optimization Patterns (Part 1) das verspricht eine unterhaltsame Serie zu werden. Irgendwo bin ich neulich auch mal über die Performance von Local vs Global in JS gestoßen und habe den Link leider nicht gespeichert, aber das hier ist eine sehr gute Erklärung.

Eine Sammlung schicker Verläufe. Klingt komisch, ist aber so und hat ein paar schicke Verläufe.

Die NSA ist auf Github. Also mit Repos. Andererseits bestimmt auch zum Daten schnorcheln.

The Illusion of Speed mal wieder zum Thema „Percieved Perfomance“

CSS Grids hat eine minmax()-Funktion.

Zum Abschluss was zum Lachen: „Have you ever felt this?

Wochenbericht 2017.24

  1. Wie kam eigentlich das IMG-Tag zustande? Ein kleiner Ausflug in die Ursprünge des WWW. Im Prinzip funktionierte das damals wie heute auch, nur mit weniger Papierkram. Und ohne größere Notwendigkeiten, komplett rückwärtskompatibel jeden alten Krempel durchzuschleifen.
  2. Pitch dich selbst!

    Menschen ernähren Familien, Menschen brauchen etwas, das man gemeinhin “Einkommen” nennt. Und das wird nicht aus kostenlosen Pitches oder dem Verschenken von Ideen finanziert. Oder dachte das jemand? Wer jetzt zustimmend nickt, wurde dreimal hochgeworfen und nur zweimal aufgefangen.

  3. Stackoverflow beantwortet die Frage, ob man Tabs oder Spaces nutzen könnte mit Einkommensstatistik
  4. Nachhilfe für die Bootstrap Navbar
  5. Wie man sich in der Entwicklung einiges einfacher machen kann – dafür aber Abhängigkeiten in Kauf nehmen muss.

Was zum Lachen: I Am GROOT (Disskussion)

Wochenbericht 2017.23

Willkommen in der Illuminaten-Woche 🙂

  1. Typensicherheit in Javascript: Flow vs. TypeScript
  2. Wie man mit D3.js den kleinsten Kreis um ein Set von Kreisen findet. Wir haben neulich ein Projektangebot abgegeben, bei dem darum ging, zumindest näherungsweise die Kreispackung in einem Kreis zu berechnen und ggf. zu visualisieren. Allerdings gehen nur wenige Näherungslösungen von ungleich großen Innenkreisen aus. Das wäre auf jeden Fall spannend geworden
  3. Über t3n bin ich wieder auf Sulu aufmerksam geworden. Das liest sich alles großartig. Allerdings ist das für meine Freelance-Zwecke zu oversized.

Zum Schluss was zum Lachen: Der Unterschied zwischen 0 und null

Wochenbericht 2017.22

11 things I learned reading the flexbox spec ist eine schöne Zusammenfassung, was Flexbox so alles kann und wo man vielleicht etwas vorsichtiger sein sollte. Schön finde ich den Hinweis auf das QA Team, welches die Datenbank mit vielen „interessanten“ Texten füllt.

SweetAlert – A Beautiful Replacement for Javascript „Alert“. Schöne API, nettes Design und nicht übertrieben.

Während FontAwesome gerade an Version 5 strickt, gibts nun auch ein kleines Open Souce Icon Set: Feather. Die Icons sind direkt als SVG herunterzuladen.

The Hitchhiker’s Guide to d3.js“ eine kleine Einführung in D3.js von Ian Johnson. Ich finde das Thema „Datenvisualisierung“ ja ziemlich spannend, allerdings habe ich bisher nicht die Zeit und Muße gefunden, mich damit fundamental auseinanderzusetzen.

Was zum Lachen:

Best protection from cyber attacks & Emojis und der Unicode Zeichenraum

„To fix this issue you can simply rename your file to api2.php“

Ich bin ja auch Nutzer von InfiniteWP. Das ist eigentlich ein sehr gutes Tool zum Verwalten von mehreren WordPress-Instanzen.

Nun hatte ich in einem Kundenprojekt eine API entwickelt, die zur Authentifizierung ein WordPress mit einer Nutzerdatenbank verwendet. Dazu habe ich von einem externen Projekt die wp-load.php inkludiert. Das funktionierte auch eine zeitlang auch sehr gut, bis die Agentur, die die Seite betreut, ein paar Änderungen vornahm. Sie installierten unter anderem InfiniteWP. In der datei „api.php“ von InfiniteWP ist folgender Code:

if(basename($_SERVER['SCRIPT_FILENAME']) == "api.php"):
    exit;
endif;

Das Ziel dieses Codes ist relativ offensichtlich: Die Datei sollte nicht direkt geladen werden können. Blöd ist: Es wird nur auf den Dateinamen geprüft. Da meine externe Datei, auch api.php heisst, wird aber, sobald ich die wp-load.php include, das exit; ausgeführt.

Ich regte also an, vielleicht nicht nur den Filename zu überprüfen, sondern vielleicht auch den Pfad des aufgerufenen Scripts oder – wie unter WP auch nicht unüblich – auf eine gesetzte Konstante. Auf meine Anfrage beim Support bekam ich folgende Antwort:

Thanks for taking the time to reach out to us on your query. Your patience is greatly appreciated.

We are using api.php in our client plugin to use call back functions for our addons.
To fix this issue you can simply rename your file to api2.php

Are you experiencing any conflict issues with IWP client plugin and other plugins?
Please give us more information so that I can assist you accordingly.

Ich habe dann etwas möglicherweise etwas unhöflich reagiert und gefragt, wie sich das verhält, wenn der nächste dann das gleiche mit proxy.php und jemand anderes dann die index.php seines Plugins so schützt. Und dass ein HTTP Status 200 und eine weiße Seite in dem Fall auch nicht sinnvoll debugbar sind und dass mich das einige Tage Projektverzögerung gekostet hat und ziemlich beschissen ist. Zumal es in WordPress ja auch Beispiele gibt, wie es besser geht.

Erst darauf hin habe ich die Antwort bekommen, dass ein „scope of improvement on our end“ vorhanden sei. Da geben sich dann Codequalität und Servicequalität dann echt nichts.

Ich habe mal ein Beispiel geschickt, wie man das sinnvoller lösen kann. Mal sehen, wann ein Update dafür kommt.

Seite 11 von 57« Erste...910111213...203040...Letzte »