Viel schreibe ich ja nicht über meine Arbeit. Höchstens mal dass ich gestresst bin und deswegen keine Zeit habe was zu schreiben. Die meisten Leser wissen zwar dass ich Programmierer bin und so Internet Sachen mache, aber so über Details schreibe ich eigentlich selten. Viele Projekte an denen ich arbeite darf ich nichtmal nennen wenn ich es wollte - man würde mich direkt töten und so weil wir so NDAs unterschrieben haben, und manchmal habe ich einfach keine Lust darüber zu schreiben.
Arbeit ist Arbeit und Schnaps ist Schnaps. Dieses Blog ist Schnaps, Prost also. Schön dass heute Freitag ist, passt das ja auch. Heute schreibe ich doch mal etwas detaillierter über die letzten paar Monate.
Ich arbeite jetzt seit ein paar Monaten quasi nur noch an Snippr. Snippr ist ein IT Socialnetwork. Also sowas wie StudiVZ für IT-interessierte (nur werden da die Daten nicht an Werbefirmen verhökert). Es macht Spaß und es gibt viele gute Ideen und Pläne die wir hier bei HDNET umsetzen.
Ideen sind immer wichtig, eine Seite lebt von innovativen Gedanken und Features. Die technische Implementierung ist fast nebensächlich denn auch schlechte Techniken können Erfolg haben. Twitter ist sicher ein promintenes Beispiel. Twitter ist mehr down als alle anderen Seiten die ich kenne, langsam wie der Tod und überhaupt. Trotz allem erfreut sich Twitter einer Beliebtheit wie Elvis Presley, Nutella und der Sommer zusammen.
Natürlich hoffen wir auch dass snippr beliebt wird und da ich als Programmierer ja für die technische Seite zuständig bin möchte ich eigentlich Probleme wie bei Twitter vermeiden… erfolgreiche Seiten dürfen technisch ruhig gut sein denke ich mal. Ich werde jetzt mal eine kleine Blogreihe starten wo ich aus meinem Leben als Snippr-Entwickler berichte und ein wenig auf technischen Hintergründe eingehe. Es werden also Geschichten über Code, Schweiß und bittere Tränen sein. Ob das ganze für Nicht-Programmierer interessant/verständlich ist weiß ich nicht, ihr dürft aber gerne nachfragen wenn ich mal zu sehr in bizarre Details gehe.
Ich habe die Tage mal die Seitenaufbauzeit von Snippr gemessen. Also wie lange braucht der Server um die einzelnen Blöcke aus denen die Seite besteht zu erzeugen. (Ich mache sowas zwischendurch immer wieder mal um zu gucken ob alle Boxen auch schön sauber erzeugt werden oder ob wir doch mal irgendwo eine doch eher schlechte Lösung gewählt haben.)
Im Moment reißt keine Box performancemässig aus und ich merke mal wieder dass eine saubere, objektorientiere Entwicklung schon seine Vorteile hat.
Die Community-Startseite z.B. wird in durchschnittlich 0.3 Sekunden komplett berechnet und vom Server an den User rausgeschickt. Das ist mal wirklich nicht viel Zeit.
Zum Vergleich, die Startseite meines kleinen Blogs hier braucht auch 0.3 Sekunden, auf dem werden aber nur 10 Blogeinträge angezeit.
Wir hingegen zeigen auf der Snippr Startseite ja nicht nur nen paar angeteaserte Blogeinträge sondern auch jede Menge User, aktive und neue Gruppen, Forenbeiträge, Wikiartikel, eine Tagcloud, was passiert in der Community, Fotos und so weiter und so fort an. Da sind weiß Gott nen paar Daten mehr im Spiel als auf nem üsseligen 08/15 Wordpress Blog. (Meine Wordpress Installation ist relativ nackt. Wenn man ein paar Plugins installiert kann man bei Wordpress ganz schnell auch mal über eine Sekunde für die Erstellung der Seite erreichen. Viele Wordpress Plugin Entwickler sind scheinbar mit dem Klammerbeutel gepudert und machen da Sachen für die sie definitiv in die Hölle kommen! Und das auch zu Recht)
Die meisten PHP-Systeme wie Wordpress sind sehr “oldschool” geschrieben. Direkte Datenbankzugriffe, einzelne Prozeduren, keine Objekte und ähnlicher Zauber den man eigentlich tunlichst vermeiden sollten. Da wird so programmiert wie vor 30 Jahren - damals hatte man ja noch nichts…Viele Softwareentwickler im Webbereich haben auch heute noch nichts…vor allem keinen Verstand…
Für Snippr haben ich zum Anfang ein komplett eigenes Framework geschrieben. Dieses Framework ist strikt objektorientiert und nutzt objektrelationales Mapping, das heißt kurzgesagt, es gibt für jede Tabelle in der Datenbank eine entsprechende Klasse. Diese Klasse ist von einer Basis Datenbank-klasse abgeleitet die die komplette Lesen/Schreiben Methodik kapselt. So weiß ich (bzw. das Framework) immer wenn sich irgendwas am Datenbestand ändert. Nur so kann man eine vernünftige Caching-Funktionalität implementieren. Und dieses intelligente Caching ermöglicht es viele Informationen schnell anzuzeigen. Intelligent bedeutet in diesem Fall dass der Cache erst gelöscht wird wenn sich die Daten verändert haben. Die meisten Caching-Mechanismen die bei PHP Projekten eingesetzt werden laufen eher nach einem Lifetime Prinzip, also alle 5 Minuten Cache leeren oder den gesamten Cache bei einer Änderung löschen. Das ist mehr Prinzip Glück und Zufall. Glück war noch nie meine Stärke, sonst wäre ich schon lange Lotto-Millionär und dem Zufall sollte man als Programmierer nie was überlassen.
So jetzt wisst ihr auch mal nen bisschen was über meine Arbeit und so. Ich werde jetzt weiter an snippr arbeiten. Lesern die Interesse an Hardware und IT Produkten haben kann ich die Seite ans Herz legen.
Nein, ich bekomme keine Provision oder leichte Damen auf einer Firmenreise spendiert wenn ihr euch da anmeldet
Ich kann aber sagen dass bei Fragen schnell und kompetent geantwortet wird. Die Leute die hinter snippr stehen haben jede Menge Know How und von daher sind die Antworten wirklich fundiert. Die Synaxon AG ist nämlich mit 2700 Partnerbetrieben Europas größte IT-Verbundgruppe. (Ich gebe zu dass ich diesen letzten Satz aus der “Über uns” Seite abgeschrieben habe, weil ich die Zahlen und auch den Begriff Verbundgruppe nicht gewusst hätte)
Aber, und das ist wichtiger als die Größe eines Unternehmens, die Jungs dort sind alle sehr sympathisch und haben jede Menge toller Ideen - man muss Kunden ja auch mal loben.
So, jetzt muss ich wieder arbeiten.
(Ich gratuliere allen Lesern wenn sie diese Textwüste bis hierhin gelesen haben. Ich tue euch für diese Leistung dann bei Gelegenheit nen Bier aus)

11 Kommentare
Schaue ich mir mal an, denke ich.
Obwohl - der erste Satz gleich mit Deppenleerzeichen: “IT-Produkte Bereich”. Das schreckt erstmal ab.
du hast also von der über uns seite //abgeschrieben//
boah, du bist so 0.3 alpha…
Alles klar - bringst das Bier dann nächste Woche direkt mit, ja?
OK. a) klingt gut b)ich bin unten angekommen, wo bekomme ich das Bier? Alm?
Bier!
Dieser Blogeintrag wird teuer für mich…
@Bob ich bin morgen auf der Alm, also von daher würd ich das Bier morgen ausgeben…am liebst auch auf drei Punkte
@Markus Auch für dich morgen auf der Alm ein Bier
@Tobi Montag im Büro nach Feierabend
Schlage ein kollektives Gelage im Büro vor… Montag so gegen Neun?
BTW: Habe ich eigentlich schon oft gesagt, dass ich solche großen Input-Felder mal so richtig astrein finde? Größe ist bekanntlich durch nichts zu ersetzen…
Ich nehme mein Bier gern in der Hauptstadt.
Ich habe “diagonal” bis zum Ende gelesen - reicht das für ein Null-Komma-Zwei-Bier?
Kaffee geht auf mich.
-Bier +Bionade. Spätestens beim nächsten Ledgerfilm.
Hinterlass doch mal einen Kommentar