Migration zu Rails 4.x mit „Strong Parameters“

Eine hilfreiche Rake-Task Zur Zeit bin ich dabei, eine drei Jahre alte Ruby-On-Rails Anwendung von Version 3.2 auf Version 4.2 zu aktualisieren. Mit Rails 4.0 wanderte die Parameterüberprüfung von dem „Model“ in den „Controller“. Das ist auch gut so, denn je nach Kontext oder Nutzerrechten kann man so andere Felder erlauben. Jedoch macht die Migration …

Quantencomputing mit Ruby

Wenige wissen, dass man mit der japanischen Programmiersprache Ruby heute schon Quantencomputing betreiben kann. Wer einen Rubyinterpreter auf seinem Computer installiert hat, kann das folgende Experiment nachvollziehen, das von Erwin Schrödinger inspiriert ist. (Siehe auch meinen Beitrag aus dem Jahr 1997)

Präsentation zur Rails-Datenbankoptimierung

Bei der Ruby User Group Hamburg habe ich am 9. August 2012 einen Vortrag gehalten. Hier sind die dazugehörigen Folien zur Optimierung von Datenbankaufrufen in Ruby-on-Rails Den Vortrag gibt es jetzt auch bei Slideshare und Speakerdeck: Datenbankoptimierung für Ruby on Rails from meier-online Ergänzende Links ActiveRecord ist ein „Object Relational Mapper“ (ORM). Über das Für …

Ruby On Rails Datenbankoptimierung Teil 2

[Zu Teil 1] Verknüpfungen mit dem SQL-join Relationale Datenbanken erlauben es, Tabellen miteinander zu verknüpfen. In SQL gibt es für diese Verknüpfung das Schlüsselwort „JOIN“. Eine solche Verknüpfung kann theoretisch sehr frei spezifiziert werden, in der Praxis wird man fast immer an der Gleichheit bestimmter ID-Spalten verknüpfen. In unserem Beispiel eines Schiffsinformationssystems haben wir eine …

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 …

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 …

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 …

Mehrsprachige Webseiten mit Ruby on Rails (2)

Teil 2 – Platzhalter, Validierungen, Modellklassen [Zu Teil 1] Oft enthalten Webseiten Sätze, in denen sich ein einzelnes Wort sich dynamisch ändert. Beispielsweise „Sie sind als „name“ eingeloggt.“ Zur Übersetzung können wir natürlich den Satz aus seinen Bestandteilen zusammenbauen. Oft gibt es ein Problem: in verschiedenen Sprachen ist der Satzbau anders. Besser ist deshalb die …