Seit zwei Wochen bin jetzt dabei aus Hobby-Gründen Ruby on Rails zu lernen. Zum einen war ich Ruby-Neuling (außer den Bruchstücken die ich bisher in puppet benötigte) zum anderen kannte ich Rails auch nur vom hörensagen.

Ruby lernen:

Also brauchte ich als erstes mal Lernmaterialien, dafür habe ich zum einen das Railsbuch gefunden, das zwar Versionsmäßig etwas angegraut ist allerdings für mich gute Dienste leistet, zum anderen die Ruby-auf-Schienen Seite mit deren Hilfe ich mich in die Ruby-Grundlagen eingearbeitet habe.

Ruby ausprobieren:

Als nächstes braucht man eine Entwicklungsumgebung. Hierfür kann man entweder alle Entwicklungspakete wie ruby, rails, die ganzen gems, nodejs usw. auf seinem HostPC installieren, oder aber man nimmt vagrant her und hat eine transportable, abgegrenzte und reproduzierbare Umgebung.
Um das aufsetzen einer solchen Box auf das Mindestmaß an Arbeit zu beschränken gibt es das Rails-Dev-Box Projekt.
Vorausgesetzt man hat schon vagrant, virtualbox und git installiert sind die nächsten Schritte bis zur fertigen Box schnell erledigt.

# clonen des Rails-dev-Box Projekts
git clone https://github.com/rails/rails-dev-box.git
# wechsel in das Verzeichnis
cd rails-dev-box
# starte die Vagrant-Box, sollte die 32bit Ubuntu box noch nicht
# heruntergeladen worden sein, passiert das jetzt automatisch
vagrant up
# Wenn man im rails-dev-box Verzeichnis ist kann man sich problemlos per ssh verbinden.
vagrant ssh

Hat man schon ein rails Projekt begonnen, kann man es einfach nach rails-dev-box/rails kopieren und in der box die gems nachinstallieren.

vagrant ssh
# Das rails-dev-box Verzeichnis wird automatisch in /vagrant gemountet
cd /vagrant/rails
# alle gems werden nachinstalliert mit
bundle

Möchte man ein Neues Prokekt beginnen geht das auch

vagrant ssh
# Das rails-dev-box Verzeichnis wird automatisch in /vagrant gemountet
cd /vagrant/rails
# Hier erstellt man sein neues Projekt names "rails" mit
rails new rails

Jetzt hat man einen guten Einstieg ins Ruby-on-Rails lernen.
Zwei Empfehlungen aus dem rails-dev-box Projekt möchte euch nicht vorenthalten.
Man möchte am liebsten auf seinem Host entwickeln und nur in der Box testen. Auf dem Host hat man nämlich in der Regel die entsprechend angepasste IDE, ssh-keys usw. installiert.
Zum zweiten möchte man auch und besonders im Lernprozess git benutzen. Dann kann man nämlich, wenn man nach jedem lern-Schritt einen Commit macht, am ende den kompletten Lernprozess nochmal im Git nachvollziehen und hat evtl. sogar ein Nachschlage-/Spickwerk

Christoph Niemann
Christoph Niemann
Senior Consultant

Christoph hat bei uns im Bereich Managed Service begonnen und sich dort intensiv mit dem internen Monitoring auseinandergesetzt. Seit 2011 ist er nun im Consulting aktiv und unterstützt unsere Kunden vor Ort bei größeren Monitoring-Projekten und PERL-Developer-Hells.