März 18th, 2009
Beim Installieren neuer Gems erstellt RubyGems automatisch RDoc und Ri-Dateien. RDoc erzeugt eine Dokumentation aus den im Quelltext enthaltenen Kommentaren über Klassen- und Methodensignaturen.
Ob das in Zeiten von Flatrates und Google sinnvoll ist, muss jeder selbst entscheiden. Vorteilhaft ist der schnellere Zugriff (unter Ubuntu befinden sich die Dateien in /usr/lib/ruby/gems/1.8/doc), nachteilig das (einmalige) lange Parsing bei der Installation.
RDoc-Erzeugung ausschalten
Die Erzeugung der lokalen Dokumentation kann mit den zusätzlichen Paramtern –no-ri und –no-rdoc für den gem-Befehl unterbunden werden. Häufig begegne ich diesen Parametern auch in Installations-Anleitungen für Gems. Daraus schließe ich mal, das ich nicht der einzige bin, den die Standardeinstellung nicht zufriedenstellt, schließlich beansprucht die RDoc-Erzeugung oft 95% der gesamten Installationszeit.
Lästig also, wenn man –no-rdoc und –no-ri mal wieder vergisst, wenn man gerade das Rails-Framework updaten möchte. Ebenso lästig, dass man –no-rdoc und –no-ri überhaupt eintippen muss!
Keine RDoc-Erzeugung als Standard setzen
Es gibt jedoch Abhilfe: gem liest Parameter automatisch aus der Datei $HOME/.gemrc ein
legt man also die Datei .gemrc in seinem Heimatverzeichnis an, und fügt dort die Zeile
gem: –no-ri –no-rdoc
hinzu, werden diese beiden Parameter jeweils automatisch benutzt. Selbst wer die die lokale Dokumentation auf seinem Entwicklungsrechner haben möchte, sollte diese Datei zumindest auf seinem Server anlegen.
Diese Information habe ich in der RubyGems-Dokumentation gefunden, wo noch mehr Optionen aufgeführt sind.
Bonus-Tipp:
APIdoc.com ist eine aufgebohrte Alternative zur offiziellen Dokumentation von Rails. APIdoc.com stellt nicht nur einfachen Zugriff auf ältere Versionen her sondern ermöglicht auch Kommentare (wie z.B. in der PHP-Doku). Neben Rails sind ist dort auch die Dokumentation für Ruby selbst und RSpec zu finden.
Tags: default, rdoc, ri, rubygems, vorgabe
Posted in Ruby, Tricks | 1 Comment »
März 11th, 2009
PJ Hyett von GitHub hat in seinem Blog eine Einsicht offenbart, die äußerst SEO-Relevant ist:
Sinkt die Antwortzeit des Webservers, crawlt GoogleBot mehr Seiten.
Diese Entdeckung machte PJ nachdem er am Caching der Seite gebastelt hatte und damit die Ladezeiten erheblich reduzieren konnte. Er veröffentlicht auch gleich einen Screenshot aus den Google Webmaster Tools- dort ist deutlich zu erkennen, dass mit gleichzeitigem Sinken der Antwortzeit (rote Linie) die Anzahl der gecrawlten Seiten (blau) ansteigt.

Nunja, GoogleBot wird wohl kaum eine single threaded Anwendung sein die auf die Antwort des Webservers warten muss und somit die Anzahl der gecrawlten Seiten proportional zur Antwortzeit sinkt. Vielleicht ist dieser Mechanismus auch ganz selbstlos und soll verhindern, dass der Crawler zuviel Last auf dem Webserver erzeugt?
Wie dem auch sei, es ist ein weiterer guter Grund in einer ruhigen Minute die Antwortzeiten von Spekunauten.de ein bisschen aufzupeppen.
P.S.: Ja, ich habe in diesem Posting wahllos Keywords markiert um zu sehen was Google damit anstellt.
Tags: antwortzeit, google, seo, server
Posted in non-rails | No Comments »
März 8th, 2009
Alexander Lang hat auf seinem Blog eine praktische Application Template veröffentlicht. Eine Application Template ist ein neues Feature in Rails 2.3, das - wie der Name schon sagt - ein paar Routineaufgaben vorwegnimmt, die beim Anlegen einer neuen Rails-Anwendung anfallen.
Die Template von Alex erzeugt eine Rails-Anwendung mit Benutzerregistrierung/Login, deutscher Übersetzung für ActiveRecord-Meldungen, Capistrano-Deployment, jQuery als Prototype-Ersatz, RSpec als Test-Framwork und ein paar weiteren Dingen.
Am interessantesten fand ich das CSS-Framwork Blueprint und die Benutzerregistrierung über Authlogic. Von beiden Projekten habe ich in der Template zum ersten mal gehört.
Mein erster Kontakt mit CSS-Frameworks war auf dem Barcamp Berlin, wo Dirk Jesse einen Vortrag über YAML hielt. YAML selbst hat mich aber wegen seiner Fülle an Dateien und Ordnern immer abgeschreckt. Blueprint ist dort wesentlich sparsamer und kommt nebenbei noch mit einem in Ruby geschriebenen CSS-Kompressionsskript daher.
Authlogic wird als Plugin zur Benutzerverwaltung eingesetzt und tritt in die Fußstapfen von restful_authentication. Ich war das letzte Jahr eigentlich durchgängig mit dem Spekunauten-Projekt beschäftigt, wo restful_authentication verwendet wird. Daher habe ich mich natürlich auch nicht nach aktuelleren Lösungen umgeschaut und Authlogic ist an mir vorübergegangen, werde es mir deshalb auf jedenfall anschauen.
Mit jQuery, RSpec und den anderen Goodies habe ich selbst noch keine praktischen Erfahrungen gesammelt und kann dazu wenig sagen.
Was mir noch fehlt ist das ausgezeichnete exception_notification-Plugin und Vorbereitung für ein SVN-Repository (Alex verwendet Git). Dazu werde ich dann wohl selbst eine Template anlegen, wozu Alex seine Leser auch ausdrücklich auffordert.
Achso, die Template gibt es hier zum Download (wer kein Rails 2.3 verwendet kann sich trotzdem den Quelltext anschauen und findet dort beispielsweise das XHTML-Layout für Blueprint).
Benutzen kann man das ganze einfach mit
rails my_new_app -m http://gist.github.com/75038.
Tags: application template, blueprint, jquery, l18n, rspec
Posted in Rails | No Comments »