Blog

RubyEnRails 2008

Sjors Grijpink

Aktualisiert Dezember 3, 2025
5 Minuten
Letzten Dienstag habe ich an der "RubyEnRails2008 dag" teilgenommen, der niederländischen RubyAndRails-Konferenz. Es war das dritte Mal, dass diese Konferenz organisiert wurde und dieses Jahr fand sie in der Hoge Schule in Amsterdam statt. Die Teilnehmerzahl war wirklich beeindruckend. Einige der Ruby Rockstars hielten Präsentationen und am Ende des Tages kam David Heinemeier Hansson aus Chicago für eine Fragerunde hinzu EaRing Der Tag begann mit einem Vortrag von Zed A. Shaw. Er ist der Schöpfer von Mongrel und wurde mit seiner Tirade gegen die Rails-Gemeinschaft berühmt. Sein Vortrag war sehr unterhaltsam, aber es ging weniger um Ruby als darum, wie großartig er als Programmierer ist (was er übrigens auch ist). Das Projekt, das er vorstellte, war die Meta-Literal Machine, mit der das Lernen von ASM Spaß macht... Es wurde in 2 Wochen geschrieben und unterstützt einige großartige Funktionen wie: voll dynamische Funktionen, Zugriff auf .so-Dateien, dynamische Konstanten(!) und es hat sogar bessere Fehlermeldungen als Ruby-Interpreter. Er verwendete ein Programm zur Berechnung von Fibonacci-Zahlen, um zu zeigen, wie schnell die Meta-Literal Machine ist. Die Berechnung von 96 Fibonacci-Zahlen 5.000.000 Mal dauerte auf seinem Laptop etwa 1,2 Sekunden. Es gab einige Tiraden gegen die Idee, die Geschwindigkeit von Anwendungen durch Parallelisierung zu erhöhen. Die Argumente, die er anführte, waren recht stichhaltig und basierten auf einer ausführlichen Analyse mit dem Amdahlschen Gesetz. Um Programme schneller laufen zu lassen, sollten Sie also nicht auf Parallelisierung setzen, sondern schnellere Programme schreiben... Der schlechteste Rails-Code, den Sie je gesehen haben In diesem Vortrag von Obie Fernandez ging es um schlechte Codierungspraktiken in Rails-Projekten. Obie Fernandez ist eine bekannte Persönlichkeit in der Ruby-Gemeinschaft und der Autor des Buches 'The Rails Way'. In seinem Vortrag erklärte er, dass schlecht (aus dem Titel des Vortrags) nicht dumm bedeutet, sondern dass eine Rails-Anwendung nicht auf die Rails-Art programmiert wird. Er gab einige Hinweise darauf, wie man auf die Rails-Art programmiert. Eines der wichtigsten Dinge, die Sie tun sollten, ist Ruby zu lernen. Ein weiterer hervorragender Rat, den er gab, war, dass es sehr nützlich ist, mit erfahreneren Programmierern zusammen zu programmieren. Und vergessen Sie nie die guten OO-Prinzipien, wenn Sie Rails-Code schreiben. Phusion Passenger™ (auch bekannt als mod_rails) Eine bessere Möglichkeit zur Bereitstellung von Rails-Anwendungen auf Apache wurde von Ninh Bui & Hongli Lai vorgestellt. Das Apache-Modul zum Ausführen von Rails-Anwendungen war sehr veraltet, jetzt nicht mehr! Die Jungs von Phusion haben mit Phusion Passenger und ihrer Ruby Enterprise Edition ein großartiges Produkt für die Bereitstellung von Rails-Anwendungen auf dem Apache entwickelt. Sie kündigten Version 2 von Passenger an, die viele Verbesserungen enthält, wie z.B.: fairer Lastausgleich (im Gegensatz zu einer Round-Robin-Strategie), paralleler Datei-Upload (wodurch die Rails-Instanz frei wird, um neue eingehende Anfragen zu bearbeiten) und eine starke Reduzierung der VM-Größe. Die Architektur ermöglicht nicht nur die Ausführung von Rails, sondern auch von Merb, Camping, ... und sogar Django-Anwendungen, die Rack und WSGI unterstützen. Die vorgestellten Benchmarks waren sehr beeindruckend. Beim Vergleich verschiedener Bereitstellungsstrategien (nicht JRuby auf Glassfish) gewinnt die Kombination aus Apache und Passenger in Bezug auf Geschwindigkeit und Speicherverbrauch haushoch. Ich hätte allerdings gerne ein Deployment-Setup mit JRuby auf Glassfish im Benchmark gesehen. JRuby Ein Vortrag, den Sie nicht verpassen sollten, wurde von Charles Olivier Nutter über die Ausführung von Ruby auf der Java VM gehalten. Das JRuby-Projekt ist seit einiger Zeit produktionsreif, und im Durchschnitt laufen Anwendungen auf der JVM sogar schneller als auf dem Standard-Ruby-Interpreter (MSI). Er erwähnte, dass Java für einige Leute aufgrund emotionaler Argumente (ich mag die Sprachen nicht) und manchmal der arroganten Haltung der Java-Anbieter ("die Antwort ist Java. Wie lautete die Frage?") mit Negativität umgeben war. Er fuhr damit fort, die JVM zu loben und zeigte einige wirklich beeindruckende Demos von Ruby-Programmen, die auf der JVM laufen und die sehr reichhaltige Sammlung von Java-Bibliotheken nutzen (z.B. processing.org/ und www.the-shoebox.org/apps/44). Er fuhr dann fort und zeigte, wie man Rails-Anwendungen auf der JVM laufen lässt. Die Einfachheit der Bereitstellung ist wirklich beeindruckend. Man kann jeden Java-App-Server verwenden, um eine Rails-App als WAR-Datei auszuführen, die mit dem Warbler-Tool erstellt wurde. Außerdem gibt es eine noch einfachere Möglichkeit, die von den Jungs von Glassfish mit dem Glassfish-Gem bereitgestellt wird: > gem install glassfish > cd $Ihr_Spuren_Projekt_Verzeichnis > glassfish_rails Und schon ist es fertig! Eine Reihe von Unternehmen verwendet JRuby bereits in ihrer Produktionsumgebung: Oracle, Sun, Thoughtworks (Mingle), ... Q&A mit David Heinemeier Hansson David Heinemeier Hansson ist der Schöpfer von Ruby on Rails. Es gab eine Live-Videoverbindung mit ihm in Chicago, die uns die Möglichkeit gab, Fragen zu stellen. Viele der Fragen bezogen sich eher auf die geschäftliche Seite von 37signals (seinem Unternehmen) als auf Rails und dessen Zukunft, aber es war schön, ihn "live" zu sehen :-) Ich gebe Ihnen einige zufällige Notizen, die ich während dieser Q&A aufgeschrieben habe:
  • Rails ist nicht mit dem Mainstream gleichzusetzen. Der Mainstream sollte sich Rails beugen.
  • Kein 5-Jahres-Plan: Zielvorgaben sind Quatsch...
  • Flammenkriege bringen nicht viel ;-)
  • Lokalisierung sollte nicht Teil von Rails sein (jeder hat seine eigene Vorstellung davon, was Lokalisierung bedeutet)
  • 37signals hat 10TB an Daten auf Amazon S3
Skalierbarkeit?
  • die Twitter-Tirade ist sehr laut, viel Lärm
  • Twitter eignet sich möglicherweise nicht für Rails (nicht wirklich eine traditionelle Webanwendung)
  • Yellow Pages funktioniert sehr gut auf Rails
Alles in allem ein sehr unterhaltsamer und inspirierender Tag bei RubyEnRails 2008!

Verfasst von

Sjors Grijpink

Contact

Let’s discuss how we can support your journey.