Test Driven Development mit Rails in Reinkultur

11 September 2009 von Andreas Richter 1 Kommentar »

Das Rails hervorragend für automatische Tests ausgestattet ist, dürfte hinreichend bekannt sein. Neben den unit- gibt es die functional-, integration- und performance-tests. Die Tests können alle zusammen oder einzeln per rake test:xyz aufgerufen werden. Das ist schon recht komfortabel. Aber es geht noch besser.

Die Unittests können mittels autotest zyklisch durchgeführt werden. Das Programm wird im Wurzelverzeichnis der Anwendung gestartet und führt als erstes alle Unittests durch. Danach überwacht autotest Änderungen an Projektdateien und führt nach erkannten Änderungen die Tests selbständig erneut durch. Dabei werden nur die Tests durchlaufen, die zu den geänderten Dateien gehören. Das ist gerade bei etwas größeren Projekten ein enormer Zeitgewinn. Doch das ist noch nicht genug. Autotest prüft nicht nur welche Dateien geändert wurden, sondern auch welche Methoden innerhalb der Dateien. Und nun ratet mal: Genau; es werden nur die Tests aufgerufen, die zu den geänderten Methoden passen. Perfekt :)

Dank autotest ist das testgetriebene Entwickeln, oder auf Neudeutsch: Test Driven Development, mit Rails perfekt integriert. Kein lästiges Wechseln auf die Konsole und ein Aufruf von rake test mehr. Das erledigt ab sofort autotest für mich.

Zusammenfassend nochmal die Schritte die nötig sind, um autotest nutzen zu können:

sudo gem install zentest
sudo gem install autotest-rails
cd /pfad/zu/meinem/railsprojekt
autotest

So macht das Entwickeln doch Spaß. Auf das Wesentliche konzentrieren und die Routineaufgaben vom Rechner erledigen lassen. Rails hat mich wieder einmal begeistert :)

Extensions in Google Chrome nutzen

11 September 2009 von Andreas Richter Keine Kommentare »

Ich nutze seit einigen Wochen den Google Chrome. Auf Windows kommt die stabile Version zum Einsatz, die es leider nicht für Linux gibt. Deswegen werkelt dort die Entwicklerversion aus dem so genannten Dev-Channel. Nun lässt sich ja mit Erweiterungen so mancher Browser um Funktionen erweitern, die man benötigt oder gerne haben möchte. So nun auch in Google Chrome.

Die Unterstützung für Erweiterungen ist schon seit einigen Wochen in der Entwicklerversion enthalten, jedoch bisher nicht ohne weiteres freigeschalten. Das ändert sich ab sofort. Leider aber nur in der Windowsversion. Linux und Mac OS X sollen später folgen.

Wer jedoch jetzt schon Erweiterungen wie z.B. das Flash Plugin nutzen möchte, kann Google Chrome mit der Erweiterung --enable-plugins starten. Damit Chrome immer mit der Erweiterung startet, sollte man alle Verknüpfungen sowie die Einstellung für den Standardbrowser entsprechend ändern. :)

Tagesaktuelle Hilfe für RADStudio, Delphi und C++ Builder

11 September 2009 von Andreas Richter Keine Kommentare »

Jeder Entwickler kennt sie; jeder Entwickler liebt sie: Die Hilfe in Delphi. Und jeder weiß auch, dass die Hilfe weit von der absoluten Perfektion entfernt ist. Das wissen die Leute bei Embarcadero auch und arbeiten deswegen täglich an der Verbesserung der Hilfe. Leider kommen die Verbesserungen nur durch Hilfe-Updates alle paar Monate zu den Entwicklern. Bis jetzt!

Die Leute bei Embarcadero haben in den letzten 2 Jahren intensiv an ihrem Dokumentationswiki gearbeitet, welches jetzt online verfügbar ist. Laut Dee Elling arbeiten die Hilfeschreiber direkt im Wiki, sodass Änderungen nicht mehr Monate brauchen, um bis zum Entwickler vorzudringen, sondern nun innerhalb weniger Sekunden bereitstehen. Das Wiki setzt sich aus insgesamt 9 Mediawikis zusammen. Die Wikiseiten dienen auch als Content Management System zur Erstellung der Microsoft Help2 Hilfeseiten, die mit dem RAD Studio ausgeliefert werden.

Update Vista Enterprise auf Windows 7 Enterprise

8 September 2009 von Andreas Richter 2 Kommentare »

Wenn man wie ich bei einem Softwarehersteller arbeitet, der Microsoft Gold Partner ist und einen entsprechenden MSDN-Account sein Eigen nennt, kommt man schon recht früh in den Genuss neuer Microsoftprodukte. So auch das neue Windows 7.

Gestern war es soweit. Nach einem längeren Urlaub war der erste Arbeitstag wie geschaffen, um ein Update von Vista auf Windows 7 vorzunehmen. Als verwöhnter Debian- und Kubuntu-Nutzer wollte ich auch einmal den Update-Mechanismus von Windows testen. Bei Debian und Co. ist das dank apt ein Kinderspiel. Wie sieht es aber bei Windows 7 aus?

Nun; ich war sehr positiv überrascht. Ich habe die DVD mit Windows 7 eingelegt, das Setup gestartet und nach einem Systemcheck die Update-Routine laufen lassen. Nach ziemlich genau 2 Stunden und 3 Neustarts war aus meinem Vista Enterprise ein Windows 7 Enterprise geworden. Und das ohne Zutun. Ohne zusätzliche Eingaben oder Bestätigungen. Die 2 Stunden Update kann der Rechner getrost unbeaufsichtigt durchführen.

Nach dem ersten Login habe ich zwar schmerzlich meine sehr exzessiv bestückte Schnellstartleiste schmerzlichst vermisst, aber die neue Windows 7 Taskbar hat mich schnell dafür entschädigt. In der neuen Taskbar können nach wie vor eigene Icons angelegt werden, jedoch gefällt mir die Funktionalität der neuen Taskbar mit dem Andocken von Anwendungsverknüpfungen wesentlich besser. Schön ist auch, dass sämtliche Dateien in meinem persönlichen Ordner erhalten geblieben sind und alle installierten Programme nach dem Update weiterhin ihren Dienst verrichten. Fast wie bei einem aptitude full-upgrade ;)

Abschließend kann ich sagen: Das Experiment ist gelungen. Mein erstes Update von einer Windows-Version auf die nächsthöhere ist reibungslos vonstatten gegangen. Etwas mulmig war mir dann doch im Vorfeld. Aber die Bedenken haben sich nicht bestätigt. Also: Wer kann, sollte sein Vista auf Windows 7 hieven. Die zwei Stunden Updatezeit lohnen sich bestimmt…

Ruby on Rails 2.3.4

5 September 2009 von Andreas Richter Keine Kommentare »

Die Entwickler von Ruby on Rails haben mit Version 2.3.4 ein Sicherheitsupdate des beliebten Web-Frameworks veröffentlicht. Dabei werden 2 kritische Lücken geschlossen. Eine Cross-site scritping (XSS) und eine Timing.

Neben den geschlossenen Sicherheitslücken sind an die 100 weitere Fehler berichtigt und zwei neue Features eingebaut worden. So können ab sofort l18n-Übersetzungen auch in Plugins enthalten sein und in db/seeds.rb können seed-Daten hinterlegt werden, die per rake db:seek in die Datenbank eingelesen werden können.

Eine Aktualisierung auf Ruby on Rails 2.3.4 ist durch das Schließen zweier Sicherheitslücken jedem zu empfehlen. Mein Update läuft bereits im Hintergrund:

sudo gem update

Treiber schreiben ist nicht schwer, Treiber pflegen dagegen sehr

5 September 2009 von Andreas Richter Keine Kommentare »

Dieser Satz fiel mir spontan ein, als ich eben bei Golem.de gelesen habe, dass die von Microsoft bereitgestellten Hyper-V-Treiber im Linux Kernel keine Pflege mehr erfahren. Über 200 Patches waren laut dem Staging-Bericht von Greg Kroah-Hartman nötig um den Code an den Kernel anzupassen. Nun liegt es in den Händen der Entwickler bei Microsoft, sich um den Treibercode im Kernel zu kümmern.

Per EMail wurden sie, wie viele andere Treiberentwickler auch, über den aktuellen Status informiert. Bisher jedoch ohne Antwort. Sollte es dabei bleiben, wird der Code von Microsoft wieder aus dem Staging-Zweig vom Linux Kernel entfernt und somit nie in eine offizielle Kernel-Version gelangen. Warten wir den nächsten Microsoft Patch-Day ab ;)

Countdown zu Windows 7

5 September 2009 von Andreas Richter Keine Kommentare »

In 7 Wochen wird er Visa-Nachfolger Windows 7 auch die Endbenutzer erreichen. ISVs, IHVs und MSDN-Abonnenten sind bereits mit Windows 7 versorgt. Um die Wartezeit auf das neue Windows etwas zu verkürzen und die Neugierde noch weiter zu steigern, hat Windows 7-Experte Oliver Scheer einen Countdown eingerichtet.

Nun ist ja so ein Countdown nichts besonderes. Dieser schon. Oliver Scheer wird in jeder der noch verbleibenden 7 Wochen ein neues Thema von Windows 7 vorstellen. Die da wären:

  • Woche 7 –> Die “Hallo Windows 7”-Woche
  • Woche 6 –> Die Windows 7 Onboard-Tools
  • Woche 5 –> Windows 7 als Entwicklungsplattform
  • Woche 4 –> Die neuen Features von Windows 7 im Detail
  • Woche 3 –> Noch mehr neue Features im Detail
  • Woche 2 –> Alte Anwendungen fit für Windows 7 machen
  • Woche 1 –> Zielgerade
  • Woche 0 –> Man darf gespannt sein.

Man darf also wirklich gespannt sein :)

Trackbacks funktionieren wieder

4 September 2009 von Andreas Richter Keine Kommentare »

*Grml* Da habe ich mit Aktivierung des aktuellen Themes die Trackbackfunktionalität auf meinem Blog lahmgelegt. Wer also einen Trackback vermisst, bitte nochmal schicken. Es sollte nun wieder wie gewohnt funktionieren.

Neue Infoseite für MonoTouch

4 September 2009 von Andreas Richter Keine Kommentare »

Wie ich bereits vor genau einem Monat berichtet habe, ist ein Port der freien .NET-Alternative Mono auf das Apple iPhone gestartet. Wer vom MonoTouch getauftem Projekt mehr Informationen wie Artikel, Podcasts, Codesnippets etc. pp. benötigt oder auch teilen möchte, findet auf monotouch.info eine neue, zentrale Anlaufstelle.

Rails Rumble 2009 beendet

4 September 2009 von Andreas Richter Keine Kommentare »

Der Rails Rumble ist ein Wettbewerb, bei dem Teams mit bis zu 4 Teilnehmern innerhalb von 48h eine neue Webapplikation erstellen. Bedingung ist, dass die Webapplikation in Ruby on Rails entwickelt wird. Die Teilnehmer erhalten während der 48h ein eigenes Git-Repository sowie einen Virtual Private Server.

Was nun dabei herausgekommen ist, erstaunt mich schon. Bedenkt man, dass die Teams nur 48h Zeit hatten, ihre Anwendung umzusetzen. Wobei eine Planugsphase auf dem Papier bereits vor den 48h-Contest abgeschlossen sein kann. Durch den Wettbewerb wird sehr deutlich, welche Produktivität in Rails steckt. Vorausgesetzt natürlich, man weiß, was man tut :)

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland
This work by Andreas Richter is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Deutschland.