Ruby on Rails 3.1 Expertenwissen

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Ruby on Rails 3.1 Expertenwissen"

Transkript

1

2 Ruby on Rails 3.1 Expertenwissen

3 Stefan Sprenger ist passionierter Softwareentwickler und interessiert sich vor allem für verteilte Systeme und alles rund um die moderne Webentwicklung. Er arbeitet als Entwickler bei der dkd Internet Service GmbH in Frankfurt und studiert Informatik in Darmstadt. Stefan Sprenger hat bei zahlreichen Open-Source-Projekten, unter anderem Ruby on Rails, mitgearbeitet und ist Autor mehrerer Fachartikel. Kieran Hayes entwickelt seit 1996 Webanwendungen für Intraund Internet. Seine Arbeitsschwerpunkte waren in dieser Zeit unter anderem die Entwicklung und Betreuung von Content- Management-Systemen, CRM-Lösungen und Sozialen Netzwerken. Seit 2008 setzt er bei neuen Projekten auf Ruby on Rails und ist dadurch zu einem überzeugten Anhänger von Test-Driven- Development geworden. Kieran Hayes ist bei der dkd Internet Service GmbH in Frankfurt am Main als Entwickler angestellt.

4 Stefan Sprenger Kieran Hayes Ruby on Rails 3.1 Expertenwissen Eine praxisorientierte Einführung in die Entwicklung mit Ruby on Rails

5 Stefan Sprenger Kieran Hayes Lektorat: Dr. Michael Barabas Copy-Editing: Ursula Zimpfer, Herrenberg Herstellung: Birgit Bäuerlein Umschlaggestaltung: Helmut Kraus, Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, Paderborn Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. ISBN: Buch PDF epub Auflage 2012 Copyright 2012 dpunkt.verlag GmbH Ringstraße 19 B Heidelberg Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen. Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen. Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen

6 v Vorwort Als Ruby on Rails im Jahr 2004 das erste Mal der Öffentlichkeit vorgestellt wurde, konnte noch niemand ahnen, wie stark es im Laufe der nächsten Jahre die Webentwicklung beeinflussen wird. Eine ganze Entwicklergeneration wurde durch die Arbeitsweise mit dem Webframework geprägt. Rails hatte großen Anteil an der Verbreitung und Etablierung von Vorgehensweisen und Werkzeugen wie Git, testgetriebene Softwareentwicklung oder dem Einsatz des Model-View- Controller-Patterns bei Webanwendungen. Schon immer galt Rails als Vorreiter moderner Technologien. Nach dem ersten Hype hat sich mittlerweile eine große Community gebildet, viele Konferenzen und Barcamps wurden veranstaltet und Workshops abgehalten. Um den ganzen Globus verteilt sind lokale Usergroups als Treffpunkte von Rails-Entwicklern entstanden. Gerade in der Start-up-Szene ist Ruby on Rails das Tool der Wahl, verspricht es doch eine schnelle, agile Entwicklungsweise, bei der jederzeit auf Änderungen reagiert werden kann. Auch viele Webframeworks im PHP-, Java- und.net-umfeld haben sich so manches Feature abgeschaut und verwenden durch Rails neu eingeführte Konzepte. Stetig wurden die Funktionalitäten von Ruby on Rails verbessert und neue Features implementiert. Als Meilensteine sind hier vor allem die Umstellung von SOAP auf REST in Version 2.0 sowie die Einführung von Thread-Sicherheit und Internationalisierung durch die Version 2.2 zu nennen. Mit der Version 2.3 wurde Rails um Templates, Engines und Metal erweitert. Ende August 2010 wurde Ruby on Rails in Version 3.0 veröffentlicht, wodurch ein großer Schritt in Richtung einer besseren Integration in das Ruby-Ökosystem gemacht wurde. In diesem Release verschmilzt Rails mit dem anderen großen Ruby-Webframework Merb und kombiniert so die Stärken der beiden ehemaligen Konkurrenten. Gerade die starke Modularität von Merb spiegelt sich hier wider. Aber nicht nur Rails hat sich in den letzten Jahren weiterentwickelt. Auch die Ruby-Community im Allgemeinen hat von zahlreichen Neuerungen profitiert, die wahrscheinlich erst entstanden sind, weil SOAP und REST sind Architekturstile für Webanwendungen.

7 vi Vorwort Entwickler durch Ruby on Rails für die darunterliegende Programmiersprache begeistert wurden. Viele verschiedene Ruby-Implementierungen haben sich herausgebildet: JRuby als Implementierung für die Java Virtual Machine, Rubinius, das selbst in Ruby implementiert wurde, oder MacRuby, das speziell auf das Betriebssystem von Apple zugeschnitten ist. Revolutionäre Testframeworks, wie Cucumber oder RSpec, wurden entwickelt, die mittlerweile auch auf andere Programmiersprachen portiert wurden und dort Verwendung finden. Somit sind einige interessante Technologien entstanden und es sieht nicht danach aus, dass sich daran etwas ändert. Ein Manko gibt es jedoch noch: Bisher existiert leider nur wenig deutschsprachige Literatur zu Rails, sogar nahezu gar keine, die sich an fortgeschrittene Entwickler richtet. Das wollen wir hiermit ändern. Mit diesem Buch begleiten wir Sie auf dem Weg zum nächsten Release, Ruby on Rails 3.1, und liefern Ihnen einen Einblick in interessante Neuerungen. Wir wünschen Ihnen viel Erfolg und Spaß bei der Lektüre. Kieran Hayes und Stefan Sprenger 2011, Frankfurt

8 vii Inhaltsverzeichnis 1 Einleitung Zielsetzung Konventionen Was ist neu in Rails 3.1? Aufbau des Buchs Wer dieses Buch lesen sollte Wie man dieses Buch lesen sollte Webseite zum Buch Danksagungen Grundlagen Paradigmen und Vorgehensweisen Don t repeat yourself Convention over Configuration Architektur einer Rails-Anwendung Model-View-Controller Zusammenspiel einzelner Schichten REST Umgebungen Wichtige Kernmodule ActiveRecord ActiveModel ActiveSupport Railties ActionPack ActionMailer Ruby Version Manager Installation Ruby-Implementierungen installieren Verwalten der Gems RVM aktuell halten Gem-Verwaltung mit Bundler Rake

9 viii Inhaltsverzeichnis 2.7 Asset-Pipeline Zugriff auf Asset-Dateien Zusammenführen von Assets Vorverarbeitung Komprimierung Rails auf der Kommandozeile Rails in der Praxis Einleitung Vorstellung der Beispielanwendung Das Datenmodell Anwendung anlegen Anwendungsverzeichnis Initiale Konfigurationen Startseite anlegen Standardlayout einer Rails-Anwendung Verwalten der Stylesheets und JavaScript-Dateien Anpassen des Layouts Benutzerauthentifizierung Installation von devise Basiskonfiguration User-Model erstellen Views und Routen Benachrichtigungen Helfer für die Arbeit mit Benutzern Profilseite eines Benutzers Passwortbestätigung entfernen Authentifizierung per Login-Attribut Links verwalten Model anlegen Beziehungen zwischen Models Anlegen von Controllern und Views Neue Links und Routen anlegen Validierung der Models Gesamtübersicht aller Links Übersichtlichkeit dank Paginierung Links mit Tags kategorisieren Einführen neuer Models Beziehungen zwischen Tags und Links Verwendung eines virtuellen Attributs Autocomplete mit Ajax Unterschiedliche Ausgabeformate in einem Controller Fazit

10 Inhaltsverzeichnis ix 4 Alternative Komponenten Suchen mit Apache Solr Solr in das Beispielprojekt einbinden Suchen im Controller Das Suchformular Indexierung von Daten Highlighting der Suchergebnisse Suche verfeinern mit Facetten Fazit Rails 3 und NoSQL Wahl der NoSQL-Datenbank MongoDB Aufbau und Prinzipien Der Objekt-Dokument-Mapper Mongoid Ein bestehendes Model mit Mongoid verwalten Benutzerverwaltung auf MongoDB umstellen Abfragen Observer Mongoid und Sunspot Besonderheiten von Mongoid Andere NoSQL-Datenbanken Fazit Tests und Qualitätssicherung Behavior Driven Development Die Prinzipien Ein üblicher Arbeitsablauf Verbreitete Werkzeuge Komponententests mit RSpec Grundlagen Aufbau der Tests Ausführen auf der Kommandozeile Anforderungen spezifizieren durch Matcher Mocks und Stubs Testen der Model-Schicht Testen der Controller-Schicht Testen der Helper-Schicht Testen des Routings Factory Girl als Fixture-Alternative Installation im Beispielprojekt Wie wird es verwendet? Sequenzen fortlaufende Factories Beziehungen zwischen Factories Fazit

11 x Inhaltsverzeichnis 5.4 Integrationstests mit Cucumber Cucumber mit Rails verwenden Cucumber-Features erstellen Unser erstes Feature Formulare testen Wiederverwendbare Steps benutzen Ein Bookmark speichern Mehrere Datensätze erstellen Tests durch Tags gruppieren JavaScript testen mit Selenium Fazit Metriken Projekte überwachen Gängige Metriken für Rails-Anwendungen Metriken erstellen mit metric_fu Richtig einschätzen und verwenden Rails erweitern Eigene Models mit ActiveModel erstellen Validierung Serialisierung Verwendung innerhalb der Anwendung In Formularen verwenden Railties Verwenden der Railties-Schnittstelle Auslagern in ein eigenes RubyGem Generatoren selbst entwickeln Das Grundgerüst erstellen Templates Hooks zu anderen Generatoren Verwendung auf der Kommandozeile In ein Gem auslagern Rails-Engines Engine anlegen Aufbau Anwendungsschichten einer Engine Einbinden in die Rails-Anwendung Fazit Best Practices Während der Entwicklung Fat Models Skinny Controllers Filter in Controllern Häufig verwendete Abfragen hinterlegen

12 Inhaltsverzeichnis xi Model-Zustände mit Observern verfolgen Datenbank-Seeding Isoliertes Installieren von Gems Das Potenzial von RVM in Projekten ausreizen Vor Angriffen schützen SQL-Injections bei Ruby on Rails Cross-Site-Scripting verhindern Rechteüberprüfung beim Verwalten von Datensätzen Mass-Assignment von Model-Attributen Capistrano Konfiguration für die Beispielanwendung Wichtige Tasks Entwicklung eines eigenen Capistrano-Tasks Capistrano-Tasks durch Hooks erweitern Deployments durchführen Staging von Deployments Fazit Nützliche Weblinks Glossar

13

14 1 1 Einleitung 1.1 Zielsetzung Mit Ruby on Rails 3.1 Expertenwissen geben wir unsere langjährige Erfahrung in der Rails-Entwicklung weiter und gehen auf Bereiche ein, die essenziell für das Verständnis des Webframeworks und die tägliche Arbeit sind. Das Release von Ruby on Rails 3.1 markiert für uns einen der wichtigsten Meilensteine in der Evolution des Frameworks, weil zahlreiche spannende Funktionalitäten in den Kern gelangen. Mithilfe einer praxisnahen Beispielanwendung, die im gesamten Buch durchgehend wieder aufgegriffen wird, gehen wir auf die Verwendung der neuen Funktionen ein und zeigen Ihnen, wie mit Rails 3.1 skalierende und wartbare Webapplikationen implementiert werden. Getreu dem Ursprung von Rails versuchen wir dabei einen möglichst großen Praxisbezug zu bewahren. Somit sind Sie nach der Lektüre dieses Buchs nicht nur in der Lage, die theoretischen Hintergründe zu verstehen, sondern können gleich von Grund auf eine Webanwendung erstellen, die dank moderner Such- und Datenbanktechnologien auch einer höheren Besucheranzahl standhält. Ferner versuchen wir mit diesem Buch Hintergrundinformationen und Detailwissen zu Ruby on Rails zu vermitteln, das an anderer Stelle noch nicht aufgeführt wurde oder nur in veralteter Form verfügbar ist. Denn gerade zu Rails 3.1 gibt es im Moment nur sehr wenige Informationen. So oft wie möglich liefern wir Codebeispiele mit, um in die verschiedenen Komponenten praxisorientiert einzuführen. Wir achten auf eine gute Verständlichkeit, sodass hierfür nur wenige Vorkenntnisse benötigt werden, selbst wenn es sich dabei eigentlich um anspruchsvolle Techniken handelt. Während des Schreibprozesses haben wir sowohl Mac OS X als auch Linux für die Erstellung der Codebeispiele verwendet, es sollte allerdings keine allzu großen Abweichungen zu Windows geben. Allge-

15 2 1 Einleitung mein empfehlen wir ein auf UNIX basierendes Betriebssystem für die Entwicklung mit Ruby on Rails. Wir hoffen, Ihnen mit diesem Buch die Vorteile, die wir in der Entwicklung mit Rails sehen, näherbringen und unsere Begeisterung für das Framework vermitteln zu können. Bei Ruby on Rails handelt es sich unserer Meinung nach um das beste Webframework, das sich zurzeit auf dem Markt befindet das Release von Version 3.1 belegt das nur noch mehr. Sie haben genau das Richtige mit dem Kauf dieses Buch getan, um auf dem Laufenden zu bleiben und sich näher mit der Materie auseinanderzusetzen. 1.2 Konventionen Beim Verfassen des Buchs haben wir verschiedene Konventionen verwendet, um Ihnen die Lektüre zu erleichtern. Diese Konventionen werden im Folgenden vorgestellt. Wir liefern so oft es geht Codebeispiele mit, die in Form von Listings innerhalb der Kapitel Platz finden. Die meisten Listings sind mit einer Beschreibung versehen. Listing 1.1 Beschreibung des Beispiel-Listings Listing 1.2 Zeilenumbruch innerhalb eines Listings class Listing attr_accessor :code, :description end Falls ein Beispielcode zu lang für eine Zeile ist, markieren wir den Zeilenumbruch mit. Beispielsweise beinhaltet das folgende Listing eigentlich nur eine Zeile: rails generate model User name:string string description:text picture_url:string Wir verwenden häufig Boxen, die grau hinterlegt sind und Hinweise oder Hintergrundinformationen zu aktuell behandelten Themen liefern. Hintergrundinformationen Dieses Buch wurde mit dem Textsatzprogramm L A T E X und den Editoren TextMate sowie Vim verfasst. Wir haben Ende Oktober 2010 mit den ersten Planungen begonnen und konnten im September 2011 die Arbeiten am Manuskript abschließen. Die Hinweisboxen sind für das Verständnis des Kapitels nicht zwingend notwendig, sollten aber bei Interesse oder Bedarf durchgelesen werden.

16 1.3 Was ist neu in Rails 3.1? Was ist neu in Rails 3.1? Ruby on Rails 3.1 ist der nächste große Meilenstein des Webframeworks, nachdem die Version 3.0 im August 2010 veröffentlicht wurde. Zum einen finden hier einige Features Platz, die für Rails 3.0 vorgesehen waren, aber zum Releasezeitpunkt noch nicht fertiggestellt waren. So ist beispielsweise das Mounten von kompletten Rails-Applikationen eine der großen Errungenschaften von Rails 3.1. Zum anderen wurde das Frontend von Rails-Anwendungen enorm verbessert: So ist die Definition von Stylesheets in der SCSS-Synax (Sassy CSS) möglich, zudem ist jquery das neue Standard-JavaScript-Framework und CoffeeScript hilft als JavaScript-Compiler. Daneben fanden einige Verbesserungen statt, die sich im Streaming von Views und der Implementierung des Identity-Map-Patterns für ActiveRecord wiederfinden. Um Ihnen einen Überblick über die neu hinzugekommenen Features zu verschaffen, stellen wir die wichtigsten kurz vor. Im weiteren Verlauf des Buchs werden wir detaillierter auf sie eingehen. jquery als Standard-JavaScript-Framework Lieferte Ruby on Rails lange Jahre das JavaScript-Framework prototype als Standard mit, gab es immer stärkere Bemühungen innerhalb der Community, auf das beliebtere jquery umzusteigen. Mit Version 3.1 wurde endlich der lang herbeigesehnte Schritt vollzogen: Von nun an ist jquery der Standard bei Rails. SCSS Ein weiteres Tool, das sich schon lange großer Beliebtheit innerhalb der Rails-Community erfreute, hält Einzug: SCSS. Dieses erweitert CSS um nützliche Features wie beispielsweise Variablen, Mixins und verschachtelte Regeln. SCSS wird zu CSS kompiliert und kann daher wie gewohnt im Web eingesetzt und von jedem Browser verstanden werden. Wie das folgende Beispiel zur verschachtelten Definition von Regeln beweist, unterscheidet sich SCSS syntaktisch nicht stark von CSS. Die Einstiegshürde ist niedrig: div#body { width: 30em; h3 { font-size: 5em; } } Listing 1.3 Beispiel einer verschachtelten Regel in SCSS

17 4 1 Einleitung CoffeeScript CoffeeScript ist eine an Ruby und Python erinnernde Sprache, die von einem Compiler zu JavaScript übersetzt wird. Das Ziel von CoffeeScript ist, die guten Elemente von JavaScript in Verbindung mit einer simplen Syntax zur Verfügung zu stellen. Problemlos können auch bestehende JavaScript-Frameworks mit CoffeeScript verwendet werden, sodass der Umstieg leicht fällt. Rails 3.1 bindet CoffeeScript automatisch ein und übernimmt das Kompilieren. Aber wie sieht die Syntax von CoffeeScript eigentlich aus? Der folgende CoffeeScript-Code: Listing 1.4 CoffeeScript-Beispiel Listing 1.5 JavaScript-Übersetzung des CoffeeScript- Beispiels name = "Ruby on Rails 3.1 Expertenwissen" alert "Sie lesen #{name}!" wird zu diesem JavaScript-Code kompiliert: var name; name = "Ruby on Rails 3.1 Expertenwissen"; alert("sie lesen " + name + "!"); Selbstverständlich versteht Rails weiterhin klassisches JavaScript, CoffeeScript ist optional. Asset-Verwaltung Auch bei der Asset-Verwaltung hat sich einiges getan. War bisher der Standard-Ablageort für JavaScript-Dateien, Bilder und Stylesheets das Verzeichnis public, werden diese nun im Ordner app/assets innerhalb des Applikationskontexts verwaltet. Die Auslieferung des JavaScript-Codes ist im Frontend neuerdings auch komprimiert möglich. In der Produktionsumgebung ist das sinnvollerweise der Standard. HTTP-Streaming Aaron Patterson, einer der Kernentwickler von Rails, implementierte das neue Feature HTTP-Streaming. Das erlaubt schon während des Renderingvorgangs die Auslieferung einer View zu beginnen, auch wenn noch gar nicht alle benötigten Daten zur Verfügung stehen. Ein weiterer Anwendungsfall ist das Ausliefern von Assets (JavaScript- und CSS-Dateien) während des Renderings der View. So kann der Browser Stylesheets parallel zum HTML-Dokument laden, was zu einem schnelleren Seitenaufbau führt. Dank HTTP-Streaming werden je nach Anwendungsfall enorme Geschwindigkeitsgewinne erzielt.

18 1.3 Was ist neu in Rails 3.1? 5 Verwendung von HTTP-Streaming HTTP-Streaming setzt auf Ruby Fibers und benötigt Ruby in Version oder höher. ActiveRecord Identity Map Mit dem Release von Ruby on Rails 3.1 gelangt auch das Identity- Map-Pattern in das Webframework. War es früher noch so, dass zwei identische ActiveRecord-Abfragen zwar den gleichen Datensatz, aber unterschiedliche Ruby-Objekte zurücklieferten, wird heute je Datensatz auch nur ein Ruby-Objekt von Rails erstellt. Hierdurch werden Vorteile in der Performanz und eine bessere Persistenz erreicht. Die Identity Map ist übrigens für eine Anfrage gültig und wird danach gelöscht. Hinweis zur Verwendung Beim Erscheinen von Ruby on Rails 3.1 ist die Verwendung der Identity Map aufgrund möglicher Probleme mit dem Aktualisieren von assoziierten Models standardmäßig deaktiviert. Wer sie trotzdem nutzen möchte, da seine Anwendung nicht davon betroffen ist, kann dies in der Applikationskonfiguration ändern. Umkehrbare Migrationen Schon seit langer Zeit sind Datenbankmigrationen fest in ActiveRecord integriert. Sie ermöglichen das schrittweise Ändern des Datenbankschemas ohne dessen Evolution zu verlieren. Eine Migration besteht üblicherweise aus einem Teil, der beim Anwenden der Migration (up), und einem Teil, der beim Zurückrollen der Migration (down) ausgeführt wird, wie im folgenden Beispiel zu sehen ist: class CreatePosts < ActiveRecord::Migration def self.up create_table :posts end Listing 1.6 Bisherige Syntax für Datenbankmigrationen def self.down drop_table :posts end end

19 6 1 Einleitung Seit Ruby on Rails 3.1 können Migrationen die beim Zurückrollen auszuführenden Aktionen implizit bestimmen. So werden Migrationen übersichtlicher und Entwickler müssen keine redundanten Informationen hinterlegen. Für die Verwendung des neuen Features steht die Methode change bereit: Listing 1.7 Neue Syntax für Datenbankmigrationen class CreatePosts < ActiveRecord::Migration def change create_table :posts end end Übrigens sind die Methoden einer Migrationsklasse von nun an Instanzmethoden, weshalb das lästige, den Methodennamen vorangestellte self. wegfällt. Überarbeitung der Engines Die in Rails 2 eingeführten Engines wurden komplett überarbeitet. Mit Version 3.1 ist es erstmals möglich, komplette Applikationen in die eigene Anwendung zu integrieren (mounten). Dabei wird die gemountete Applikation, die Engine, unter einem eigenen Namensraum verfügbar. Mögliche Anwendungsfälle sind Blogs oder Content-Management- Systeme, um häufig benötigte Funktionalitäten nicht immer wieder aufs Neue implementieren zu müssen. Vorbereitete Datenbankabfragen Gerade der Zugriff auf die Datenbank ist oftmals der Flaschenhals einer Anwendung. Rails 3.1 setzt hier an und verwendet Prepared Statements für die von ActiveRecord generierten Abfragen. Häufig benötigte Abfragen werden in der Datenbank abgelegt, wodurch enorme Performanzgewinne erzielt werden. Template Inheritance Durch die Möglichkeit, Templates zu vererben, können Controller und Views wesentlich übersichtlicher strukturiert werden. So wird die Vererbungshierarchie eines Controllers verwendet, um ein passendes View- Template zu finden. Erbt beispielsweise der Controller ImagesController von Assets- Controller und für die Action index des ImagesControllers wird kein View-Template gefunden, verwendet Rails automatisch das View-

20 1.4 Aufbau des Buchs 7 Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs Das Buch ist in sechs Kapitel unterteilt. Im ersten Kapitel Grundlagen findet eine allgemeine Einführung in das Webframework Ruby on Rails mitsamt all seinen Komponenten statt. Wir erklären für die Praxis wichtige Paradigmen sowie Vorgehensweisen und gehen auf eingesetzte Entwurfsmuster und Technologien ein. Dieses Kapitel hilft auch Anfängern dabei, sich mit den verschiedenen Bestandteilen von Rails auseinanderzusetzen und den Aufbau des Frameworks zu verstehen. Darüber hinaus werden wichtige Tools, die in allen Bereichen der Entwicklung mit Ruby on Rails zum Einsatz kommen, wie beispielsweise Ruby Version Manager (RVM) oder Rake, vorgestellt. Das zweite Kapitel Rails in der Praxis enthält ein spannendes Beispielprojekt, das alle Schritte bei der Erstellung einer Webanwendung mit Rails 3.1 durchläuft. Alltägliche Aufgaben wie eine Benutzerauthentifizierung oder das Erstellen von Formularen werden praxisnah gelöst und vermitteln bewährte Vorgehensweisen. Darauf aufbauend zeigt das nächste Kapitel Alternative Komponenten wie skalierende Webanwendungen mithilfe von leistungsfähigen Such- und Datenbanktechnologien implementiert werden. Wir benutzen die bewährten Lösungen Apache Solr für die Implementierung der Suche und MongoDB als NoSQL-Datenbank. Hiermit bieten wir einen Blick über den Tellerrand hinaus und zeigen, was alles möglich ist. Ein eigenes Kapitel zum Thema Tests und Qualitätssicherung geht auf den hohen Stellenwert von Softwaretests innerhalb der Ruby- und Rails-Community ein und vermittelt benötigtes Wissen sowie Tipps und Tricks, um Softwaretests in Rails-Projekten erfolgreich durchzuführen. Der sinnvolle Einsatz von Komponenten- und Integrationstests steht an oberster Stelle. Aber auch auf den zweckgemäßen Einsatz von Metriken wird eingegangen. Im fünften Kapitel dreht sich alles darum, wie sich Rails erweitern lässt. Fortgeschrittene Themen wie die Entwicklung eigener Models mit ActiveModel, die Implementierung von Plug-ins oder das Erstellen von Rails-Engines zeigen, wie das Framework pragmatisch an eigene Bedürfnisse und Anforderungen angepasst wird. Abschließend werden im sechsten Kapitel zahlreiche Best Practices vorgestellt. Es werden Themen wie Sicherheit, Deployment von Appli-

21 8 1 Einleitung kationen und Vorgehensmuster für wiederkehrende Aufgaben behandelt, um eine solide Grundlage für den Praxiseinsatz zu schaffen. Im Anhang findet sich zusätzlich eine Auflistung nützlicher Weblinks, die sozusagen die tägliche Lektüre eines Rails-Entwicklers darstellt. 1.5 Wer dieses Buch lesen sollte Mit Ruby on Rails 3.1 Expertenwissen richten wir uns primär an Entwickler, die bereits erste Erfahrungen mit Ruby on Rails gemacht haben. Im besten Fall haben Sie bereits eine Anwendung mit Rails 2 erstellt und konnten sich zumindest grob mit den Prinzipien des Frameworks vertraut machen. Aber auch ambitionierte Anfänger, für die Webentwicklung kein Fremdwort ist, können mit diesem Buch fortgeschrittene Techniken und Entwicklungsmethoden erlernen und finden eine Möglichkeit, auf hohem Niveau in die Rails-Entwicklung einzusteigen. 1.6 Wie man dieses Buch lesen sollte Wir empfehlen die durchgehende Lektüre des Buchs, da die Kapitel aufeinander aufbauen. Wir greifen über das ganze Buch hinweg das in Kapitel 2 vorgestellte Praxisprojekt wieder auf, um in die jeweiligen Themen einzuführen. Allerdings können Kapitel, deren Inhalte schon bekannt sind, problemlos übersprungen werden. Am Ende einiger Kapitel finden sich weitere Informationen zum aktuell behandelten Thema. Das sind in der Regel Webseiten, die zusätzliches Wissen bereitstellen, um bei Bedarf tiefer in die Materie einsteigen zu können. 1.7 Webseite zum Buch Parallel zum Buch existiert eine Webseite, auf der weitere Informationen verfügbar sind. Dort besteht auch die Möglichkeit, uns zu kontaktieren, beispielsweise um positive oder negative Kritik am Buch loszuwerden oder Fragen zu stellen. Die Adresse der Webseite lautet:

22 1.8 Danksagungen Danksagungen Ein Buch ist ein großes Projekt, das von den Autoren alleine nur schwer zu stemmen ist. So gab es auch bei uns einige Personen, die im Hintergrund bei der Entstehung geholfen haben. Unser herzlicher Dank richtet sich an die Mitarbeiter vom dpunkt.verlag, allen voran Michael Barabas, die uns immer mit Ratschlägen und Tipps zur Seite standen. Zudem bedanken wir uns bei Maik Schmidt, der uns mit zahlreichen Verbesserungsvorschlägen geholfen hat. Wir konnten viele Freunde und Bekannte als Testleser gewinnen, unter anderem: Sven Kräuter, Nicolai Constantin Reuschling, Christian Trabold und Mike Zaschka. Sie gaben uns regelmäßig mit Rückmeldungen zu aktuellen Zwischenständen des Buchs und sorgten dafür, dass sich das Buch in die richtige Richtung entwickelt. Unser Dank gilt auch unseren Familien, die an vielen Wochenenden und Abenden auf uns verzichten mussten und uns immer unterstützt haben. Vielen Dank, ohne Euch würde es dieses Buch nicht geben.

23

24 11 2 Grundlagen Wie ist Ruby on Rails intern aufgebaut? Auf welche Art und Weise kann ich mehrere Ruby-Versionen parallel benutzen? Wie werden Abhängigkeiten zu anderen Bibliotheken verwaltet? Welche Architekturmerkmale einer Rails-Anwendung sind wichtig? Was ist Rake? In diesem ersten Kapitel stellen wir die Grundlagen von Ruby on Rails vor. Wir erklären den internen Aufbau des Frameworks, bei dem sich einiges durch das Release von Version 3 geändert hat. Es wird darauf eingegangen, wie einzelne Komponenten miteinander interagieren und welche Aufgaben sie übernehmen. Dazu verfolgen wir den gesamten Weg vom Aufruf einer Webseite im Browser des Benutzers bis zum Server durch die verschiedenen Anwendungsschichten und wieder zurück. Ein weiterer Punkt ist die Verwaltung von Abhängigkeiten, die mit Ruby on Rails 3 verbessert wurde. Begriffe und Technologien, die für die weitere Lektüre des Buchs wichtig sind, wie die Model-View-Controller-Architektur, Rake oder REST, werden vorgestellt, um auf sie an späterer Stelle zurückgreifen zu können. 2.1 Paradigmen und Vorgehensweisen Ruby on Rails ist eines der erfolgreichsten Webframeworks, das seit Jahren viele Softwareentwickler und -architekten begeistert. Dabei ist ein Großteil des Erfolges auf zwei Paradigmen zurückzuführen, die dafür sorgen, dass eine Webanwendung schnell entwickelt werden kann sowie jederzeit wart- und erweiterbar bleibt.

25 12 2 Grundlagen Don t repeat yourself Häufig ähneln sich einzelne Quelltextabschnitte, sowohl die dahintersteckende Funktionalität als auch der geschriebene Code. Im Extremfall existieren sogar hundertprozentige Kopien von Codesegmenten. Dadurch entstehen enorme Probleme, wenn Änderungen durchgeführt werden, da die Konsistenz zwischen den verschiedenen Stellen beibehalten werden muss. So entsteht schlecht wartbarer Code, der bei größeren Änderungen oder Weiterentwicklungen zum Flaschenhals wird und viel Zeit kostet. Don t repeat yourself (DRY) setzt hier an und sagt im Grunde aus, dass jegliche Formen von Duplikaten vermieden werden sollen. Das kann beispielsweise mittels voneinander unabhängiger Komponenten und geschickten Softwaredesigns erreicht werden. Der vorgestellte Grundsatz lässt sich neben dem reinen Programmcode auch auf angrenzende Bereiche anwenden. Tests können zusammengefasst oder Build-Skripte modular und redundanzfrei aufgebaut werden. Ruby on Rails versucht DRY auf allen möglichen Ebenen zu berücksichtigen und hilft durch verschiedene Konzepte, dieses Paradigma einzuhalten, während der Entwicklung Zeit zu sparen sowie eine bessere Codequalität zu erreichen. Ein Bereich, in dem bei Rails Don t repeat yourself zum Einsatz kommt, sind die View-Templates. Diese sind naturgemäßig stark von Redundanzen geprägt. Üblicherweise haben nahezu alle Seiten eines Webauftritts eine ähnliche Struktur hinsichtlich des Layouts: Navigationen, Headerelemente und weitere Inhalte wiederholen sich an mehreren Stellen. Auch verwenden die meisten Seiten gleiche Stylesheets und JavaScript-Dateien. Rails hilft hier an zwei Stellen. Zum einen werden Layouts zur Verfügung gestellt, die das Grundgerüst der Views repräsentieren. Hier wird meist alles bis auf den Inhaltsbereich, der durch die eigentlichen Views generiert wird, abgelegt. Im folgenden Layout wird durch Aufruf der Methode yield der Inhaltsbereich durch die entsprechende View gefüllt: Listing 2.1 Ein simples View-Layout <!DOCTYPE html> <html> <head> <title>example</title> <%= stylesheet_link_tag "application" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head>

26 2.1 Paradigmen und Vorgehensweisen 13 <body> <%= yield %> </body> </html> Zum anderen können View-Helper erstellt werden. Das sind Funktionen, in die Aufgaben aus der View ausgelagert werden. Beispielsweise wird das Rendering einer Navigation üblicherweise von einem View- Helper übernommen Convention over Configuration Hinter Convention over Configuration steht, dass für die Durchführung einer Aufgabe möglichst wenige Konfigurationen notwendig sein sollten. Stattdessen soll das Befolgen von bewährten Vorgehensweisen, also Konventionen, diese implizieren. Das spart Zeit und verkürzt früher als lästig empfundende Arbeitsschritte während der Entwicklung. Will man zum Beispiel CRUD- Operationen mithilfe eines Controllers verfügbar machen, muss man bei Ruby on Rails nicht jede Route einzeln hinzufügen, sondern kann den Controller als Ressource im Router definieren. Hierdurch werden sieben Routen erstellt, die nach einer Konvention benannt werden. Aber was ist eigentlich, wenn man nur vier der sieben Routen benötigt? Convention over Configuration schließt Konfigurationen nicht zwangsläufig aus. Muss man den Standardweg verlassen, kann problemlos ein anderes Verhalten konfiguriert werden. So auch in diesem Fall: Rails stellt Konfigurationsoptionen für das Anlegen ausgewählter Routen bereit. Die Anwendung dieses Paradigmas behält Konfigurationen weiterhin wie gewohnt bei. Für häufig benötigte Aufgaben sollen sie jedoch durch die Befolgung von Konventionen implizit gesetzt und somit überflüssig werden. Mittlerweile hat sich die Zusammenarbeit von Rails mit anderen Bibliotheken im Hinblick auf Convention over Configuration gewissermaßen emanzipiert. Es gibt zwar immer noch Standardkomponenten, die empfohlen werden. Da aber eine riesige Menge an Tools und Werkzeugen in der Web- und Ruby-Szene existiert, die auf die unterschiedlichsten Anforderungen zugeschnitten sind, ist es auch problemlos möglich, auf Alternativen zurückzugreifen. CRUD steht für die Basisoperationen Create, Read, Update und Delete.

Ruby on Rails 3.1 Expertenwissen

Ruby on Rails 3.1 Expertenwissen Stefan Sprenger Kieran Hayes Ruby on Rails 3.1 Expertenwissen Eine praxisorientierte Einführung in die Entwicklung mit Ruby on Rails dpunkt.verlag vül Inhaltsverzeichnis 1 Einleitung 1.1 Zielsetzung 1.2

Mehr

Template der gleichnamigen Action des geerbten Controllers, also AssetsController.

Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs 7 Template der gleichnamigen Action des geerbten Controllers, also AssetsController. 1.4 Aufbau des Buchs Das Buch ist in sechs Kapitel unterteilt. Im ersten Kapitel Grundlagen findet

Mehr

Inhaltsverzeichnis. vii

Inhaltsverzeichnis. vii D3kjd3Di38lk323nnm vii 1 Einleitung... 1 1.1 Zielsetzung...... 1 1.2 Konventionen... 2 1.3 Was ist neu in Rails 3.1?... 3 1.4 Aufbau des Buchs.... 7 1.5 Wer dieses Buch lesen sollte.... 8 1.6 Wie man dieses

Mehr

Konfigurationsmanagement mit Subversion, Ant und Maven

Konfigurationsmanagement mit Subversion, Ant und Maven Gunther Popp Konfigurationsmanagement mit Subversion, Ant und Maven Grundlagen für Softwarearchitekten und Entwickler 2., aktualisierte Auflage Gunther Popp gpopp@km-buch.de Lektorat: René Schönfeldt Copy-Editing:

Mehr

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln

Dominik Schadow. Java-Web-Security. Sichere Webanwendungen mit Java entwickeln Dominik Schadow Java-Web-Security Sichere Webanwendungen mit Java entwickeln Dominik Schadow info@dominikschadow.de Lektorat: René Schönfeldt Copy-Editing: Friederike Daenecke, Zülpich Satz: Da-TeX, Leipzig

Mehr

Dr. Carola Lilienthal www.dpunkt.de/plus

Dr. Carola Lilienthal www.dpunkt.de/plus Dr. Carola Lilienthal ist Senior-Softwarearchitektin und Mitglied der Geschäftsleitung der WPS Workplace Solutions GmbH in Hamburg. Dort verantwortet sie den Bereich Softwarearchitektur und gibt ihr Wissen

Mehr

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann www.dpunkt.de/plus

Uwe Vigenschow Andrea Grass Alexandra Augstin Dr. Michael Hofmann www.dpunkt.de/plus Uwe Vigenschow ist Abteilungsleiter bei Werum IT Solutions. In das Buch sind über 25 Jahre Erfahrung in der Softwareentwicklung als Entwickler, Berater, Projektleiter und Führungskraft eingeflossen. Mit

Mehr

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung

dpunkt.lehrbuch Bücher und Teachware für die moderne Informatikausbildung Hanspeter Mössenböck ist Professor für Informatik an der Universität Linz und Leiter des Instituts für Systemsoftware. Er beschäftigt sich vor allem mit Programmiersprachen, Compilern und Systemsoftware.

Mehr

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski

Tilman Beitter Thomas Kärgel André Nähring Andreas Steil Sebastian Zielenski Tilman Beitter arbeitete mehrere Jahre als Softwareentwickler im ERP-Bereich und ist seit 2010 mit großer Begeisterung für die B1 Systems GmbH als Linux Consultant und Trainer unterwegs. Seine Themenschwerpunkte

Mehr

Software modular bauen

Software modular bauen Software modular bauen Architektur von langlebigen Softwaresystemen Grundlagen und Anwendung mit OSGi und Java von Ulf Fildebrandt 1. Auflage Software modular bauen Fildebrandt schnell und portofrei erhältlich

Mehr

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann

Dipl.-Inform. Sven Röpstorff Dipl.-Kaufm. Robert Wiechmann Dipl.-Inform. Sven Röpstorff ist freiberuflicher Agiler Projektmanager und Coach mit 17 Jahren Berufserfahrung, Wandler zwischen der traditionellen und der agilen Welt mit Schwerpunkt in agilen Methoden

Mehr

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014

Continuous Delivery. Der pragmatische Einstieg. von Eberhard Wolff. 1. Auflage. dpunkt.verlag 2014 Continuous Delivery Der pragmatische Einstieg von Eberhard Wolff 1. Auflage dpunkt.verlag 2014 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86490 208 6 Zu Leseprobe schnell und portofrei erhältlich

Mehr

VMware vrealize Automation Das Praxisbuch

VMware vrealize Automation Das Praxisbuch VMware vrealize Automation Das Praxisbuch Dr. Guido Söldner leitet den Geschäftsbereich Cloud Automation und Software Development bei der Söldner Consult GmbH in Nürnberg. Sein Unternehmen ist auf Virtualisierungsinfrastrukturen

Mehr

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren

Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren Buchkritiken und Artikel für internationale Zeitschriften und

Mehr

Michael Kurz Martin Marinschek

Michael Kurz Martin Marinschek Michael Kurz studierte Informatik an der Technischen Universität Wien und hat sich seitdem in seiner beruflichen Tätigkeit dem Thema Webentwicklung verschrieben. Seit seinem Wechsel zu IRIAN beschäftigt

Mehr

Über die Herausgeber

Über die Herausgeber Über die Herausgeber Frank R. Lehmann, Paul Kirchberg und Michael Bächle (von links nach rechts) sind Professoren im Studiengang Wirtschaftsinformatik an der Dualen Hochschule Baden-Württemberg (DHBW),

Mehr

JavaScript kinderleicht!

JavaScript kinderleicht! Nick Morgan JavaScript kinderleicht! Einfach programmieren lernen mit der Sprache des Web Übersetzung aus dem Amerikanischen von Isolde Kommer und Christoph Kommer Lektorat: Dr. Michael Barabas Übersetzung:

Mehr

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte.

er auch mit dem 3D-Programm Blender in Kontakt, über das er bisher zahlreiche Vorträge hielt und Artikel in Fachzeitschriften veröffentlichte. beschäftigt sich seit Beginn der 80er Jahre intensiv mit Computern und deren Programmierung anfangs mit einem VC-20 von Commodore sowie speziell mit Computergrafik. Der Amiga ermöglichte ihm dann die Erzeugung

Mehr

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen.

Im Rahmen seiner Beratertätigkeit veröffentlicht er Artikel und hält Vorträge und Schulungen zu diesen und weiteren Themen. Dr. Wolf-Gideon Bleek ist seit 1997 in der Softwaretechnik-Gruppe der Universität Hamburg in Forschung und Lehre tätig. Er führt seit 1999 agile Projekte durch und berät Organisationen beim Einsatz agiler

Mehr

Praxisbuch BI Reporting

Praxisbuch BI Reporting Alexander Adam Bernd Schloemer Praxisbuch BI Reporting Schritt für Schritt zum perfekten Report mit BEx Tools und BusinessObjects Alexander Adam alexander.adam@googlemail.com Bernd Schloemer bernd.schloemer@googlemail.de

Mehr

Basiswissen Medizinische Software

Basiswissen Medizinische Software Basiswissen Medizinische Software Christian Johner ist Professor für Software Engineering, Softwarequalitätssicherung und Medizinische Informatik an der Hochschule Konstanz. Am»Johner Institut für IT im

Mehr

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse

Nicolai Josuttis. SOA in der Praxis. System-Design für verteilte Geschäftsprozesse Nicolai Josuttis SOA in der Praxis System-Design für verteilte Geschäftsprozesse Nicolai Josuttis Website zum Buch http://www.soa-in-der-praxis.de Die englische Ausgabe erschien unter dem Titel»SOA in

Mehr

Basiswissen Software-Projektmanagement

Basiswissen Software-Projektmanagement isql-reihe Basiswissen Software-Projektmanagement Aus- und Weiterbildung zum Certified Professional for Project Management nach isqi-standard von Bernd Hindel, Klaus Hörmann, Markus Müller, Jürgen Schmied

Mehr

Maik Schmidt www.dpunkt.de/plus

Maik Schmidt www.dpunkt.de/plus Maik Schmidt arbeitet seit beinahe 20 Jahren als Softwareentwickler für mittelständische und Großunternehmen. Er schreibt seit einigen Jahren Buchkritiken und Artikel für internationale Zeitschriften und

Mehr

IT-Projektverträge: Erfolgreiches Management

IT-Projektverträge: Erfolgreiches Management IT-Projektverträge: Erfolgreiches Management RA Dr. Christoph Zahrnt war nach dem Studium sowohl des Rechts als auch der Volkswirtschaft mehrere Jahre als Softwareentwickler und Einkaufsjurist in der hessischen

Mehr

IT-Service-Management mit ITIL 2011 Edition

IT-Service-Management mit ITIL 2011 Edition Roland Böttcher IT-Service-Management mit ITIL 2011 Edition Einführung, Zusammenfassung und Übersicht der elementaren Empfehlungen 3., aktualisierte Auflage Heise Prof. Dr. Roland Böttcher roland.boettcher@hs-bochum.de

Mehr

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth www.dpunkt.de/plus

Mike Burrows Übersetzer: Florian Eisenberg Wolfgang Wiedenroth www.dpunkt.de/plus Mike Burrows ist Geschäftsführer und Principal Consultant von David J. Anderson and Associates (djaa.com). In seiner beruflichen Laufbahn, die sich von der Luftfahrt über das Bankwesen, das Energiewesen

Mehr

Web-Apps mit jquery Mobile

Web-Apps mit jquery Mobile Philipp Friberg Web-Apps mit jquery Mobile Mobile Multiplattform-Entwicklung mit HTML5 und JavaScript Philipp Friberg jqm@xapps.ch Lektorat: René Schönfeldt Copy Editing: Christoph Ecken, Heidelberg Herstellung:

Mehr

IT-Controlling für die Praxis

IT-Controlling für die Praxis Martin Kütz IT-Controlling für die Praxis Konzeption und Methoden 2., überarbeitete und erweiterte Auflage Martin Kütz kuetz.martin@tesycon.de Lektorat: Christa Preisendanz & Vanessa Wittmer Copy-Editing:

Mehr

IT-Servicemanagement mit ITIL V3

IT-Servicemanagement mit ITIL V3 Roland Böttcher IT-Servicemanagement mit ITIL V3 Einführung, Zusammenfassung und Übersicht der elementaren Empfehlungen Heise Roland Böttcher roland.boettcher@fh-bochum.de Lektorat: Dr. Michael Barabas

Mehr

Die Computerwerkstatt

Die Computerwerkstatt Klaus Dembowski Die Computerwerkstatt Für PCs, Notebooks, Tablets und Smartphones Klaus Dembowski Lektorat: Gabriel Neumann Herstellung: Nadine Thiele Umschlaggestaltung: Helmut Kraus, www.exclam.de Druck

Mehr

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg

Dipl.-Inform. Henning Wolf Prof. Dr. ir. Rini van Solingen Eelco Rustenburg Dipl.-Inform. Henning Wolf ist Geschäftsführer der it-agile GmbH mit Sitz in Hamburg und München. Er verfügt über langjährige Erfahrung aus agilen Softwareprojekten (extreme Programming, Scrum, Kanban)

Mehr

Prof. Dr. Matthias Knoll

Prof. Dr. Matthias Knoll Prof. Dr. Matthias Knoll ist Professor für Betriebswirtschaftslehre an der Hochschule Darmstadt. Sein Spezialgebiet ist die betriebliche Informationsverarbeitung mit den Schwerpunkten GRC-Management, IT-Prüfung

Mehr

München 2014) und»uml2 glasklar«(carl Hanser Verlag München

München 2014) und»uml2 glasklar«(carl Hanser Verlag München Prof. Dr. Klaus Pohl ist Professor für Software Systems Engineering und Direktor von»paluno The Ruhr Institute for Software Technology«an der Universität Duisburg-Essen. Er ist bzw. war Koordinator von

Mehr

Basiswissen Medizinische Software

Basiswissen Medizinische Software Basiswissen Medizinische Software Aus- und Weiterbildung zum Certified Professional for Medical Software Bearbeitet von Christian Johner, Matthias Hölzer-Klüpfel, Sven Wittorf 2., überarbeitete und aktualisierte

Mehr

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO 20000. Eine Einführung für Manager und Projektleiter

Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO 20000. Eine Einführung für Manager und Projektleiter Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann ISO 20000 Eine Einführung für Manager und Projektleiter Helge Dohle Rainer Schmidt Frank Zielke Thomas Schürmann Helge.Dohle@impaqgroup.com Rainer.Schmidt@fh-aalen.de

Mehr

Cloud-Computing für Unternehmen

Cloud-Computing für Unternehmen Gottfried Vossen Till Haselmann Thomas Hoeren Cloud-Computing für Unternehmen Technische, wirtschaftliche, rechtliche und organisatorische Aspekte Prof. Dr. Gottfried Vossen vossen@helios.uni-muenster.de

Mehr

kontakt@artepictura.de

kontakt@artepictura.de Cora und Georg Banek leben und arbeiten im Raum Mainz, wo sie Mitte 2009 ihr Unternehmen um eine Fotoschule (www.artepictura-akademie.de) erweitert haben. Vorher waren sie hauptsächlich im Bereich der

Mehr

Praxiswissen TYPO3 CMS 7 LTS

Praxiswissen TYPO3 CMS 7 LTS Praxiswissen TYPO3 CMS 7 LTS 8. AUFLAGE Praxiswissen TYPO3 CMS 7 LTS Robert Meyer & Martin Helmich Robert Meyer & Martin Helmich Lektorat: Alexandra Follenius Korrektorat: Sibylle Feldmann Herstellung:

Mehr

IT-Servicemanagement mit ITIL V3

IT-Servicemanagement mit ITIL V3 IT-Servicemanagement mit ITIL V3 Einführung, Zusammenfassung und Übersicht der elementaren Empfehlungen von Roland Böttcher 2., aktualisierte Auflage IT-Servicemanagement mit ITIL V3 Böttcher schnell und

Mehr

Dr. Michael Hahne www.dpunkt.de/plus

Dr. Michael Hahne www.dpunkt.de/plus Dr. Michael Hahne ist Geschäftsführender Gesellschafter der Hahne Consulting GmbH, einem auf Business-Intelligence-Architektur und -Strategie spezialisierten Beratungsunternehmen. Zuvor war er Vice President

Mehr

Konfigurationsmanagement mit Subversion, Maven und Redmine

Konfigurationsmanagement mit Subversion, Maven und Redmine Gunther Popp Konfigurationsmanagement mit Subversion, Maven und Redmine Grundlagen für Softwarearchitekten und Entwickler 4., aktualisierte und erweiterte Auflage Gunther Popp gpopp@km-buch.de Lektorat:

Mehr

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement,

Kim Nena Duggen ist Vorstand und Trainerin der oose Innovative Informatik eg. Ihre thematischen Schwerpunkte sind das Geschäftsprozessmanagement, Tim Weilkiens ist Vorstand und Trainer der oose Innovative Informatik eg. Seine thematischen Schwerpunkte sind die Modellierung von Systemen, Software und Unternehmen. Er ist für oose Repräsentant bei

Mehr

CNC-Fräsen für Maker und Modellbauer

CNC-Fräsen für Maker und Modellbauer Christian Rattat arbeitet seit etwa 20 Jahren als Softwareentwickler und begann seine Karriere 1987 auf einem Commodore Amiga 2000. Heute arbeitet er für Großunternehmen im Microsoft- und Unix-Umfeld,

Mehr

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN

Gradle. Ein kompakter Einstieg in modernes Build-Management. Joachim Baumann. Joachim Baumann, Gradle, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm Joachim Baumann Gradle Ein kompakter Einstieg in modernes Build-Management Joachim Baumann joachim.baumann@codecentric.de Lektorat: René Schönfeldt Copy Editing: Sandra Gottmann, Münster-Nienberge

Mehr

Tobias H. Strömer. Online-Recht. Juristische Probleme der Internet-Praxis erkennen und vermeiden. 4., vollständig überarbeitete Auflage

Tobias H. Strömer. Online-Recht. Juristische Probleme der Internet-Praxis erkennen und vermeiden. 4., vollständig überarbeitete Auflage Tobias H. Strömer Online-Recht Juristische Probleme der Internet-Praxis erkennen und vermeiden 4., vollständig überarbeitete Auflage Tobias H. Strömer E-Mail: anwalt@stroemer.de http://www.stroemer.de

Mehr

Fotografieren lernen Band 2

Fotografieren lernen Band 2 Fotografieren lernen Band 2 Cora und Georg Banek leben und arbeiten in Mainz, wo sie Mitte 2009 ihr Unternehmen um eine Fotoakademie (www.artepictura-akademie.de) erweitert haben. Vorher waren sie hauptsächlich

Mehr

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig.

Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig. WLAN-Sicherheit Der Autor ist seit dem Jahr 2001 bei der Firma GeNUA mbh als Security Consultant und gegenwärtig als Koordinator für Intrusion Detection tätig. Seine Aufgabengebiete sind: Penetration Testing/Auditing

Mehr

Basiswissen Software- Projektmanagement

Basiswissen Software- Projektmanagement Bernd Hindel. Klaus Hörmann. Markus Müller. Jürgen Schmied Basiswissen Software- Projektmanagement Aus- und Weiterbildung zum Certified Professional for Project Management nach isqi-standard 2., überarbeitete

Mehr

Datawarehousing mit SAP BW 7

Datawarehousing mit SAP BW 7 Christian Mehrwald Datawarehousing mit SAP BW 7 BI in SAP NetWeaver 2004s Architektur, Konzeption, Implementierung 4., vollständig überarbeitete und erweiterte Auflage Christian Mehrwald Christian.Mehrwald@quadox.de

Mehr

Abenteuer Softwarequalität

Abenteuer Softwarequalität Kurt Schneider Abenteuer Softwarequalität Grundlagen und Verfahren für Qualitätssicherung und Qualitätsmanagement 2., überarbeitete und erweiterte Auflage Prof. Dr. Kurt Schneider Kurt.Schneider@inf.uni-hannover.de

Mehr

Marcus Schießer Martin Schmollinger. Workshop Java EE 7. Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile

Marcus Schießer Martin Schmollinger. Workshop Java EE 7. Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile Marcus Schießer Martin Schmollinger Workshop Java EE 7 Ein praktischer Einstieg in die Java Enterprise Edition mit dem Web Profile Marcus Schießer marcus.schiesser@javaee7.de Martin Schmollinger martin.schmollinger@javaee7.de

Mehr

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag Martin Marinschek- Wolfgang Radinger Ruby on Rails Einstieg in die effiziente Webentwicklung [Tu dpunkt.verlag Inhaltsverzeichnis 1 Ruby on Rails -»Bitte Einsteigen«1 1.1 Web-Entwicklung und Entwicklung

Mehr

Social Media Analytics & Monitoring

Social Media Analytics & Monitoring Andreas Werner Social Media Analytics & Monitoring Verfahren und Werkzeuge zur Optimierung des ROI Andreas Werner aw@datenonkel.com Lektorat: Dr. Michael Barabas Copy-Editing: Annette Schwarz, Ditzingen

Mehr

Soft Skills für Softwareentwickler

Soft Skills für Softwareentwickler Uwe Vigenschow Björn Schneider Soft Skills für Softwareentwickler Fragetechniken, Konfliktmanagement, Kommunikationstypen und -modelle Unter Mitarbeit von Ines Meyrose Uwe Vigenschow Uwe.Vigenschow@oose.de

Mehr

Soft Skills für Softwareentwickler

Soft Skills für Softwareentwickler Soft Skills für Softwareentwickler Uwe Vigenschow arbeitet als Abteilungsleiter bei der Werum IT Solutions AG in Lüneburg, dem international führenden Anbieter von Manufacturing Execution Systems (MES)

Mehr

IT-Unternehmensarchitektur

IT-Unternehmensarchitektur Wolfgang Keller IT-Unternehmensarchitektur Von der Geschäftsstrategie zur optimalen IT-Unterstützung 2., überarbeitete und erweiterte Auflage Wolfgang Keller wk@objectarchitects.de Lektorat: Christa Preisendanz

Mehr

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple.

Ruby on Rails. Thomas Baustert Ralf Wirdemann www.b-simple.de. Alternative zur Web-Entwicklung mit Java? 27.06.2005 www.b-simple. Ruby on Rails Alternative zur Web-Entwicklung mit Java? Thomas Baustert Ralf Wirdemann www.b-simple.de 27.06.2005 www.b-simple.de 1 Überblick Was ist Ruby on Rails? Weblog Demo Rails Komponenten Controller,

Mehr

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. UML @ Classroom. Eine Einführung in die objektorientierte Modellierung

Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel. UML @ Classroom. Eine Einführung in die objektorientierte Modellierung Martina Seidl Marion Brandsteidl Christian Huemer Gerti Kappel UML @ Classroom Eine Einführung in die objektorientierte Modellierung Martina Seidl seidl@big.tuwien.ac.at Marion Brandsteidl brandsteidl@ifs.tuwien.ac.at

Mehr

Abenteuer Softwarequalität

Abenteuer Softwarequalität Abenteuer Softwarequalität Grundlagen und Verfahren für Qualitätssicherung und Qualitätsmanagement Bearbeitet von Kurt Schneider erweitert, überarbeitet 2012. Taschenbuch. 264 S. Paperback ISBN 978 3 89864

Mehr

Elisabeth Hendrickson Übersetzerin: Meike Mertsch www.dpunkt.de/plus

Elisabeth Hendrickson Übersetzerin: Meike Mertsch www.dpunkt.de/plus Explore It! Elisabeth Hendrickson (@testobsessed) arbeitet als Testerin, Entwicklerin und»agile-enabler«. Im Jahr 1980 schrieb sie ihre erste Codezeile und fand sofort ihre ersten Fehler. 2010 gewann sie

Mehr

ipad Air 2 und ipad mini 3

ipad Air 2 und ipad mini 3 Edition SmartBooks ipad Air 2 und ipad mini 3 ios 8 optimal einsetzen. Auch für ios 8 mit - ipad 2 und neuer - allen ipad mini - ipad Air von Uthelm Bechtel 1. Auflage dpunkt.verlag 2014 Verlag C.H. Beck

Mehr

Professionell blitzen mit dem Nikon Creative Lighting System

Professionell blitzen mit dem Nikon Creative Lighting System Mike Hagen Professionell blitzen mit dem Nikon Creative Lighting System dpunkt.verlag Mike Hagen Lektorat: Gerhard Rossbach Copy-Editing: Alexander Reischert (Redaktion ALUAN, Köln) Layout und Satz: Almute

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Andreas Spillner Tilo Linz Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard 5., überarbeitete und aktualisierte Auflage Andreas Spillner andreas.spillner@hs-bremen.de

Mehr

Basiswissen Softwaretest

Basiswissen Softwaretest Andreas Spillner. Tilo Linz Basiswissen Softwaretest Aus- und Weiterbildung zum Certified Tester Foundation Level nach ISTQB-Standard 3., überarbeitete und aktualisierte Auflage Andreas Spillner spillner@informatik.hs-bremen.de

Mehr

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen.

arbeitete im Max-Planck-Institut und an der Uni Köln. Von ihm sind bereits mehrere Bücher zu Webthemen erschienen. Werkzeuge fürs Web Vladimir Simovic ist Webworker, Blogger, Autor, Berater und Workshop-Leiter. Schwerpunkte seiner Arbeit sind die Erstellung von tabellenlosen CSS-Layouts sowie Dienstleistungen rund

Mehr

und -implementierungstechniken, Datenbanken & Java.

und -implementierungstechniken, Datenbanken & Java. Gunter Saake ist Professor für Datenbanken und Informationssysteme an der Uni Magdeburg und forscht unter anderem auf den Gebieten Datenbankintegration, digitale Bibliotheken, objektorientierte Informationssysteme

Mehr

Inhaltsverzeichnis. Michael Johann. Ruby on Rails für JEE-Experten. Umfassender Einstieg in Rails und JEE-Integration mit JRuby

Inhaltsverzeichnis. Michael Johann. Ruby on Rails für JEE-Experten. Umfassender Einstieg in Rails und JEE-Integration mit JRuby sverzeichnis Michael Johann Ruby on Rails für JEE-Experten Umfassender Einstieg in Rails und JEE-Integration mit JRuby ISBN: 978-3-446-41535-5 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41535-5

Mehr

Joachim Baumann Daniel Arndt Frank Engelen Frank Hardy Carsten Mjartan. Vaadin. Der kompakte Einstieg für Java-Entwickler

Joachim Baumann Daniel Arndt Frank Engelen Frank Hardy Carsten Mjartan. Vaadin. Der kompakte Einstieg für Java-Entwickler Joachim Baumann Daniel Arndt Frank Engelen Frank Hardy Carsten Mjartan Vaadin Der kompakte Einstieg für Java-Entwickler Joachim Baumann Joachim.Baumann@codecentric.de Daniel Arndt Daniel.Arndt@codecentric.de

Mehr

Kennzahlen in der IT

Kennzahlen in der IT Kennzahlen in der IT Dr. Martin Kütz ist geschäftsführender Gesellschafter der TESYCON GMBH und Fachberater für IT-Controlling und Projektmanagement. Er verfügt über langjährige Erfahrungen im IT-Management

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

Mehr

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007.

ASICMS. Das einfache php-framework. Anleitung und Referenz. ASICMS Das einfache php-framework by Andreas Kasper 25. August 2007. ASICMS Das einfache php-framework Anleitung und Referenz Seite 1 Inhaltsverzeichnis Inhaltsverzeichnis... 1 Inhaltsverzeichnis... 2 Einführung... 3 Was ist ASICMS?... 3 Was ist ein Widget?... 3 Installation...

Mehr

Managementsysteme für IT-Serviceorganisationen

Managementsysteme für IT-Serviceorganisationen Bernhard M. Huber Managementsysteme für IT-Serviceorganisationen Entwicklung und Umsetzung mit EFQM COBIT ISO 20000 ITIL Bernhard M. Huber Bernhard.Huber@qmvision.de Lektorat: Christa Preisendanz Copy-Editing:

Mehr

Grundlagen der Web-Entwicklung

Grundlagen der Web-Entwicklung Grundlagen der Web-Entwicklung Ruby on Rails Thomas Walter 10.01.2011 Version 1.0 aktuelles aktuelle Browserstatistiken Weltweit, Quelle www.netmarketshare.com 2 aktuelles aktuelle Browserstatistiken Europaweit,

Mehr

Michael Firnkes www.dpunkt.de/plus

Michael Firnkes www.dpunkt.de/plus Michael Firnkes ist Autor und hauptberuflicher Blogger. Er gehörte zu den ersten professionellen Bloggern im deutschsprachigen Raum mehrere Jahre lebte er komplett von den Werbeeinnahmen seiner Portale.

Mehr

Praxiswissen Softwaretest

Praxiswissen Softwaretest Praxiswissen Softwaretest Testmanagement Andreas Spillner ist Professor für Informatik an der Hochschule Bremen, Fakultät Elektrotechnik und Informatik. Er war über 10 Jahre Sprecher der Fachgruppe TAV»Test,

Mehr

Über die Autoren. www.dpunkt.de/plus

Über die Autoren. www.dpunkt.de/plus Über die Autoren Joan Lambert beschäftigt sich seit 1986 umfassend mit Microsoft-Technologien und ist seit 1997 in der Schulungs- und Zertifizierungsbranche tätig. Als Vorsitzende und CEO von Online Training

Mehr

Leitfaden Web-Usability

Leitfaden Web-Usability Frank Puscher Leitfaden Web-Usability Strategien, Werkzeuge und Tipps für mehr Benutzerfreundlichkeit Lektorat: Barbara Lauer Copy-Editing: Alexander Reischert Satz: Frank Heidt Herstellung: Frank Heidt

Mehr

Lebendige Webseiten mit Adobe Edge Animate

Lebendige Webseiten mit Adobe Edge Animate D3kjd3Di38lk323nnm Lebendige Webseiten mit Adobe Edge Animate Simon Widjaja ist Creative Coder, Autor und IT-Trainer aus purer Leidenschaft. Als erfahrener Flash-Entwickler und EdgeDesigner der ersten

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher

Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM. Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher Schlussbewertung FB VI SOFTWAREPROJEKT II WS 09/10 TEAM Alexander Kalden Dominik Eckelmann Marcel Pierry Julian Heise Besha Taher 729631 745097 736477 745011 741297 Inhalt Schlussbewertung... 3 Bewertung

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Microsoft SharePoint 2013 Designer

Microsoft SharePoint 2013 Designer Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste

Mehr

ios-apps programmieren mit Swift

ios-apps programmieren mit Swift Christian Bleske ios-apps programmieren mit Swift Der leichte Einstieg in die Entwicklung für iphone, ipad und Co. inkl. Apple Watch und Apple TV 2., aktualisierte und erweiterte Auflage Christian Bleske

Mehr

XP AntiSpy. Einführung. [ALL-ABOUT-PC] Die Freeware XP AntiSpy im Test

XP AntiSpy. Einführung. [ALL-ABOUT-PC] Die Freeware XP AntiSpy im Test [ALL-ABOUT-PC] Die Freeware XP AntiSpy im Test XP AntiSpy Einführung Viele Anwender des Betriebssystem Windows möchten einige automatische Einstellungen wieder rückgängig machen. Beispielsweise das automatisierte

Mehr

Professionelle Webentwicklung mit Ruby on Rails 2

Professionelle Webentwicklung mit Ruby on Rails 2 Jens-Christian Fischer Professionelle Webentwicklung mit Ruby on Rails 2 Das Praxisbuch für Entwickler mitp Über dieses Buch 15 Ein hilfreiches Buch? 15 Voraussetzungen 16 Aufbau des Buches 16 Ist dieses

Mehr

PHP Kurs Online Kurs Analysten Programmierer Web PHP

PHP Kurs Online Kurs Analysten Programmierer Web PHP PHP Kurs Online Kurs Analysten Programmierer Web PHP Akademie Domani info@akademiedomani.de Allgemeines Programm des Kurses PHP Modul 1 - Einführung und Installation PHP-Umgebung Erste Lerneinheit Introduzione

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

war er unter anderem als Chefarchitekt, Technischer Produktmanager und Berater bei verschiedenen IT-Unternehmen tätig.

war er unter anderem als Chefarchitekt, Technischer Produktmanager und Berater bei verschiedenen IT-Unternehmen tätig. D3kjd3Di38lk323nnm Stefan Tilkov beschäftigt sich seit Beginn der 90er-Jahre mit Architekturansätzen für große, verteilte Systemlandschaften. Von 1993 bis 1998 war er in verschiedenen Rollen bei einem

Mehr

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de

Rails Ruby on Rails Ajax on Rails. Clemens H. Cap http://wwwiuk.informatik.uni-rostock.de http://www.internet-prof.de Rails Ruby on Rails Ajax on Rails Who is who? Rails Ziel: Framework für Web (2.0) Anwungen Beschleunigung der Entwicklung Konzept des Agilen Programmierens Ruby Interpretierte Sprache Rails Integrationen

Mehr

juliteccrm Dokumentation

juliteccrm Dokumentation Customer Relationship Management für kleine und mittelständische Unternehmen juliteccrm Dokumentation 2012, julitec GmbH Page 1 of 12 julitec GmbH Flößaustraße 22 a 90763 Fürth Telefon: +49 911 979070-0

Mehr

Das Fuji X100 Handbuch

Das Fuji X100 Handbuch Michael Diechtierow Das Fuji X100 Handbuch Fotografieren mit der Fujifilm FinePix X100 Dr. Michael Diechtierow michi@dpunkt.de Lektorat: Gerhard Rossbach, Rudolf Krahm Technische Redaktion: Rudolf Krahm

Mehr

Tilo Linz ist Vorstand und Mitgründer der imbus AG, einem führenden Lösungsanbieter für Softwaretest und seit mehr als 20 Jahren

Tilo Linz ist Vorstand und Mitgründer der imbus AG, einem führenden Lösungsanbieter für Softwaretest und seit mehr als 20 Jahren Tilo Linz ist Vorstand und Mitgründer der imbus AG, einem führenden Lösungsanbieter für Softwaretest und seit mehr als 20 Jahren im Themengebiet Softwarequalitätssicherung und Softwaretest tätig. Als Gründer

Mehr

Andy Hunt. Programmieren lernen mit Minecraft-Plugins

Andy Hunt. Programmieren lernen mit Minecraft-Plugins Andy Hunt ist Autor bzw. Co-Autor von mehr als einem halben Dutzend Büchern rund um die Themen Pragmatic Programming und Agile. Er spricht regelmäßig und weltweit auf Entwicklerkonferenzen. Minecraft nutzt

Mehr

Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby

Ruby on Rails. Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby Ruby on Rails Einstieg in die effiziente Webentwicklung -Grundlagen und fortgeschrittene Konzepte -Ajax / Web 2.0 -Einführung in Ruby von Martin Marinschek, Wolfgang Radinger 1. Auflage Ruby on Rails Marinschek

Mehr

Agile Projekte mit Scrum, XP und Kanban im Unternehmen durchführen

Agile Projekte mit Scrum, XP und Kanban im Unternehmen durchführen Henning Wolf (Hrsg.) Agile Projekte mit Scrum, XP und Kanban im Unternehmen durchführen Erfahrungsberichte aus der Praxis Henning Wolf henning.wolf@it-agile.de Lektorat: Christa Preisendanz Copy-Editing:

Mehr

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen

MiGo-Portal V2.21. Produkt-Sheet. Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen. MiGo-WebDesign Wiesenstraße 31 56459 Kölbingen MiGo-Portal V2.21 Produkt-Sheet Aktueller Stand: 30.11.2012 Verfasst von: Mike Goldhausen Unser aktuelles Portal-System für Ihre individuelle Homepage. Dieses Portal bietet die Möglichkeit verschiedene

Mehr

Content Management System für die Webpräsenzen der Freien Universität Berlin

Content Management System für die Webpräsenzen der Freien Universität Berlin Content Management System für die Webpräsenzen der Freien Universität Berlin Entwicklungsperspektiven / Strategie zur Modernisierung des CMS Albert Geukes 25. Juni 2009 Themen Das kommende Release Fiona

Mehr

Rapid Web Development mit Ruby on Rails

Rapid Web Development mit Ruby on Rails Ralf Wirdemann, Thomas Baustert Rapid Web Development mit Ruby on Rails ISBN-10: 3-446-41498-3 ISBN-13: 978-3-446-41498-3 Vorwort Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-41498-3

Mehr

Dr. Michael Diechtierow

Dr. Michael Diechtierow Dr. Michael Diechtierow michi@dpunkt.de Lektorat: Gerhard Rossbach, Rudolf Krahm Technische Redaktion: Rudolf Krahm Korrektorat: Sandra Gottmann Satz: Anna Diechtierow Herstellung: Birgit Bäuerlein Umschlaggestaltung:

Mehr