node.js: Mehr Durchblick beim Debuggen durch Farbe

node.js: Mehr Durchblick beim Debuggen durch Farbe
Im Rahmen eines größeren Projektes musste ich beim Entwickeln immer wieder längere Log-Ausgaben lesen und nachvollziehen. Besonders wenn es darum geht, viele abstrakte alphanumerische IDs und Hashes zu vergleichen und sicherzustellen, dass alles so funktioniert, wie gedacht, können einem ganz schön schnell der Kopf rauchen und die Augen tränen. Öfter dachte ich mir, “wäre es nicht toll, wenn alle diese IDs schon mal durch Farben in der Ausgabe unterschieden werden könnten? [Read More]

Tuning Django ORM (part 1): Text Queries

Concerning text queries, Django ORM offers several helper functions. However, some of those are not backed by a database index and will be slow. Fortunately, on PostgreSQL these searches can be sped up with GIN or GIST indexes quite easily. This article will focus on Django 1.6 with a backing PostgreSQL. It probably applies to Django 1.7, as well. The Django ORM layer offers some useful functionality when it comes to text search: [Read More]

Konvertieren von VMWare / Virtualbox OVA Appliances zur Benutzung mit kvm / libvirt

Oft erhalten wir im Rahmen von Projekten OVA-Appliances. Diese Container enthalten die Disk-Images und die Konfigurationen der virtuellen Maschine. Wenn wir diese Appliances auf unseren Testserver einspielen, wollen wir diese mit KVM nutzen. Das ist im Kern ganz simpel: OVA Container entpacken tar xvf .ova Benötigte Pakete installieren Unter Debian: apt-get install qemu-utils Diskimage konvertieren Im nächsten Schritt noch die Disk-Images konvertieren: qemu-img convert -O qcow2 [appliancename]-disk1.vmdk [appliancename].qcow2 Konvertierung in andere Formate Zum Prüfen, welche Image-Formate unterstützt werden: [Read More]

Remote Debugging von Web-Apps

Wenn man Web-Apps erstellt, gehört das leidige Testen und Fehler suchen einfach dazu – wie eigentlich immer beim Programmieren. Bei der Arbeit an Webseiten geht das mittlerweile bekanntlich ganz einfach: die Browser-Konsole zeigt exakt an, welcher Fehler in welcher Zeile aufgetreten ist. Schwieriger wird es beim Smartphone. Zwar haben die neusten Mobile-Browser (bei Android ab Version 4.4) eine Remote-Debugging-Schnittstelle und das erleichtert die Arbeit erheblich. Man schließt das Smartphone einfach via USB-Kabel an den Rechner an und erhält die Konsolenausgabe in gewohnter Form auf dem Desktop. [Read More]

qcow2 Images unter Linux mounten

Wir haben viel mit virtuellen Maschinen zu arbeiten. Dabei kommt es schon vor, das wir die Maschinen im Host-System mounten müssen um beispielsweise die Netzwerkkonfiguration anzupassen, so dass wir den ersehnten Zugriff auf die VM mit SSH herstellen können. Im Grunde genommen geht das ganz einfach mit qemu-nbd: Kernel-Modul laden modprobe nbd max_part=8 Image mounten qemu-nbd --connect=/dev/nbd0 [qcowimage].cow2 Nun stehen die Partitionen als /dev/nbd0pX (X steht für die Partition) zur Verfügung und können wie gewöhnt als Blockdevice gemounted werden, hier z. [Read More]

IT:Agenten on Tour: “Von der Idee zum Start-up” auf der IPDC

IT:Agenten on Tour: “Von der Idee zum Start-up” auf der IPDC
Apps sind momentan die großen Glücksversprecher für Start-ups auf dem IT-Markt. In seinem Vortrag auf der iPhone Developer Conference 2014 wird Marco Engelhard die Dos & Don’ts der App-Entwicklung für Start-ups vorstellen. Denn auf dem Weg von der absolut besten App-Idee der Welt zum eigenen Start-up stellen sich einige heikle Fragen, unter anderem: Wie komme ich an Kapital für die Gründung? Wie spreche ich einen Venture-Capitalist oder Business Angel an? [Read More]

Say “No” to NoSQL: Reflexionen über einen Fehlgriff

NoSQL ist ein Begriff, der sich in unseren täglichen Sprachgebrauch eingeschlichen hat. Oder vielleicht war es gar kein Schleichen, sondern eher ein Knall, als Johan Oskarsson (Twitter, Apache Software Foundation) 2009 den Begriff für ein Treffen über verteilte strukturierte Datenspeicher (wieder) einführte. Es schien wie eine Erleuchtung, ein Befreiungsschlag gegen die damals immer noch vorherrschende Ideologie, relationale Datenbanken seinen für jeden Problemfall der Weisheit letzter Schluss. Es war immer noch die Zeit, in denen die Oracles und SAPs dieser Welt jede Information für die Maschine in kleinsten Häppchen von Menschenhand verfüttern wollten. [Read More]

Doctrine ORM in eZ Publish 5.3

eZ Publish 5.3 comes with Doctrine DBAL enabled, but unfortunately, Doctrine ORM is still not available officially. No need to despair, though: it’s rather easy to enable Doctrine ORM not only for the Symfony Stack, but also for use in legacy extensions (e.g. if you need to provide a panel for the admin backoffice). As this feature is (as far as I’ve seen) not documented yet, this blog article should help you on the right trail. [Read More]

Erste Hilfe bei Blog-Klau

Ein paar Tipps zum aktuellen Ärger mit Fake-Blogs Die Masche: Identische Blogs, neue Toplevel-Domain Täglich tauchen im Netz gerade Fake-Seiten auf, die 1:1 aussehen wie existierende Blogs. Auf den ersten Blick sind sie – bis hin zum Impressum – völlig identisch mit meist gut besuchten, realen Blogs. Sie werden allerdings unter einer neuen Toplevel-Domain geführt. Statt it-agenten.com würde da beispielsweise it-agenten.de stehen. Der Zweck: Werbe-Klicks abgreifen Im neuen, gespiegelten Blog wird massiv Werbung eingeblendet. [Read More]