Zum Inhalt

Ruby

Buch-Rezension zu "Agile Web Development with Rails 4"

Agile Web Development with Rails 4

Die Veröffentlichung von Rails 4 dürfte für etliche Entwickler ein Anlass sein sich einmal mit diesem Webframework zu beschäftigen. Aber wo soll man anfangen? Web-Tutorials wie Railstutorial.org sind zwar ausführlich, aber noch nicht auf Version 4 aktualisiert und die offizielle Dokumentation ist nicht unbedingt für Einsteiger konzipiert.

"Agile Web Development with Rails 4" von Sam Ruby füllt diese Lücke. Die neuste Version dieses Buches befindet sich noch im Beta-Programm, ist aber als E-Book (PDF, epub und mobi) bereits erhältlich. Durch den gelungenen Aufbau ist dieses Buch nicht nur für Einsteiger sondern auch für Rails 3.x Entwickler interessant.

Unterlagen zu "Ruby und Rails für .Net Entwickler" (Luzern)

Die .Net User Group Zentralschweiz gab mir Anfangs Woche die Gelegenheit meinen Ruby und Rails Vortrag für .Net Entwickler zu präsentieren. Gut 6 Monate nach der ersten Präsentation bei der .Net User Group Bern konnte ich so nochmals rund 30 .Net Entwicklern zeigen das es neben C# noch andere interessante Programmiersprachen gibt.

In den letzten Monaten gab es bei Ruby und Rails einige entscheidende Neuerungen. Ruby ist zum 20. Geburtstag in der Version 2 erschienen und Rails 4 liegt nun als Beta vor. Für mich Grund genug neben dem Vortrag auch die Beispiele anzupassen.

Buch-Rezension zu "Practical Object-Oriented Design in Ruby"

POODR

Ein gutes Buch über objektorientiertes Design (OOD) zu finden ist nicht einfach. Obwohl sich viele Bücher diesem Thema widmen fehlt doch immer wieder etwas: Entweder ist das Buch so theoretisch das es keinen Bezug zur Praxis hat oder die notwendige Theorie fehlt.

"Practical Object-Oriented Design in Ruby" (kurz POODR) von Sandi Metz findet den Mittelweg zwischen Theorie und Praxis. In einer direkten Sprache wird man Schritt für Schritt an die Thematik OOD herangeführt. Auch wenn die Beispiele in Ruby sind so ist dieses Buch auch für andere Sprachen sehr zu empfehlen – das benötigte Wissen über Ruby ist minimal und schnell erklärt.

Die Testpyramide

Seit einigen Monaten stosse ich immer wieder auf das Konzept der Testpyramide. Ich finde dieses Bild sehr passen, da es die wesentlichen Aspekte auf den Punkt bringt. Um ein System wirklich zu testen gilt es mehrere Ebenen anzuschauen. Die Testpyramide zeigt diese auf und vermittelt auf eine leicht verständliche Weise wie sich die Anzahl der Testfälle staffeln soll:

Die Testpyramide

TDD: Denken erlaubt

Test-Driven Development (TDD) gibt auch heutzutage noch viel zu diskutieren. Was mir dabei immer wieder auffällt: Es scheint als ob vor lauter Red-Green-Refactor vergessen geht das man eigentlich Software entwickeln soll. Sobald man sich mit Tests beschäftigt vergisst man das grosse Ganze. Oder wieso schreiben gestandene Software-Entwickler einen Test nach dem anderen der ihnen nur bestätigt das 1 + 1 wirklich 2 ergibt?

Das passende Gem finden

Für Ruby und Rails gibt es unzählige Helfer. Diese als Gem bezeichneten Pakete zu finden ist eine Herausforderung. Nicht weil es zu wenig Gems gibt, sondern weil so viele verschiedene Ansätze zur Auswahl stehen. Nicht nur für Einsteiger ist es schwer sich zu entscheiden. Soll man nun das nehmen was gerade "In" ist oder ist ein älteres Paket besser? Wie steht es um die Aktualität? Und wo findet man die Dokumentation?

Buch-Rezension zu "Domain-Driven Design"

Domain-Driven Design

Wenn man sich mit Behavior Driven Development (BDD) und dem Schreiben von Akzeptanztests beschäftigt stösst man immer wieder auf ein Buch: "Domain-Driven Design: Tackling Complexity in the Heart of Software" von Eric Evans.

Dieses Buch gilt weit herum als Standardwerk das man unbedingt kennen muss. Beim Lesen merkt man schnell das Evans sehr viel Erfahrung hat und weiss wovon er schreibt. Leider macht er dies so ausführlich dass man kaum vorwärts kommt. "Man müsse die Informationen herausschürfen" ist eine Bemerkung über dieses Buch die man beim Lesen im Hinterkopf behalten sollte.

Bessere Fehlermeldungen in Rails

Log- und Fehlermeldungen können eine wichtige Quelle zum Erkennen von Problemen sein. Allerdings nur wenn die Meldungen aussagekräftig sind und man diese auch findet. Beim Entwickeln einer Rails-Anwendung stösst man häufig auf 2 Probleme:

  1. Die wichtigen Meldungen gehen in der Flut von Asset Pipeline Informationen unter.
  2. Die Fehlerseite zeigt einem nicht die gewünschten Informationen an.

Für beide Probleme gibt es einfache Lösungen, die einem mit geringem Aufwand viel Zeit sparen können.

Rails aktualisieren

Anfangs Januar 2013 gab es 2 kritische Sicherheitslücken die ein sofortiges Update auf die aktuellste Version von Rails verlangten. Wie aber geht man so etwas an und wie wird man überhaupt über eine neue Version informiert? Dier Eintrag liefert Antworten zu diesen und weiteren Fragen rund um die Aktualisierung einer Rails Anwendung.

Von 0 auf Cloud mit Rails und Heroku

Wäre es nicht toll wenn man mit einem Klick seine Anwendung aufs Produktionssystem deployen könnte? Und das direkt aus der Versionsverwaltung heraus? Und auch gleich noch in die Cloud? Was vor einigen Jahren noch eine Utopie war ist heute machbar. Wenn es statt einem Klick auch ein kurzer Kommandozeilenbefehl sein darf ist es gar noch einfacher.

Wer sich ein klein wenig mit Cloud-Computing und Rails beschäftigt wird schon von Heroku gehört haben. Mit diesem Anbieter ist es besonders einfach seine Anwendung in die Cloud zu bekommen. Was aber an den Präsentationen nie wirklich auffällt sind die nötigen Vorarbeiten um mit

git push master heroku 

seine Software erfolgreich zu deployen. Die Anleitung hier ist umfangreicher, da ich bei 0 anfange und zeige was man für Optionen hat.

Wer bereits über einen Account bei Heroku verfügt, für seine Anwendung Git verwendet und auch den Toolbelt von Heroku installiert hat kann die nächsten Abschnitte überspringen und bei "Nötige Anpassungen" einsteigen.