Ruby on Rails Bootcamp der Big Nerd Ranch – Tag 2

Tag 2 – 9:15 Uhr:
Es geht los für heute. Irgendwie habe ich das Gefühl, dass es heute dann doch eine Ecke anspruchsvoller wird als gestern. Ich bin gespannt, was mich erwartet.

Wir starten mit einer Einführung in die Datenbank-Migrationen. Sehr nützlich, gerade wenn man im Team entwickelt, aber auch für einen alleine, bietet es schöne Vorteile wie Rollback-Möglichkeiten, falls man denn mal etwas sehr verbockt hat.

Es folgt ein tieferer Einblick in die Verzeichnisstruktur einer Rails-Applikation. Welche Aufgabe und welchen Inhalt jedes Verzeichnis hat. Eine schöne kurze Zusammenfassung.

Danach ging es langsam produktiv weiter. Wir bildeten für unsere kleine Übungsapplikation via Scaffolding ein Grundgerüst, was dann nach und nach angepasst wird. Zunächst wurden die grundsäztlichen Dinge angefasst, wie etwa ein zentrales Layout durch die Verwendung von application.rhtml anstelle vieler einzelner Layouts. Dazu dann noch ein angepasstest scaffoling.css um das eher „hässliche“ Scaffoling-Layout ein wenig hübscher erscheinen zu lassen. Es folgten eigene List- und Edit-Module, die auf die Applikation zugeschnitten sind.

Das nächste große Thema war dann Validation. Alle Benutzer-Eingaben wurden einer Prüfung unterzogen. Entweder kamen fertige validates_….. zum Einsatz, oder aber es wurde z.B. für die Abfrage, ob das Erstellungsdatum in der Vergangenheit liegt eine eigene validate-Prozedur erstellt.

Der Rest des Tages wurde dazu verwendet, die Demo-Applikation vom Funktionsumfang her noch zu erweitern, sodass alles ein wenig runder läuft.

Heute abend steht „Sozialleben“ auf dem Plan. Weinprobe und Klosterbesichtigung mit abschliessendem Abendessen.

Ruby on Rails Bootcamp der Big Nerd Ranch – Tag 1

Heute ist der erste Tag der Schulung. Um 9 ging es im „Heuboden“ los. Nachdem sich jeder der 16 Teilnehmer einen Platz gesucht hat fingen wir mit einer kleinen Vorstellungsrunde an. Jeder hat kurz etwas über sich und seine Erwartungen an den Kurs berichtet. Dabei hat sich schon gezeigt, dass vom absolutem Anfänger bis zum bereits erfahrenen Softwareentwickler alles vertreten ist. Also ein Kurs für jeden ;-) Charles B. Quinn unser Lehrer ist ein sehr freundlicher Mensch, der auf Zwischenfragen sofort eingeht. Da der Kurs in englisch ist, muss ich mich da erstmal wieder dran gewöhen, aber Charles hat eine klare Aussprache, sodass das kein Problem ist.

Auch mit Papier wird man ordentlich versorgt. Neben allen „Slides“ gibt es noch die Bücher „Agile Web Development with Rails“ von Thomas Heinemeier Hansson und “ Programming Ruby“ von Dave Thomas. Damit ist man wohl hinreichend gut gerüstet um jederzeit etwas nachschlagen zu können.

Die anderen Teilnehmer kommen aus fast ganz Europa – Schweden, Finnland, Englang, Holland, Frankfreich, Schweiz … alles ist vertreten. Jeevan hat wohl den weitsten Weg aus Sri Lanka.

Nach der Vorstellungsrunde haben alle erstmal ihre Workstations eingerichtet, damit Rails auch sauber läuft. Meist war das natürlich schon im vorhinein geschehen. Ich habe die Möglichkeit genutzt und noch schnell RadRails runtergeladen und installiert um eine „all-in-one“ Entwicklungsumgebung zu haben. Läuft prima. Einfach runterladen und starten.

Vor der Mittagspause um 12:30 gar Charles uns dann noch einen ersten Einstieg in Ruby.

12.30 – Mittagspause. Buffet. Lecker.

Direkt nach der Pause ging es dann langsam richtig los. Den Anfang machte eine Einführung in ActiveRecord. Ein paar Übungen auf der Console folgten um das Vorgetragene auch in der Praxis auszuprobieren. Charles und andere erfahrene Rails-Programmieren standen Neulingen wie mir hilfreich zur Seite, sodass man schon nach kurzer Zeit die Übungsaufgaben lösen konnte.

Als nächstes kam der ActionController an die Reihe. Es wurde gezeigt, wie schnell man FORM-Data mit Params ausliest, Session-Daten bekommt und via „Flash“ dem Benutzer Feedback gibt. Abschliessend noch ein kurzer Anriss über die Cookie-Behandlung. Wieder folgte eine Übungslektion.

16:00 Um den Kopf freizubekommen machten wir bei herrlichstem Sonnenschein einen Spaziergang um das Kloster herum

Mit neuem Elan ging es dann weiter mit ActionView. Endlich kann man seine „Seite“ manipulieren und lernt den gesamten Zusammenhang der einzelnen Komponenten. Wie man Layouts verwendet wurde ebenso besprochen wie die Nutzung von „partial“. Das Übungsprojekt machte den Verwendungszweck recht deutlich und es wird auch dem letzen das DRY-Prinzip (dont repeat yourself) dadurch näher gebracht.

Gegen 19 Uhr gab es dann Abendessen. Wieder sehr lecker. Für heute ist damit für mich Schluss. Einige sind zurück in den „Heuboden“ gegangen, um noch ein wenig weiter zu programmieren. Ich aber bin etwas müde, und habe sowieso noch nicht die rechte Idee, wie ich „mein Projekt“ denn angehen werde. Also ruhe ich mich lieber ein wenig aus, und bin dann morgen auch wieder fit.

Ruby on Rails Bootcamp der Big Nerd Ranch – Tag 0

Die nächsten fünf Tage habe ich die Freude am „Ruby on Rails Bootcamp“ der Big Nerd Ranch teilzunehmen. Das bedeutet fünf Tage am Stück lernen, lernen, lernen. Im schönen Umfeld des Kloster Eberbach steht mir ein straffes Programm bevor, dass mich in die Geheimnisse von „Ruby on Rails“ einweihen soll.

Heute war der Auftakt, ein Kennenlerntreffen im Voraus. Bis auf drei Teilnehmer, die noch nicht eingetroffen waren, haben wir gemeinsam ein gutes Essen im Kloster genossen und uns gegenseitig beschnuppert.

Aufgrund meiner örtlichen Nähe fahre ich abends wieder nach Hause um im eigenen Bettchen zu schlafen. Alle anderen übernachten im Hotel vor Ort.

In den nächsten Tagen möchte ich an dieser Stelle über die Schulung, bzw. meine Erfahrungen berichten.

HowTo: ISO/NRG/BIN/CUE Images unter Ubuntu mounten

Normale ISO-Images können ganz einfach mit dem Befehl

sudo mount -o loop ./isodatei.iso /ziel/pfad

gemountet werden. Um BIN/NRG Images zu mounten müssen diese zunächst in ein ISO-Image umgewandetl werden. Dazu müssen die Programme bchung zbw. nrg2iso installiert sein:

sudo apt-get install bchunk
sudo apt-get install nrg2iso

Anschliessend können die Images umgewandelt werden

bchunk datei.bin datei.cue datei.iso
nrg2iso datei.nrg datei.iso

Wobei datei für den jeweiligen Image-Name steht