Archiv

Artikel Tagged ‘Ruby on Rails’

Rails Hosting bei Rocket Rentals – auch mit Staging Umgebung

Mein aktuelles Projekt an dem ich arbeite ist wheelmap.org. Wheelmap.org stellt eine Anwendung für Rollstuhlfahrer bereit, die es ihnen ermöglicht herauszufinden, welche Orte rollstuhlgerecht sind, und welche nicht. So werden Orte aufgezeigt, welche Fahrstühle, abgesenkte Bordsteinkanten oder auch sogenannte Rollstuhllifte anbieten. Wheelmap wird auf den Server von Rocket Rentals gehostet. Die Jungs von Rocket Rentals bieten neben Rails Hosting auch Co-Working Space und professionelle Anwendungsentwicklung.
Da ich hauptsächlich in meinem Büro entwickle, besteht die Notwendigkeit in regelmässigen Abständen meinen Fortschritt zu präsentieren. Und das möglichst auf einem Server im Netz und nicht auf meiner Entwicklungsmaschine. Dafür eignet sich die Live Anwendung allerdings schlecht. Kleinere Fehler oder unvollständige Features möchte man nicht auf den echten Benutzer loslassen. Deswegen habe ich eine Staging Umgebung eingerichtet, die jeweils den aktuellen Entwicklungsstand zeigt. Die Live Umgebung läuft weiterhin nur mit einer stabilen Version. Und so gehts: Mehr…

Opensocial Gadgets – Apps für StudiVZ selbst entwickeln

29. Oktober 2009 4 Kommentare

Wie StudiVZ bereits angekündigt hat, werden die ersten opensocial Anwendungen für ihre Plattform bald live gehen. Entwickler können sich schon jetzt registrieren und ihre so genannten Gadgets in einer Sandbox ausprobieren.

Ich habe das Vergnügen für meinen aktuellen Kunden DaWanda ein Gadget für StudiVZ zu entwickeln. Ein Gadget besteht aus einer XML Datei, die definiert, um welche Anwendung es sich handelt, wer der Author ist usw. Dazu gehören wahlweise mehrere CSS und Javascript Dateien. Nachdem man alles in eine Zip Datei, die den gleichen namen wie die XML Datei trägt, gepackt hat, kann man die Anwendung in die Sandbox hochladen und ausprobieren. Eine Beispiel Datei könnte so aussehen:

<?xml version="1.0" encoding="UTF-8"?>
<Module>
  <ModulePrefs
    title="Example StudiVZ Gadget"
    title_url="http://www.christophbuente.de"
    author="Christoph Bünte"
    author_email="info@christophbuente.de"
    description="Example description"
    screenshot="http://www.christophbuente.de/images/screenshot.jpg"
    thumbnail="http://www.christophbuente.de/images/thumbnail.jpg">
    <Require feature="opensocial-0.8" />
    <Require feature="views" />
  </ModulePrefs>
  <Content type="html" >
    <![CDATA[
      <script>
        function init() {
          // Put initialization code here
        }
        gadgets.util.registerOnLoadHandler(init);
      </script>
    <div id='container'></div>
    ]]>
  </Content>
</Module>

Mehr…

Remarkable – Rails Anwendungen automatisch testen


Seit über einem Jahr entwickle ich Webanwendungen mit Ruby on Rails. Und seit dieser Zeit schreibe ich Tests für meine Anwendungen. Angefangen von Test::Unit über test/spec bis zu RSpec. Doch selten gingen mir Tests leicht von der Hand. Ständig stelle ich mir die Frage: Wie viel teste ich? Habe ich genug getestet? Teste ich schon Rails Code?

Die verschiedenen Test Frameworks haben ihre Vor- und Nachteile. Test::Unit ist relativ einfach und schnell. test/spec und RSpec hingegen deutlich lesbarer, jedoch auch langsamer. Sie eigenen sich deshalb besser, um die Tests als Dokumentation zu verwenden. Test::Unit und test/spec verwenden für Viewtests den Umweg über die Controller, was sie im Vergleich zu RSpec deutlich langsamer macht. In Rspec testet man jede Schicht des MVC Musters separat. Das Verhalten der jeweils anderen Schichten wird mit Mocks und Stubs simuliert. Integration Tests mit Cucumber testen dann das Zusammenspiel aller Schichten.

Carlos Dandos und José Valims Remarkable ist das mit Abstand großartigste Plugin für Ruby on Rails, was mir seit langem über den Weg gelaufen ist, denn es reduziert Tests auf das nötigste! Man schreibt in unglaublich expressiver Form, was das erwartete Verhalten ist. Das auf RSpec basierende Remarkable testet mit einer Vielzahl von Custom Matchers die Erwartung ab.

Mehr…

Ruby on Rails auf Mac OS X – 5 Minuten Kurzanleitung

25. November 2007 2 Kommentare

Ruby on Rails isst in aller Munde, wenn es um Webentwicklung geht. Ich werde in Zukunft eine Reihe von Artikeln veröffentlichen, die etwas tiefer in die Materie eindringen. Dazu ist es aber nötig, dass jeder Leser weiss, wie man Ruby on Rails auf seinem Rechner zum laufen bekommt und ein Projekt erzeugt. Aus diesem Grund hier eine 5 Minuten Kurzanleitung. Als Mac User werde speziell auf das Betriebsystem Mac OS X eingehen.

Mehr…

Advancing Rails – Ein Workshop mit David A. Black

IMG_5150-2

“Wer rastet, der rostet.” – So geht es auch Software-Entwicklern. Wer sich nicht ständig nach neuem umschaut und den imaginären Werkzeugkasten mit neuen Tools füllt, wird irgendwann selbst zum alten Eisen gehören. Deswegen habe ich schon vor einiger Zeit angefangen, Ruby on Rails in meine Repertoire aufzunehmen. Diese Woche habe ich in einem 4 Tage Workshop mein Wissen über Ruby und Rails weiter ausbauen können.

Mehr…

Rails tutorial – Eine Woche lang Agile Webentwicklung

Diese Woche war für mich persönlich eine der lehrreichsten seit langem. Klar lernt man bei der täglichen Arbeit hier und da neue Sachen, jedoch ist es nicht das lernen, was ich meine. Seit Dienstag habe ich mich mit meinem Rechner und dem Buch “Agile Web Development with Rails” bei einem Freund im Büro eingeschlossen, um mir die Ruby on Rails Technologie mal näher anzusehen. Nach ca. 4 Jahren Java Entwicklung ist ein Blick über den Tellerrand längst überfällig.

Mehr…

Objekte und Beziehungen

5. August 2007 1 Kommentar

Wie im täglichen Leben stehen auch bei der programmatischen Nachbildung der Wirklichkeit Objekte oft in einer bestimmten Beziehung zu einander. Dabei unterscheidet man zwischen 1:1, 1:n und m:n Beziehungen.

Neulich wollte ich in einer kleinen Rails Web-Applikation (siehe aktuelle Literatur) eine Ansicht einer 1:n Beziehung zweier Objekte in Listenform erstellen. Die Anforderung war allerdings, die Liste nach der Anzahl der Kinder zu sortieren und dabei die Objekte zuerst anzuzeigen, die keine Kinder haben.

Mehr…