Am vergangenen Mittwoch fand das zweite Treffen der PHP-Usergroup Koblenz statt. Bereits im Jahr 2015 (richtig krass, wie lange das her ist!) wollte ich dort einen Vortrag gehalten haben. Das ist damals aber leider an einer Terminkollision gescheitert.
Nach einer längeren Phase der Abstinenz hat die modix GmbH sich der Sache dann doch noch mal angenommen und Interessierte ins PinUp geladen, um sich dort auszutauschen.
Alles in allem, war der Abend kurzweilig, mit einigen guten Gesprächen und ich hoffe doch zwei guten Vorträgen. Bewerten kann ich das nur beim ersten Vortrag, denn der zweite kam dann von mir. 🙂
Vorträge
Ralf, hatte mich gefragt, ob ich einen Vortrag besteuern möchte .. klar. Ich rede gerne, also hin da. Weltmeister im Prokastinieren war ich ja schon immer, also natürlich die letzten Folien im Bus auf dem Weg zur PHPUG zusammen geschustert, aber es hat ja gepasst.
You are responsible
Ich wusste, dass ich irgendwas zum Thema „Testing“ erzählen wollte. Was ich nicht wusste war wie ich dieses Thema in eine halbe Stunde pressen sollte ohne nur Buzzword Bingo zu spielen.
So kam der ziemlich bescheuerte Arbeitstitel „Entwickler sind auch Tester: Wie ihr die Qualität eurer Arbeit sicherstellt“ zustande. So bescheuert, dass ich ihn kurzfristig noch angepasst habe: „You are responsible! Oder warum QA Entwicklersache ist“. Auch nicht so griffig, wie ich mir das vorgestellt habe, aber ihr kennt das ja .. Namensgebung und Cache-Invalidierung .. die großen Probleme unserer Zeit.
Die Kurzfassung des Vortrags sieht so aus:
- Du bist für deine Arbeit verantwortlich. Nur du!
- Arbeite professionell und lese Clean Coder von Robert C. Martin (vielleicht bin ich ein kleiner Fanboy .. vielleicht)
- Strebe nach Qualität und lass dir nicht einreden, dass „wir das jetzt doch auch schnell anders machen können“.
- Definiere die Qualität, die du erreichen willst, bevor du anfängst zu arbeiten und prüfe am Ende, ob du sie erreicht hast.
- Automatisiere alles, was du kannst.
- Beherrsche die von dir genutzten Tools. (du kannst hier immer etwas dazu lernen!)
- Nutze Continuous Integration / Delivery.
Jap. Ich habe massiv überzogen. Sorry dafür, aber es war mir irgendwie ein Bedürfnis das dann auch mit Elan rüber zu bringen.
Das alles waren im Prinzip nur Bullet Points in der Präsentation, die ich mit viel Tonspur ausgemalt habe.
Aus dem Grund gibt es zu meinem Vortrag es einen separaten Artikel, in dem ich versuche so viele Informationen wie möglich weiter zu geben.
Abgeschlossen habe ich mit diesen beiden Punkten:
- Achte auf deine Gesundheit.
- Gehe am 29.November zum Klimastreik von Fridays for Future.
Jap, sorry. Ich musste am Ende die Aufmerksamkeit noch etwas kapern. Das Thema Verantwortung gilt nämlich nicht nur dem Code gegenüber, sondern natürlich auch dem eigenen Körper, der eigenen Familie, den eigenen Kindern.
Also bleibt zu Hause, wenn ihr krank seid und kümmert euch darum, dass unsere Ur-/Enkel nicht auf einer verseuchten Müllhalde aufwachsen müssen.
PHP Performance Bottlenecks
Bevor ich an der Reihe war, gab es aber erst noch einen Vortrag mit dem Titel „PHP Performance Bottlenecks“ von Matthias Dötsch.
Matthias arbeitet bei InnoGames, die unter anderem das Onlinespiel „Forge of Empires“ betreiben. Für mich ganz interessant, weil das so ein ganz anderer Anwendungsfall ist, wie bei uns (chefkoch.de). Grob gesagt bieten wir Daten an, die gelesen werden können. Matthias erklärte, dass Caching bei ihnen nicht der ganz großes Heilsbringer ist, weil die Anwendung natürlich maximal interaktiv ist. Nutzer ändern ständig Daten. Er nannte z.B. die Zahl von 20k req/sec.
Seine Kernaussagen waren in etwa die folgenden:
- Messe deine Performance und finde deine Schwachstellen
- Priorisiere ToDos und bewerte sie (Kosten/Nutzen)
Er stellte eine Reihe von Tools vor, mit denen man sich der Sache nähern kann. Im Kopf geblieben sind mir
- das kostenlos verfügbare Tool xhprof
- die kommerzielle Erweiterung von tideways.io (gegründet von Benjamin Eberlei)
Diese Tools laufen als Extension im Produktivsystem mit und sammeln bei einem definierten Bruchteil der Requests Daten, die danach ausgewertet werden können.
Ziel ist es heraus zu finden, an welchen Stellen der größte negative Einfluss auf die Performance der Anwendung entsteht und diese dann natürlich entsprechend zu optimieren.
Ich habe in diesem Bereich genau gar keine Erfahrung. Demnach sicherlich ein interessanter Trigger, um sich in diesem Bereich einfach mal etwas umzuschauen. Überzeugt bin ich derzeit noch nicht, weil in meinem Kopf noch die Meinung vorherrscht, dass man sich nicht an micro optimizations aufhalten soll. Aber das ist auch eher nachgeplappert, statt selbst erarbeitet. Ich bin da offen. 🙂
Konstruktive Kritik
Ich hatte nach der Veranstaltung schon persönlich die Chance Feedback zu geben, aber ich denke, dass man das auch hier nochmals machen kann.
- Ggf. ist das PinUp nicht die richtige Location. Der Grund ist die durchaus hohe Hintergrundlautstärke der Bowlingbahn direkt neben an. Die Luft war in dem Meetingraum dann auch relativ schnell recht stickig, weil man die Tür lautstärkebedingt nicht aufmachen konnte. Dabei waren wir gar nicht soooo viele Leute.
- Vielen Dank für Speisen und Getränke … aber ich glaube nicht, dass jemand erwartet hat, dass da ein Buffet deluxe angekarrt wird. Für die Anwesenden war das letztlich zu viel. Maximal ein paar Snacks sind ausreichend, wenn überhaupt. Bier dürft ihr aber natürlich sehr gerne bereit stellen 🙂 .. und beim nächsten Mal würde ich mich auch über Mittrinker freuen. 🙂
Aber alles Kritik auf sehr hohem Niveau. Vielleicht probieren wir beim nächsten Mal einfach eine andere Location aus und dann schauen wir mal weiter. Hauptsache ist, dass es weiter geht.
Wenn wir es in 2020 schaffen vier Treffen zu organisieren wäre das ja schon großartig. Viel zu erzählen, zu vermitteln und auszutauschen gibt es auf jeden Fall und ich bin gespannt, was so in der Koblenzer „Szene“ so los ist. Obwohl ich hier wohne habe ich nämlich genau gar keinen Kontakt zu irgendwelchen Programmierern aus der Rhein-Mosel-Stadt. Sollte sich ändern und da können wir nur alle von profitieren.
Mein Fazit ist auf jeden Fall: das sollte ein Regeltermin werden!
Klickt euch mal rein (PHPUG-Koblenz) und kommt beim nächsten Mal dazu.