Category: Programmierung

  • Schriftwahl für Programmierer

    Ein Nicht-Programmierer wird vermutlich nicht verstehen können, wie eigensinnig ein Softwareentwickler bei der Wahl der richtigen Schrift für seinen Texteditor sein kann. Ein Programm soll nicht nur gut funktionieren, auch der Programmcode soll schön aussehen. Und da spielt die Schrift eine entscheidende Rolle. Gerade heute fielen mir gleich 2 Artikel in meinem Feed-Reader auf, die…

  • SQL ohne Schleifen

    Manche Aufgaben schreien geradezu danach, mit Schleifen gelöst zu werden. In SQL ist dies selten nötig. In meinem Beispiel wollten wir für jeden Monat des letzten Jahres die Häufigkeit eines bestimmten Ereignisses errechnen um es graphisch darzustellen. Mein Kollege, der an dieser Stelle besser anonym bleiben möchte, schlug schon vor, die Abfrage 12× mit unterschiedlichen…

  • Shell-Tricks

    Alte Shell-Junkies werden vermutlich darüber gähnen, doch den meisten Einsteigern dürfte diese Funktionalität unbekannt sein. Möchte man größere Verzeichnishierarchien in der Shell anlegen, so kann man sich von der Shell viel Arbeit abnehmen lassen. Am einfachsten mit einem Beispiel verdeutlichen. Ich möchte für Virtuelle Hosts meines Apache-Servers eine Verzeichnishierarchie erstellen, die am Ende so aussehen…

  • Ruby 1.8.6

    Falls es jemand noch nicht mitbekommen hat, Ruby 1.8.6 ist erschienen. Im Changelog ist nachzulesen, was sich geändert hat. Es ist weitgehend eine Maintenance release. Wirklich neue Features sind erst mit Version 1.9 zu erwarten, die voraussichtlich Ende dieses Jahres erscheinen soll.

  • Es ist alles eine Ansichtssache

    Wir stellen in der Firma derzeit Teile unserer alten Software auf eine hippe und coole Rails-Anwendung um. Solange unsere Anwendung nicht fertig ist, muß die alte und die neue Software parallel laufen und auf die gleichen Daten zugreifen können. Da wird die alte Software nicht ändern können und wollen, muß sich Rails entsprechend anpassen. Wir…

  • Zeig mir deine .irbrc

    Die IRB ist ein sehr nützliches Tool, um mal interaktiv mit Ruby zu spielen. Die Standardeinstellungen der IRB sind jedoch etwas spartantisch. Meine .irbrc macht das Leben ein wenig komfortabler. require ‘irb/completion’ require ‘rubygems’ require ‘map_by_method’ require ‘what_methods’ require ‘pp’ require ‘irb/ext/save-history’ IRB.conf[:AUTO_INDENT] = true IRB.conf[:PROMPT_MODE] = :SIMPLE IRB.conf[:SAVE_HISTORY] = 200 IRB.conf[:HISTORY_FILE] = “#{ENV[‘HOME’]}/.irb-history”

  • Rails flash-helper

    Flashes sind in Rails ein schöner Weg, um den Benutzer über Ereignisse zu benachrichtigen. Zufällig bin ich dabei im Web über diesen Helper gestolpert. Nette Sache, funktioniert allerdings nicht ganz wie erwartet, wenn man noch zusätzlich das Human Attribute Override Plugin benutzt. Die Attributnamen wurden dabei vom Flash-Helper nicht korrekt angezeigt. Glücklicherweise lies sich dieses…

  • Verschwurbelter Code

    In meinem Rails-Programm möchte ich gerne Listenelemente (acts_as_list) horizontal sortieren können. Das ganze sollte über eine kleine Symbolleiste (s. Bild) über jedem Listenelement geschehen. Anfangs schrieb ich einfach den HTML/Rails-Code, der die 5 Buttons enthielt, direkt in den View hinein. Doch dann packte mich der Ehrgeiz und habe versucht, es zu verbessern. Am Ende hatte…

  • Partials und lokale Variablen

    Meine erste Begegnung mit Partials in Ruby on Rails sah etwa so aus: render :partial => ‘item’, :collection => @items Und in Partial selbst sah das meistens dann so aus: <tr> <td><%= h(item.name) %></td> <td><%= item.price %></td> </tr> Ich ließ mich durch dieses Beispiel zu der Annahme verleiten, daß wenn die Collection oben aus @items…

  • Tücken von acts_as_list

    Beim benutzen von acts_as_list in Ruby on Rails bin ich beim entfernen von Listenelementen auf eine Hürde gestoßen. Nach dem Entfernen des Listenelementes wurden die nachfolgenden Elemente nicht korrekt sortiert. Ich weiß nicht, ob ich was da falsch verstanden habe oder ob es sich um einen Bug handelt. Um letztenendes ein korrektes Verhalten meiner Liste…