knuspermagier.de

Ein L und zwei P. Philipp!
Hallo! Ich habe gerade freie Kapazitäten und suche Projekte mit PHP / Laravel / Vue.js / React / etc. Wenn ihr was habt, schreibt mir gerne

Serie: Probleme
Mein Problem mit Konzerten

Ich schiebe diesen Post schon seit Jahren mit mir rum, aber irgendwann muss man seinem Frust ja mal Luft machen!

Wer mich kennt, wird wissen, dass ich häufiger auf Konzerte gehe. Sogar so häufig, dass ich es kaum schaffe eine popelige Seite im Blog aktuell zu halten. Nicht mal 2016 ist dort fertig eingetragen. Naja.

Man könnte sagen, ich bin ein großer Fan von Konzerten. Tatsächlich höre ich ja auch, wenn ich Musik höre, eigentlich am liebsten Live-Aufnahmen, weil man da oft mehr… Spielfreude und Action hat, als bei perfekt abgemixten und totproduzierten Studio-Alben.

Trotzdem passiert es mir bei fast jedem Konzert, dass ich mich furchtbar über verschiedene Dinge aufrege. Umso älter ich werde umso schlimmer wird es, und mittlerweile ist es auch so weit, dass ich mir überlege manche Konzerte, die ich eigentlich gerne besucht hätte, vorübergehen zu lassen, weil ich keine Lust habe, mich wieder aufzuregen.

Vielleicht hilft dieser Blogpost mir ja dabei, mich etwas zu beruhigen und das alles etwas gechillter zu nehmen!

Hier nun die wahrscheinlich unkomplette Liste an Dingen, die mich auf Konzerten zur Weißglut bringen:

So. Was stört euch an Konzerten? Bin ich der Einzige, dem es so geht? Also, es ist ja nicht so, als wäre ich danach immer mega down und genervt — die Freude über die Künstler überwiegt meistens schon. Dieses Jahr wäre ich aber zum Beispiel schon gerne noch zu Helge Schneider und Amy Macdonald in den Stadtpark gegangen, wenn mich die Aussicht auf die ganzen nervenden Leute nicht umgestimmt hätte.

Wie sähe ein perfektes Konzert für mich aus? Ohne andere Menschen? Das geht ja auch nicht. Menschen sind ja schon für ein Live-Erlebnis essentiell, denn klatschen, jubeln und mitsingen gehört irgendwie dazu. Daher hier meine Regeln für ein perfektes Spießer-Konzert:

Erlebnisse im Kirby-Land, Folge 1 - Massenweise Thumbnails

Willkommen zu einer neuen Blogpost-Reihe, die garantiert niemals fortgeführt werden wird. Diesmal nehme ich euch mit ins wunderschöne Kirby Traumland.

Ja, ich hab schon ein paar mal was mit Kirby gemacht und in meiner großen CMS-Umfrage (einen Follow-Up-Post dazu gibt es bald!) letztens empfahlen es ja auch viele. Kirby ist auch echt nett. Daher entschied ich mich, die neue Version von hej.world damit umzusetzen (mehr dazu bald in diesem Blog!).

Jedenfalls gibt es bei hej.world von einer Sache sehr viel: Fotos! Jede Seite in einer Galerie hat so 40-60 und für jedes brauche ich so 5 Thumbnails. (Low-Quality Platzhalter, Passend, Passend@2x, Lightbox, Lightbox@2x)

Natürlich kann Kirby wunderbar Thumbnails erzeugen, nur leider dauert das vierhundert Jahre, wenn 300 Thumbnails erzeugt werden müssen, weil gdlib (und Imagemagick) nicht mega schnell ist und der PHP-Prozess natürlich eher nur einen Core auslastet.

Natürlich bin ich nicht der erste mit dem Problem, daher erschuf jemand kirby-imagekit, ein Plugin das mal alle Contentseiten aufruft, schaut, welche Thumbnails erzeugt werden müssen und diese dann versucht möglichst asynchron per Ajax-Requests zu erstellen.

Zuerst war ich darüber auch sehr erfreut, am Ende war mir das aber auch noch viel zu langsam, schon allein das Analysieren dauerte mehrere Minuten und das Erzeugen der Thumbnails nahm dann gefühlt gar kein Ende.

(Das kann daran gelegen haben, dass ich Kirby aktuell noch lokal per PHP Development Server ausführe, und daher alles keine Möglichkeit hat, irgendwie mehrere Cores zu benutzen. Meine VM ist dafür auch nicht richtig konfiguriert und meine Digital Ocean VM hat auch nur einen Core…)

Naja. Da ich bei albumup viel Spaß mit meinem Thumbnail-Service habe, der libvips benutzt, dachte ich mir, ich klöppel mir hier etwas ähnliches zusammen.

Also baute ich mir ein Script, das die Seite rendert und mit einer ganz besonders präparierten Thumbs-Komponente aufzeichnet, welche Thumbnails so gebraucht werden. Diese werden in eine json-File geschoben. Auf der anderen Seite hab ich dann ein NodeJS-Script, welches ich passenderweise “jpgjpgjpg.js” nannte (Kirby, König Dedede, ihr versteht?). In unter 30 Zeilen jagt das alle Thumbnails durch libvips.

(Die Skripte habe ich hier mal auf Github geworfen)

Damit ist es mit möglich alle 300 Thumbnails in gut 30 Sekunden zu erstellen (ja, ok, mein Macbook ist auch nicht das langsamste). Juchu!

Jetzt hab ich nur noch ein Problem, vielleicht kann mir jemand dabei helfen.

Gerade hab ich es so gebaut, dass ich das Skript per php images.php "pfad-zur-seite" aufrufe. Eigentlich hätte ich gern, dass er direkt alle Seiten rendert, nur leider funktioniert das nicht. Wenn ich irgendwie versuche durch alle Pages zu loopen, und sie alle zu rendern (per $kirby->render($page)) , landet immer am Ende nur die erste Seite im JSON. Als wäre die render-Funktion nicht dafür ausgelegt in einem “Request” mehr als einmal aufgerufen zu werden. Eine kurze Code-Recherche brachte mich leider nicht ans Ziel, daher begnügte ich mich erstmal damit, jede Seite einzeln zu “thumbnailen” — muss ich ja auch nur einmal machen. Wenn jemand ne Idee hat, sagt bitte gerne bescheid!

Du suchst nach mehr? Ältere Posts von 2018 bis 2013 befinden sich im Archiv , viel Spaß!