Privates Weblog von Simon Samtleben

Was läuft schief in der Frontend-Entwicklung?

Eigentlich bin ich Backend-Entwickler. Das mache ich schon seit vielen Jahren. Als ich angefangen habe gab es noch keine Web-Frameworks und auch keine Cloud. Server, Traffic und dergleichen waren wesentlich teurer als heutzutage.

Weiterlesen »

jQuery keyUp Event im iOS Safari

Vor ein paar Tagen stolperte ich über einen fießen Bug im iOS Safari (iPhone, iPod, ...). Google spuckte nichts aus - deshalb schreibe ich es hier kurz nieder.

Weiterlesen »


Joomla Extension Entwicklung: SQL Update Files nutzen

Wer schonmal eine Joomla Komponente entwickelt hat kennt das Problem: Früher oder später ändert sich etwas an der Datenbankstruktur. Bei einem Update der Komponente muss also die Tabellenstruktur geändert werden, neue Tabellen angelegt werden o.Ä.

Weiterlesen »

Twitter Streaming API Queue/Cache mit Redis

Für mein Projekt jitt.li verwende ich die Twitter Streaming-API um Tweets über einen Websocket-Server an den Browser zu senden. Je nach gesetzten Filtern kann es nun vorkommen, dass viele hundert oder tausend Tweets pro Sekunde vom Twitter empfangen werden. Zunächst habe ich alle empfangenen Tweets direkt an den Websocket-Server gesendet. Der Datenfluss sah in etwa so aus:

Weiterlesen »

Performante PHP-Projekte - Teil 2: Datenbankabfragen

Nachdem ich mich in Teil 1 dieser Serie dem Thema „Servertweaks“ gewidmet hatte, soll es in diesem Artikel um Datenbankabfragen gehen. Die Abfragen der Daten aus einer Datenbank ist der Flaschenhals vieler Webprojekte und bietet oft viel Optimierungspotential. Ich fasse hier einfach mal die Schritte zusammen die ich Leuten in der Regel empfehle wenn Sie Probleme mit der Geschwindigkeit ihrer DB-Abfragen haben. Ich orientiere mich in diesem Artikel an einer MySQL-Datenbank, die meisten Tipps sollten jedoch auf andere relationale Datenbanksysteme übertragbar sein.

Weiterlesen »

PHP-CLI Scripte überwachen mit Websockets

Jeder der schon einmal PHP-Scripte mit sehr langer Laufzeit verwendet hat, weiss dass es nicht ganz einfach ist solche Scripte zu überwachen. Natürlich kann man in der Prozessliste des Servers schauen ob die Scripte noch laufen, es ist jedoch schwierig zu bestimmen was ein Script gerade tut.

Weiterlesen »

Performante PHP Projekte - Teil 1: Servertweaks

Immer mal wieder höre oder lese ich, dass man mit PHP keine performaten Webprojekte umsetzen könne. Satt aber nun einen weiteren PHP vs. Sprache-X Artikel zu verfassen habe ich mir überlegt stattdessen ein paar Tipps zu geben wie man meiner Meinung nach die Performance von PHP-Projekten optimieren kann. Da dies ein sehr umfangreiches Thema ist werde ich das Ganze in mehrere Artikel aufteilen. Anfangen werde ich in diesem ersten Beitrag mit ein paar Tipps zum Webserver.

Weiterlesen »

PHP Websocket Server/Client nach Draft hybi-10

Vor ein paar Tagen habe ich ja schon einen Websocket-Client hier veröffentlich, welcher Draft hybi-00 unterstützt. Kurz danach veröffentlichte google jedoch eine neue Version von Chrome. In Chrome 14 hat google nun den Websocket-Draft hybi-10 implementiert und dort hat sich vieles grundlegend geändert. Neben einem neuen Handshake werden auch die Datenframes komplett neu codiert.

Weiterlesen »

PHP Websocket Client

Seit einiger Zeit spiele ich immer mal wieder mit Websockets. Allerdings habe ich bisher keinen wirklich funktionstüchtigen, in PHP implementierten Websocket-Client finden können. Also habe ich kurzerhand selbst eine Klasse dafür gebaut welche ich hier natürlich gerne veröffentliche. Absolut minimal, aber für Testzwecke ausreichend. Es wird aktuell der Handshake aus Draft "draft-ietf-hybi-thewebsocketprotocol-00" unterstürzt. Getestet habe ich es mit der aktuellen Version von Chrome (13.0.782) und dem Websocket Server von Nico Kaiser.

Weiterlesen »