Nathansbratens Blog

Bloggen zwischen Tür und Angel

Kategorie: Webentwicklung (Seite 1 von 3)

Das entwickeln von Software mit Bezug zum Web war schon immer mein größtes Hobby. Im Moment finde ich allerdings kaum die Zeit um die Entwicklungsumgebung zu starten und ein paar Zeilen Code zu schreiben. Sofern es aber einmal klappt halte ich, etwaige neue Kenntnisse gerne hier fest um zum einen später darauf zurück greifen zu können und zum anderen vielleicht eine Hilfestellung / einen Denkanstoß für andere Entwickler zu bieten.

Die idiotischste Idee seit es SQL Datenbanken gibt

Vorab eine Warnung: Es wird technisch. Wir nutzen im Unternehmen jetzt seit mehreren Jahren eine etablierte Helpdesk Lösung die auch von anderen großen Namen eingesetzt wird. Diese ist auch wirklich effektiv, durchdacht und man merkt, dass es ein ausgereiftes System ist. Als es heute darum ging zusätzliche Felder für eine Serverauswahl im Admin zu integrieren bin ich im Nachhinein beinahe vom Glauben abgefallen.

Wer solche Systeme mit Custom / zusätzlichen Feldern für etwas kennt ist im Normalfall gewohnt, dass es in der Datenbank z.B. zwei Tabellen gibt. In der einen Tabelle wird der Feldtyp und die Zuordnung gespeichert. In der anderen dann die Daten die in das Feld eingetragen werden. Das ist natürlich nur eine sehr grobe Erklärung. Zugegebenermaßen will mir auch kein sinnvollerer Weg einfallen.

Die Entwickler unserer Helpdesk Software hatten allerdings eine ganz grandiose Idee: Wird z.B. einer Ticket-Kategorie ein neues Feld hinzugefügt so hängen sie in der Ticket-Tabelle einfach eine neue Spalte hinten an. Man muss sich den Rattenschwanz der jetzt folgt wirklich auf der Zunge zergehen lassen:

Das System führt ein ALTER TABLE auf die Ticket-Tabelle aus in der sich über eine Millionen Datensätze befinden. Gleichzeitig befüllt das System diese neue Spalte pro Datensatz(!!) mit einem vorgegebenen Default Wert. Na, kommt schon jemand darauf was hier jedes mal passiert wenn wir ein solches Feld anlegen? Richtig! Die Datenbank ist ordentlich am ächzen, da hier eine Massenabfertigung sondergleichen stattfindet. Vom Timeout des Webservers da die Abarbeitung der Anfrage zu lange dauert ganz zu schweigen.

Ich bin wirklich fast vom Stuhl gefallen. Unsere Entwickler oben schütteln gerade seit einer Stunde den Kopf sobald man den Namen des Helpdesks erwähnt. Wer denkt sich so etwas aus? In einer Umgebung mit wenigen Nutzern mag das ja funktionieren. Aber dann kann ich mein Produkt doch nicht für ALLE Umgebungen anbieten und damit werben das es in jedem Fall skalierbar und schnell ist…

Für meinen Teil werde ich mich hüten irgendwelche Custom Fields anzulegen bis da eine Lösung gefunden wurde…

 

 

Nathansbraten’s Spielplatz

Um mir immer mal wieder anzusehen wie der neue Blog in verschiedenen Browsern aussieht (IE gibts nur in der Firma) habe ich mir http://playground.nathansbraten.de angelegt. Dort gibt es immer die aktuelle Entwicklungsversion des eigenen Blogs zu sehen. Kreative Vorschläge werden natürlich gerne entgegen genommen!

Bitbucket nicht erreichbar

Wer so wie ich seinen Quellcode in einem Bitbucket Git Repository hinterlegt hat schaut im Moment reichlich dumm aus der Wäsche. Wie Bitbucket per Twitter verlautbaren lies, ist wohl das primäre NFS abgeraucht bzw. sorgt für erhebliche Probleme. Man arbeite an dem Problem und hoffe bald wieder online zu sein, heißt es dort ebenfalls. Ich kann nur hoffen, dass meinen Quellcodes nichts passiert ist, denn ich habe genau jetzt kein Backup parat nachdem ich vor kurzem noch einmal eine bereinigte Version der neuen Blog-Version begonnen habe und die alte nicht mehr auf der Platte ist…

Bis die Probleme behoben sind kann ich mir wohl noch eine Weile

503 Service Unavailable

No server is available to handle this request.

ansehen.

UPDATE: Der Service ist weiterhin ausgefallen. Laut Twitter ist die Fehlerbehebung aber in Kürze abgeschlossen. Eine Anfrage meinerseits inwiefern schon bekannt ist ob es Datenverluste gibt bzw. ein Backup eingespielt werden muss blieb leider bisher unbeantwortet.

UPDATE2: Seit wenigen Sekunden kann ich mich wieder bei Bitbucket einloggen und es scheint auch keinerlei Datenverlust gegeben zu haben, so weit ich das von meiner Seite aus sagen kann.

UPDATE3: War ja klar! Während ich das Update2 schrieb hat es aufgrund der hohen Last (alle wollen rein) direkt wieder geknallt. Inzwischen gab es zwar auch auf Twitter die offizielle Entwarnung und die Information das noch ein informatives Blog-Posting folgt. Leider ist aber schon wieder nur ein 503… zu sehen.

UPDATE4: Bitbucket scheint jetzt wieder verfügbar zu sein. Es ist alles noch ein wenig langsam, aber zumindest funktioniert es ;) Und wieder futsch.

UPDATE5: Jetzt aber! Die Seite ist online und ich konnte mir schnell ein Backup erstellen. @Bitbucket: Jetzt können die HDDs von mir aus crashen ;)

Yii Framework Version 1.1.9

Wer meine Beiträge zum Programmieren von Webanwendungen verfolgt hat wird häufiger über den Namen Yii Framework gestolpert sein. Das Yii PHP Framework wurde am 31.12.2011 in der Version 1.1.9 veröffentlicht und es gab wieder einige Bugfixes und Neuerungen. Wer sich für Webentwicklung in PHP interessiert sollte sich das Framework unbedingt einmal ansehen. Meiner persönlichen Meinung nach ist es um einiges performanter als das Framework von Zend und vor allem ist die Entwicklung mit Yii simpler und schneller. Wie gesagt, dass ist meine persönliche Meinung und niemand muss sie Teilen.

Mehr Informationen zum Yii Framework und dem letzten Update gibt es auf der Seite des Entwicklers in englisch!

Neues Jahr, neues Glück

Da ist er nun der erste Arbeitstag im neuen Jahr und ich muss sagen auch wenn die Tage ohne Büro dennoch mit dem bearbeiten von Tickets und Problemen der Spieler gespickt waren (Ganz alleine lassen kann man sie nicht) war es mal wieder gut eine Weile keinen Schreibtisch vor der Nase zu haben und man geht mit neuer Motivation an die Arbeit heran.

Mal sehen wie lange sich der Enthusiasmus halten kann bevor der graue Alltag Einzug hält ;). Auch beim Blog geht es stetig voran und ich habe doch wieder angefangen eine eigene Software zu schreiben. Diese wird es dann am Ende (Ich lasse mir allerdings so viel Zeit wie ich brauche) auch unter MIT Lizenz als Open Source Variante im Netz geben. Es wird zeit das ich meinen inneren Schweinehund überwinde und wieder ein wenig für die Bildung im Bereich der Entwicklung mache.

Die Grundfunktionalität ist auch schon geschafft und jetzt geht es an die Details. Mal sehen wann, dann die erste Lauffähige Version fertig gestellt ist. Man nimmt sich natürlich vor alles besser zu machen als die anderen, aber das ist selbstverständlich rein Subjektiv zu sehen und nur weil es einem selbst gefällt bedeutet das nicht, dass andere es genau so sehen ;).

Namenswahl im Domainparkhaus

Manchmal ist es wirklich wie verhext. Wie mein neues Projekt aussehen soll steht mehr oder minder fest. Ein passendes CMS für die Seite ist auch gefunden. Dann fällt einem allerdings auf das die Namenswahl nicht sonderlich gut war und der Name in der Übersetzung ins Deutsche wenig Sinn macht. Gut… ich gebe zu, da hab ich wohl gepennt beim aussuchen der Domain.

Jetzt muss ein neuer Name her und diesen zu finden ist leichter gesagt als getan. Jede zweite Domain für die man sich interessiert ist entweder mit einem „Hier entsteht gerade …“ versehen oder es gibt eine Schicken „Dies ist eine geparkte Domain die du gerne für ein Schweinegeld von mir erwerben kannst“ Hinweis. Lediglich Domains ohne das von mir gewünschte .de am Ende sind noch zu haben und selbst da ist es nicht unbedingt immer einfach sie zu kriegen.

Sicherlich würde eine Seite mit .me als Kürzel auch kein Beinbruch sein. Man kann sogar recht nette Wortspiele mit der ein oder anderen Domain-Endung bauen… aber wirklich anfreunden kann ich mich damit nicht. Mal sehen was das ganze dann gibt. Ich lass jetzt wieder den Kopf rauchen.

Ältere Beiträge