Ruby-on-Rails Datenbankoptimierung Teil 1

Anzahl der Datenbankabfragen optimieren Eine typische Webanwendung stellt viele Datenbankanfragen, bevor sie die Antwortseite an den Webbrowser ausliefert. Bei jeder dieser Datenbankabfragen muss die Anwendung auf die Antwort warten, dazu kommen noch Prozessumschaltungen, die zusätzlich bremsen. Der Datenbankserver muss jede Anfrage analysieren, und auch die Kommunikation zwischen Datenbank und Anwendung braucht Zeit. Weniger Datenbankanfragen reduzieren …

Ilias-Funktionen verändern

Beispiele zur Umgestaltung Das Lernmanagementsystem Ilias lässt sich mit Skins umgestalten. (Darüber habe ich in einem früheren Blogeintrag geschrieben.) Ein Ilias-Skin kann aber sogar die Funktionalität verändern. Hierfür gebe ich nachfolgend einige Beispiele. Loginseite Die Templates zu Login, Logout und zur Nutzungsvereinbarung finden Sie unter Services /init/default In unserem Projekt haben wir folgende Änderungen an der …

Rails ActiveRecord: count, length oder size?

Die objektorientierte Datenbankschnittstelle „ActiveRecord“ bietet gleich drei verschiedene Methoden zum Bestimmen der Anzahl: count(), length() und size(). Alle drei Methoden liefern das gleiche Ergebnis. Was nehmen wir wann? Warum ist es überhaupt wichtig? Nimmt man die falsche Methode, dann erzeugt unsere Ruby-on-Rails-Anwendung überflüssige Datenbankabfragen oder braucht mehr Speicher als eigentlich nötig. Die Anwendung skaliert dann …

LwUIT 1.5 erste Erfahrungen

Sun hat mit „Java Mobile Edition“ (JME) die Softwareplattform geschaffen, die weltweit auf Milliarden von Handys funktioniert. Die Plattform ist inzwischen in die Jahre gekommen, und besonders für die Gestaltung der Benutzerschnittstelle bietet sie nur wenig, um die Möglichkeiten heutiger Handys auszunutzen. Mit LWUIT  wurde ebenfalls von Sun eine Bibliothek für die Gestaltung von Benutzerschnittstellen …

Ilias Skins

Bedarfsgerechte Anpassung eines webbasierten Lernmanagementsystems Ilias ist ein sogenanntes Lernmanagementsystem (LMS), d.h. ein System für webbasierte Bildungsangebote. Es ist ein sehr umfassendes System. Neben den Inhalten in Onlinekursen sind auch Kommunikationskanäle wie Foren, Mail und Chat integriert. Beim Einsatz eines solchen Systems im Kontext einer bestehenden Organisation tritt meistens der Wunsch auf, die Gestaltung der …

Eins plus Zwei

Eine Überraschung in Ruby. Selbst bei so etwas einfachen wie der Addition von Zahlen gibt es manchmal Überraschungen. Doch der Reihe nach. Wenn wir den interaktiven Ruby-Interpreter „irb“ starten, können wir in als einfachen Rechner nutzen. irb> 1+2 => 3 So weit so praktisch. In der Programmierpraxis liegen Zahlen häufig als String vor, z.B in …

Mehrsprachige Webseiten mit Ruby on Rails (3)

Teil 3 – Qualitätssicherung Texte gehören zu den Teilen einer Anwendung, die häufig geändert werden. Wenn dann noch externe Übersetzer im Spiel sind, kann es leicht passieren, dass Übersetzungen fehlen. Wir möchten deshalb automatisch testen, dass es zu allen Texten in Sprache A auch Übersetzungen in Sprache B vorhanden sind. Ein solcher Test allein hilft …

Classics reloaded: Das Assert-Makro von C

Die erste Version des folgenden Textes stammt noch aus dem Jahr 1996. Er enstand, weil ich bei den damaligen Arbeitgebern beobachtete, dass viele C-Entwickler nicht wussten, was es mit assert() auf sich hat. Hier kommt die Wiederveröffentlichung: Selbstidentifizierende Fehler Es gibt in ANSI-C einen Mechanismus, viele Fehler auch ohne Debugger aufzuspüren: Das Assert Macro. Ein …

Rotierende Reklametafel mit jQuery

Im Jahre 1998 habe ich „Meiers Billboard“ vorgestellt: Eine virtuelle Anzeigentafel, die Bilder durch Rollen austauscht. Technisch ist es ein Java Applet. Der Ruf von Java im Browser wurde immer schlechter, auch mein Applet war vor allem wegen des Bild des Rahmen verlinkt. In der Zwischenzeit ist sind die Netze leistungsfähiger, die Rechner schneller geworden …