Uni-Logo Institut für Informatik

Agile Webentwicklung mit Ruby on Rails SoSe 2012

Dozenten Prof. Dr. Oliver Vornberger, Nils Haldenwang, B.Sc.
Vorlesung donnerstags, 10:05 - 11:35 Uhr, Raum 31/449a
Inhalt Agile Softwareentwicklung, Behaviour-Driven Development (BDD), Representational State Transfer (REST), Resource-Oriented Architecture (ROA), GIT, Ruby, Ruby on Rails

Die Teilnehmer lernen an praktischen Beispielen die effiziente Verwendung des Frameworks Ruby on Rails zur Entwicklung von Webapplikationen. Zum hinreichenden Verständnis müssen zunächst die dem Framework zugrunde liegenden Konzepte und Prinzipien (Agile Softwareentwicklung, Resource-Oriented Architecture) und natürlich die Sprache Ruby eingeführt werden. Am Ende der Veranstaltung entwickeln die Teilnehmer selbst eine vollständige Applikation, um das erarbeitete Wissen unter realen Bedingungen einzusetzen und zu erproben.
Ablauf
Datum Kapitel Thema Video Materialien Aufgaben Lösungen
Do, 19.04. 1-1 Organisatorisches, Einführung in die Ruby-Syntax (Zahlen, Strings, Symbole, Arrays, Hashes, Methoden, Blöcke) 1-1 1-1 -
Do, 26.04. 1-2 Regular Expressions, Klassendefinition, LOAD_PATH, require, Editoren und IDEs 1-2 1-2 Blatt 1 Loesung 1
Do, 03.05. 1-3 Exceptions, Module, Object Model 1-3 1-3 Blatt 2 Loesung 2
Do, 10.05. 1-4 Methoden, Blocks, Procs und Lambdas 1-4 1-4 Blatt 3 Loesung 3
Do, 17.05. - Fällt aus wegen Himmelfahrt - -
Do, 24.05. 2 Git: Grundlagen, Workflows, Branching und Merging 2 2 - -
Do, 31.05. 3, 4-1 Web Application Architecture (HTTP, REST, Roa), Rails Konzepte (MVC, DRY, COC) 3,4-1 3, 4-1 - -
Do, 07.06. 4-2 Rails Grundlagen (Scaffold, Model, View, Controller und Routing) 4-2 4-2 Blatt 4 Loesung 4
Do, 14.06. 4-3, 4-4 Rails Konfiguration (Environments, Bundler), Active Record Grundlagen (Associations, Validations, Callbacks) 4-3, 4-4 4-3, 4-4 Blatt 5 Loesung 5
Do, 21.06. 4-5 View (Asset Pipeline, Partials, Helper), Controller (Filter, Rendering), Anti-Patterns (Law of Demeter), Design-Patterns (Presenter) 4-5 4-5 Blatt 6 Loesung 6
Do, 28.06. 4-6, 5-1 Nested Resources, Authentication (Devise), Authorization (CanCan), Agile Softwareentwicklung (TDD, BDD) 4-6,6-1 4-5, 5-1 Blatt 7 Loesung 7
Do, 05.07 6 Behaviour-Driven Rails (RSpec, Cucumber, Factory Girl) 6 6 - -
Do, 12.07 6 Behaviour-Driven Rails Demo, Projektinformationen, Evaluation 6 6 - -
Mailingliste Interessenten tragen sich bitte selbst über die Listenverwaltung ein und melden sich dann bei mir zwecks Freischaltung.
Ruby
Rails
Vim
Git
Literatur
  • D. Thomas, C. Fowler, and A. Hunt.
    "Programming Ruby".
    Pragmatic Books- helf, 2009.
  • P. Perrotta.
    "Metaprogramming Ruby".
    Pragmatic Bookshelf, 2010.
  • L. Richardson and S. Ruby.
    "RESTful web services".
    O'Reilly Media, 2007.
  • D. Chelimsky, D. Astels, Z. Dennis, A. Hellesoy, B. Helmkamp, and D. North.
    "The RSpec Book: Behaviour-Driven Development with RSpec, Cucumber, and Friends".
    The Pragmatic Programmers, LLC., 2010
  • S. Ruby, D. Thomas, D. Hansson, et al.
    "Agile web development with Rails".
    Pragmatic Bookshelf, 2011.
  • O. Fernandez.
    "The Rails 3 Way".
    Addison-Wesley Professional, 2010.
  • C. Pytel and T. Saleh.
    "Rails Antipatterns: Best Practice Ruby on Rails Refactoring".
    Addison-Wesley Professional, 2010.
  • M. Fowler and K. Beck.
    "Refactoring: Improving the design of existing code".
    Addison-Wesley Professional, 1999.
  • R. C. Martin.
    "Clean Code: A Handbook of Agile Software Craftsmanship".
    Pearson Education, 2009.
Leistungsnachweis Für den Leistungsnachweis muss in Kleingruppen im Rahmen der an die Vorlesung anschließenden vorlesungsfreien Zeit eine Webapplikation mittels der erlernten Konzepte und Werkzeuge entwickelt und nach Fertigstellung präsentiert werden.