SlideShare ist ein Scribd-Unternehmen logo
Ruby On Rails
 A Web Application Framework




              1
Überblick
Wiederholgung Ruby
Einführung in Rails
Installation und Einrichtung
“Hello World”
Real World Example
Weitere Features
Ressourcen
                               2
Wiederholung Ruby


        3
Ruby?
Ruby ist eine vollständig
objektorientierte
Skriptsprache

Das Beste von Perl und
Python

Public release 1995 durch
Yukihiro Matsumoto,
a.k.a “Matz”

                            4
Wichtigste Eigenschaften

 Interpretierte Skriptsprache
 Aktuell ist Ruby 1.8.2
 Komplett Objekt-Orientiert
 Dynamische Typbindung
 Verfügbar über GPL oder eigene Lizenz

                                         5
5.times do puts “ruby ist cool”.upcase end



Output:
RUBY IST   COOL
RUBY IST   COOL
RUBY IST   COOL
RUBY IST   COOL
RUBY IST   COOL



                     6
Grundregeln
Kein Semikolon am Ende der Zeile (bei
einer Anweisung pro Zeile)
Keine geschweiften Klammern zur
Deklaration vom Blöcken, sondern
“xxxx......end”
Keine Deklaration von Variablen!
() können bei Methoden weggelassen
werden                                  7
a=9
b=1
c=a+b
print c ; c = “Hi”; print c
d = c.length + c.index(”i”)
c = -99.abs
ein_string = String.new(”HALLO”)
auch_ein_string = ‘a’ + “bcdefg #{c}”




                     8
Funktionen/Methoden
 Einleitung mit
def funktions_name(argument)
....
end
 implizites return des letzten
 Ausdruckes (wie überall in Ruby)
                                    9
def my_func
 puts “abc”
 99
end
def my_func2(a, b)
 return a+b
end
def a; “a”; end

ergebnis = my_func(1,2)
a()
                     10
class Person
  @name                  #Instanz-var
  @alter                  #Instanz-var
  @@anzahl_auf_der_welt #Klassen-var
  MAX_ALTER = 100          #Konstante
  def check_alter(alter)   #Instanz-meth
    alter < Person::MAX_ALTER
  end
end

a = Person.new
if a.check_alter(90)
  puts “jung genug”
end                    11
class Person
  def Person.how_many
    @@anzahl_auf_der_welt
  end
end

anzahl = Person.how_many




                   12
Iteratoren
Iteratoren sind Funktionen, die Blocks
repetitiv aufrufen
Finden dort Einsatz, wo andere
Sprachen normalerweise Schleifen
nutzen würden
Intuitiv zu benutzten

                                         13
5.times { puts “Hi”}

a = [1, 2]
a.each do |the_one|
  print the_one
end

[”H”, “A”, “L”].collect {|x| x.succ} --> [”I”, “B”, “M”]

[1, 2, 3, 5, 7, 9].find {|v| v*v > 30} --> 7




                        14
begin

 funktion_die_schief_laufen_kann(1,2,”aaa”)

rescue StandardError

 puts “Fehler aufgetreten”

ensure

 puts “wird immer ausgeführt”

end


                    15
Ruby on Rails
    Einführung




        16
Ruby on Rails

Framework für Web-Anwendungen
Model-View-Controller Ansatz
Nur eine Konfigurationsdatei:
Datenbank Zugangsdaten
Convention over configuration

                                17
Model-View-Controller
Design-Pattern für Programme mit
Interaktion mit dem Benutzer
KLassen werden in drei Gruppen
eingeteilt, die sich auf ihre jeweillige
Aufgabe spezialisieren
Vorteil: Entkopplung und somit
Wiederverwendbarkeit
                                           18
Model

Klasse, die das Business-Objekt abbildet
mit allen seinen Funktionalitäten
BSP:
Klasse Benutzer
Klasse Buch

                                           19
View
Eigentliche Darstellung für den User
Keine Funktionalität, nur Design
+Anzeige
BSP:
 Template, dass alle Bücher im System
 anzeigt
  Template, dass alle Bücher eines
 Benutzers anzeigt
                                        20
Controller
Verbindung zwischen Model und View
Lädt benötigte Daten aus dem Model
und füttert sie in den View
Prozess-Logik
BSP:
 Lade alle Bücher im System und gebe
 sie dem richtigem Template
                                       21
Rails-Architektur




                    22
Active Record

Model
Verbindet Ruby-Klasse mit Daten aus
der Datenbank
Bereitstellung von Funktionen zur
Manipulation der Daten in der DB

                                      23
Action Controller

Controller
Bietet die eigentlichen Funktionalitäten
an, mit denen der Benutzer interagiert
Lädt den passenden Action View


                                           24
Action View

View
Ruby Template
HTML mit ERb-tags
Das was der Benutzer zu sehen
bekommt

                                25
Installation und
  Einrichtung



       26
Was brauchen wir?

Ruby
rubygems zum Installieren von gems
Rails & co rubygems
Datenbank
Webserver

                                     27
Ruby

 Windows Binary Installer:
http://rubyforge.org/projects/
rubyinstaller/
 UNIX:
RPM, DEB, Sourcen, Port,...

                                 28
Rubygems
 Paketverwaltung für Bibliotheken (vgl.
 CPAN und PEAR)
 Verwaltung von Paketen
gem install NAME
gem update
u.s.w....
                                          29
Rails


 Unser Eigentliches Framework
 Installation über rubygems
gem install rails



                                30
Datenbank
Rails unterstützt folgende
Datenbanken:
MySQL
PostgreSQL
SQLite
Sybase
Oracle
MSSQL
                             31
Webserver
 Rails kommt mit eigenem Webserver,
 WEBrick
Ansonsten:
 CGI --> Jeder Webserver mit CGI
 mod_ruby + Apache
 FCGI für Apache oder Lighttpd
                                      32
Hello World



     33
Erste Schritte

Daten-Struktur
Konfiguration und Environments
Kontrollfluß
“Hello World” ausgeben


                                 34
Applikation erstellen
# rails myapplication

# ls myapplication/




                        35
Datenbank Verbindung
config/database.yml




                     36
Umgebungen
Development
  Standard
  Loggin an, caching aus, debug an
Production
  Loggin an, caching an, debug aus
Test
  alles aus                          37
Generator

Models,Views und Controller können per
Hand erstellt werden
Generator hilft aus:
ruby script/generator model Buch
ruby script/generator controller Laden

                                         38
Scaffold Generator
Generiert Standard Views und
Controller für Model:
 New
 Edit
 List
 Destroy
Nützlich für den Anfang        39
Controller generieren
# ruby script/generate controller sagwas




                    40
Action einfügen
# vi app/controller/sagwas_controler.rb




                    41
Webserver starten
# ruby script/server




                       42
Browser starten




http://server/controller/action/[argumente]




                     43
Real World Example
     OnlineShop in Rails




             44
Funktionalität

Admin: Einstellen und Bearbeiten von
Artikeln
Store: Ansehen und Warenkorb
Admin: Bestellungen bearbeiten


                                       45
Vorgehen - Admin


Erstellen von DB-Tabellen
Generieren von Model+Controller
Validieren eines gültigen Artikels



                                     46
# rails depot

# cd depot

# vi config/database.yml

# ruby script/generate scaffold Product Admin




                    47
Validation

 ActiveRecord bietet
 Validierungsfunktionen an, die vor
 dem Speichern aufgerufen werden:
validate_presence_of :name, :vorname


                                       48
Validation




    49
Anpassen der
Templates
Templates sind RHTML, d.h HTML +
Ruby code:
<% normaler rubycode %>
<%= ergebnis wird ausgegeben %>
<%=h ergebnis wird HTML escaped %>

                                     50
Weitere Features



       51
The Web, V2.0

Rails integriert JavaScript Bibliotheken,
die folgenes ermöglichen:
 Ajax
 Effects


                                            52
The Web, V2.0 - AJAX




                       53
The Web, V2.0 - AJAX




                       54
The Web, V2.0



       DEMO


                55
Remote Debugging


Über ruby script/console bekommt man
eine IRB session zur Rails-Umgebung
Das geht auch remote!



                                       56
Sicherheit

 Schutz gegen CSS/XSS mit
 <%h .... %>
 Schutz gegen SQLInjection mit
User.find(:all, conditions =>
        [“name=?”, #{params[:name]}]

                                       57
Caching

Rails bietet von sich aus drei Caching
Einstellung
Page caching
Action caching
Fragment caching

                                         58
ActionMail


Senden und Empfangen von Mail in
RailsApplikationen
Senden über Templates



                                   59
Ressourcen



    60
Mailing Listen


ruby-talk@ruby-lang.org
rails@lists.rubyonrails.com




                              61
Webseiten


www.rubyonrails.com
poignantguide.net/ruby
mir.aculo.us / script.aculo.us



                                 62
Bücher

Programming Ruby




Agile Web Development with
Rails

                             63
Fin
Fragen?




  64

Weitere ähnliche Inhalte

Was ist angesagt?

Konfigurationsmanagement mit Opscode Chef
Konfigurationsmanagement mit Opscode ChefKonfigurationsmanagement mit Opscode Chef
Konfigurationsmanagement mit Opscode Chef
Konrad Ferdinand Heimel
 
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"
schellsoft
 
Seminar Joomla 1.5 SEF-Mechanismus
Seminar Joomla 1.5 SEF-MechanismusSeminar Joomla 1.5 SEF-Mechanismus
Seminar Joomla 1.5 SEF-Mechanismus
Fabian Becker
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
A. LE
 
JBoss AS / EAP Clustering
JBoss AS / EAP  ClusteringJBoss AS / EAP  Clustering
JBoss AS / EAP Clustering
hwilming
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
FromDual GmbH
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
Lenz Grimmer
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
GFU Cyrus AG
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
FromDual GmbH
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heute
Philipp Burgmer
 
Ruby On Rails Hermann Stern Bcklu
Ruby On Rails Hermann Stern BckluRuby On Rails Hermann Stern Bcklu
Ruby On Rails Hermann Stern Bcklu
Hermann.Stern
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
Oliver Thiele
 
Pimcore
PimcorePimcore
Pimcore
timglabisch
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
marco-huber
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
Dirk Ginader
 

Was ist angesagt? (16)

Konfigurationsmanagement mit Opscode Chef
Konfigurationsmanagement mit Opscode ChefKonfigurationsmanagement mit Opscode Chef
Konfigurationsmanagement mit Opscode Chef
 
Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"Auszug Seminarunterlagen "Tomcat 6.x"
Auszug Seminarunterlagen "Tomcat 6.x"
 
Seminar Joomla 1.5 SEF-Mechanismus
Seminar Joomla 1.5 SEF-MechanismusSeminar Joomla 1.5 SEF-Mechanismus
Seminar Joomla 1.5 SEF-Mechanismus
 
Übersicht Skriptsprachen
Übersicht SkriptsprachenÜbersicht Skriptsprachen
Übersicht Skriptsprachen
 
JBoss AS / EAP Clustering
JBoss AS / EAP  ClusteringJBoss AS / EAP  Clustering
JBoss AS / EAP Clustering
 
DOAG: NoSQL with MySQL
DOAG: NoSQL with MySQLDOAG: NoSQL with MySQL
DOAG: NoSQL with MySQL
 
MySQL Hochverfügbarkeitslösungen
MySQL HochverfügbarkeitslösungenMySQL Hochverfügbarkeitslösungen
MySQL Hochverfügbarkeitslösungen
 
Neue Features der Java EE 6
Neue Features der Java EE 6Neue Features der Java EE 6
Neue Features der Java EE 6
 
Internet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQLInternet Briefing 2011: NoSQL with MySQL
Internet Briefing 2011: NoSQL with MySQL
 
EnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heuteEnterJS 2015 - JavaScript von Morgen schon heute
EnterJS 2015 - JavaScript von Morgen schon heute
 
Ruby On Rails Hermann Stern Bcklu
Ruby On Rails Hermann Stern BckluRuby On Rails Hermann Stern Bcklu
Ruby On Rails Hermann Stern Bcklu
 
Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Pimcore
PimcorePimcore
Pimcore
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
 
PHP Sucks?!
PHP Sucks?!PHP Sucks?!
PHP Sucks?!
 
Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010Javascript auf Client und Server mit node.js - webtech 2010
Javascript auf Client und Server mit node.js - webtech 2010
 

Ähnlich wie An Introduction to Ruby On Rails

Einführung in Ruby On Rails
Einführung in Ruby On RailsEinführung in Ruby On Rails
Einführung in Ruby On Rails
foobar2605
 
An Introduction to Ruby
An Introduction to RubyAn Introduction to Ruby
An Introduction to Ruby
Jonathan Weiss
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
Virttoo org
 
Domain Driven Design in Rails
Domain Driven Design in RailsDomain Driven Design in Rails
Domain Driven Design in Rails
Angelo Maron
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Josef Adersberger
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
QAware GmbH
 
Node.js
Node.jsNode.js
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails Einführung
Reinhold Weber
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
inovex GmbH
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
Tobias Kraft
 
Windows Server 8 - eine Vorschau
Windows Server 8 - eine VorschauWindows Server 8 - eine Vorschau
Windows Server 8 - eine Vorschau
Digicomp Academy AG
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
GFU Cyrus AG
 
Informatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und GrailsInformatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und Grails
schmichri
 
ASP.NET MVC 2 - Eine Einführung
ASP.NET MVC 2 - Eine EinführungASP.NET MVC 2 - Eine Einführung
ASP.NET MVC 2 - Eine Einführung
NETUserGroupBern
 
Ruby on Rails SS09 02
Ruby on Rails SS09 02Ruby on Rails SS09 02
Ruby on Rails SS09 02
Daniel Dengler
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails Applications
Jonathan Weiss
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
Daniel Andrisek
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
vesparun
 

Ähnlich wie An Introduction to Ruby On Rails (20)

Einführung in Ruby On Rails
Einführung in Ruby On RailsEinführung in Ruby On Rails
Einführung in Ruby On Rails
 
An Introduction to Ruby
An Introduction to RubyAn Introduction to Ruby
An Introduction to Ruby
 
Ruby on Rails in a metro session
Ruby on Rails in a metro sessionRuby on Rails in a metro session
Ruby on Rails in a metro session
 
Ruby on Rails SS09 11
Ruby on Rails SS09 11Ruby on Rails SS09 11
Ruby on Rails SS09 11
 
Domain Driven Design in Rails
Domain Driven Design in RailsDomain Driven Design in Rails
Domain Driven Design in Rails
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Node.js
Node.jsNode.js
Node.js
 
Ruby On Rails Einführung
Ruby On Rails EinführungRuby On Rails Einführung
Ruby On Rails Einführung
 
Serverprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen InfrastrukturServerprovisioning in einer dynamischen Infrastruktur
Serverprovisioning in einer dynamischen Infrastruktur
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Windows Server 8 - eine Vorschau
Windows Server 8 - eine VorschauWindows Server 8 - eine Vorschau
Windows Server 8 - eine Vorschau
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
Informatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und GrailsInformatik Seminar Groovy Und Grails
Informatik Seminar Groovy Und Grails
 
Ruby on Rails SS09 04
Ruby on Rails SS09 04Ruby on Rails SS09 04
Ruby on Rails SS09 04
 
ASP.NET MVC 2 - Eine Einführung
ASP.NET MVC 2 - Eine EinführungASP.NET MVC 2 - Eine Einführung
ASP.NET MVC 2 - Eine Einführung
 
Ruby on Rails SS09 02
Ruby on Rails SS09 02Ruby on Rails SS09 02
Ruby on Rails SS09 02
 
Refactoring Rails Applications
Refactoring Rails ApplicationsRefactoring Rails Applications
Refactoring Rails Applications
 
Deployment 2.0
Deployment 2.0Deployment 2.0
Deployment 2.0
 
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in RubyPerformanter, hochskalierbarer Web 2.0-Dienst in Ruby
Performanter, hochskalierbarer Web 2.0-Dienst in Ruby
 

Mehr von Jonathan Weiss

Docker on AWS OpsWorks
Docker on AWS OpsWorksDocker on AWS OpsWorks
Docker on AWS OpsWorks
Jonathan Weiss
 
ChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The HoodChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The Hood
Jonathan Weiss
 
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
Jonathan Weiss
 
DevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloudDevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloud
Jonathan Weiss
 
Amazon SWF and Gordon
Amazon SWF and GordonAmazon SWF and Gordon
Amazon SWF and Gordon
Jonathan Weiss
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
Jonathan Weiss
 
Scalarium and CouchDB
Scalarium and CouchDBScalarium and CouchDB
Scalarium and CouchDB
Jonathan Weiss
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollective
Jonathan Weiss
 
NoSQL - Motivation and Overview
NoSQL - Motivation and OverviewNoSQL - Motivation and Overview
NoSQL - Motivation and Overview
Jonathan Weiss
 
NoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBNoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDB
Jonathan Weiss
 
Running on Amazon EC2
Running on Amazon EC2Running on Amazon EC2
Running on Amazon EC2
Jonathan Weiss
 
Amazon EC2 in der Praxis
Amazon EC2 in der PraxisAmazon EC2 in der Praxis
Amazon EC2 in der Praxis
Jonathan Weiss
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
Jonathan Weiss
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloud
Jonathan Weiss
 
EventMachine
EventMachineEventMachine
EventMachine
Jonathan Weiss
 
CouchDB on Rails
CouchDB on RailsCouchDB on Rails
CouchDB on Rails
Jonathan Weiss
 
Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2
Jonathan Weiss
 
CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010
Jonathan Weiss
 
CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010
Jonathan Weiss
 
NoSQL - Post-Relational Databases - BarCamp Ruhr3
NoSQL - Post-Relational Databases - BarCamp Ruhr3NoSQL - Post-Relational Databases - BarCamp Ruhr3
NoSQL - Post-Relational Databases - BarCamp Ruhr3
Jonathan Weiss
 

Mehr von Jonathan Weiss (20)

Docker on AWS OpsWorks
Docker on AWS OpsWorksDocker on AWS OpsWorks
Docker on AWS OpsWorks
 
ChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The HoodChefConf 2014 - AWS OpsWorks Under The Hood
ChefConf 2014 - AWS OpsWorks Under The Hood
 
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
AWS OpsWorks & Chef at the Hamburg Chef User Group 2014
 
DevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloudDevOpsDays Amsterdam - Observations in the cloud
DevOpsDays Amsterdam - Observations in the cloud
 
Amazon SWF and Gordon
Amazon SWF and GordonAmazon SWF and Gordon
Amazon SWF and Gordon
 
Introduction to Backbone.js
Introduction to Backbone.jsIntroduction to Backbone.js
Introduction to Backbone.js
 
Scalarium and CouchDB
Scalarium and CouchDBScalarium and CouchDB
Scalarium and CouchDB
 
Build your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollectiveBuild your own clouds with Chef and MCollective
Build your own clouds with Chef and MCollective
 
NoSQL - Motivation and Overview
NoSQL - Motivation and OverviewNoSQL - Motivation and Overview
NoSQL - Motivation and Overview
 
NoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDBNoSQL - An introduction to CouchDB
NoSQL - An introduction to CouchDB
 
Running on Amazon EC2
Running on Amazon EC2Running on Amazon EC2
Running on Amazon EC2
 
Amazon EC2 in der Praxis
Amazon EC2 in der PraxisAmazon EC2 in der Praxis
Amazon EC2 in der Praxis
 
Infrastructure Automation with Chef
Infrastructure Automation with ChefInfrastructure Automation with Chef
Infrastructure Automation with Chef
 
Rails in the Cloud
Rails in the CloudRails in the Cloud
Rails in the Cloud
 
EventMachine
EventMachineEventMachine
EventMachine
 
CouchDB on Rails
CouchDB on RailsCouchDB on Rails
CouchDB on Rails
 
Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2Rails in the Cloud - Experiences from running on EC2
Rails in the Cloud - Experiences from running on EC2
 
CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010CouchDB on Rails - RailsWayCon 2010
CouchDB on Rails - RailsWayCon 2010
 
CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010CouchDB on Rails - FrozenRails 2010
CouchDB on Rails - FrozenRails 2010
 
NoSQL - Post-Relational Databases - BarCamp Ruhr3
NoSQL - Post-Relational Databases - BarCamp Ruhr3NoSQL - Post-Relational Databases - BarCamp Ruhr3
NoSQL - Post-Relational Databases - BarCamp Ruhr3
 

An Introduction to Ruby On Rails