[Login] [Registrieren] [Passwort vergessen] 25
 
 






Geprüfter Online-Shop

Galileo Computing. Wissen, wie’s geht.


Zum Buch Ruby on Rails 2 Ruby on Rails 2
Das Entwickler-Handbuch
978-3-89842-779-1
Inhaltsverzeichnis

TEIL I ... GRUNDLAGEN

1 ... Einführung ... 27

1.1 ... Wie entstand Rails? ... 27
1.2 ... Warum Ruby? ... 28
1.3 ... ModelViewController ... 30
1.4 ... Datenbankpersistenz ... 31
1.5 ... Konvention statt Konfiguration ... 31
1.6 ... Das DRY-Prinzip ... 32
1.7 ... Das neue Web 2.0 ... 32
1.8 ... Neues in Rails2.0.x ... 33
1.9 ... Update auf Rails 2.0.x ... 36

2 ... Installation ... 41

2.1 ... Allgemeines ... 41
2.2 ... Installation unter Mac OSX ... 42
... 2.2.1 ... Updaten von Komponenten unter Leopard ... 43
... 2.2.2 ... Installation von My SQL unter Leopard ... 44
... 2.2.3 ... Installation von Ruby on Rails mit MacPorts ... 45
2.3 ... Installation unter Windows ... 48
... 2.3.1 ... Installation von InstantRails ... 48
... 2.3.2 ... Der Instant RailsManager ... 49
... 2.3.3 ... Eine Rails-Applikation erstellen und starten ... 49
... 2.3.4 ... Datenbankenverwalten mit phpMyAdmin ... 52
... 2.3.5 ... Gem-Pakete verwalten ... 52
... 2.3.6 ... Generatoren ... 53
2.4 ... InstallationunterLinux ... 53
... 2.4.1 ... Installation von MySQL ... 53
... 2.4.2 ... Installation von SQLite3 ... 54
... 2.4.3 ... Installation von PostgreSQL ... 54
... 2.4.4 ... Installation von Ruby ... 54
... 2.4.5 ... Installation von RubyGems ... 54
... 2.4.6 ... Installation von Rails und anderen Gem-Paketen ... 55
2.5 ... Editoren und Entwicklungsumgebungen ... 55
... 2.5.1 ... TextMate ... 55
... 2.5.2 ... E-Text-Editor ... 56
... 2.5.3 ... Vim ... 56
... 2.5.4 ... Emacs ... 56
... 2.5.5 ... Aptana ... 56
... 2.5.6 ... NetBeans ... 57
... 2.5.7 ... IntelliJIDEA ... 57
... 2.5.8 ... CodeGear3rdRail ... 58
... 2.5.9 ... Visual Studio ... 58

3 ... Erste Schritte ... 59

3.1 ... Eine Rails-Applikation erstellen ... 59
3.2 ... Der lokale Rails-Server ... 60
3.3 ... Grundgerüst mit Scaffolds erstellen ... 61
3.4 ... Die Applikation im Browser aufrufen ... 63
3.5 ... HTTP-Authentifizierung ... 64

4 ... Einführung in Ruby ... 67

4.1 ... Was ist Ruby? ... 67
4.2 ... Ruby-Code ausführen ... 68
... 4.2.1 ... Quelltext ... 69
... 4.2.2 ... Interaktive RubyShell–irb ... 69
... 4.2.3 ... Im Webbrowser TryRuby ... 70
4.3 ... Grundlagen ... 71
... 4.3.1 ... Variablen ... 72
... 4.3.2 ... Objekte und Datentypen ... 73
... 4.3.3 ... Verzweigungen ... 78
... 4.3.4 ... Überprüfen auf Gleichheit ... 81
... 4.3.5 ... Schleifen ... 82
... 4.3.6 ... Klassen ... 84
4.4 ... Zahlen ... 88
4.5 ... Zeichenketten ... 91
... 4.5.1 ... here-document ... 93
... 4.5.2 ... Ausdrücke in Zeichenketten ... 94
... 4.5.3 ... Die Methode length ... 95
... 4.5.4 ... Die Methode split ... 96
... 4.5.5 ... Zeichenketten formatieren ... 97
... 4.5.6 ... Groß- und Kleinschrift ... 98
... 4.5.7 ... Teilstrings ... 99
... 4.5.8 ... In Zeichenketten suchen ... 101
... 4.5.9 ... Etwas einer Zeichenkette hinzufügen ... 102
... 4.5.10 ... Angehängte Zeichen löschen ... 103
... 4.5.11 ... Leerräume löschen ... 104
... 4.5.12 ... Zeichenketten wiederholen ... 104
... 4.5.13 ... Komma-separierte Daten analysieren ... 104
... 4.5.14 ... Strings in Zahlenkonvertieren ... 105
... 4.5.15 ... Zeichenketten verschlüsseln ... 107
... 4.5.16 ... Zeichen in einer Zeichenkette zählen ... 108
... 4.5.17 ... Eine Zeichenkette umkehren ... 108
... 4.5.18 ... Doppelte Zeichen entfernen ... 109
... 4.5.19 ... Bestimmte Zeichen entfernen ... 109
... 4.5.20 ... Leerräume drucken ... 110
4.6 ... Symbole ... 110
4.7 ... Reguläre Ausdrücke ... 111
... 4.7.1 ... Syntax von Regulären Ausdrücken ... 111
... 4.7.2 ... Anwendungsbeispiele aus der Praxis ... 113
4.8 ... Arrays ... 116
... 4.8.1 ... Ein Array erzeugen ... 116
... 4.8.2 ... Auf Arrayelemente zugreifen ... 117
... 4.8.3 ... Auf die Länge eines Arrays zugreifen ... 120
... 4.8.4 ... Arrays vergleichen ... 120
... 4.8.5 ... Ein Array sortieren ... 121
... 4.8.6 ... Ein Array zufällig sortieren ... 123
... 4.8.7 ... Nach Elementen in einem Array suchen ... 123
... 4.8.8 ... Differenz zwischen zwei Arrays bestimmen ... 125
... 4.8.9 ... nil-Werte aus einem Array entfernen ... 126
... 4.8.10 ... Bestimmte Array-Elemente entfernen ... 126
... 4.8.11 ... Ein Array umkehren ... 127
... 4.8.12 ... Doppelte Einträge aus einem Array löschen ... 128
... 4.8.13 ... Iteratoren ... 128
4.9 ... Hashes ... 130
... 4.9.1 ... Einen Hash erzeugen ... 130
... 4.9.2 ... Zugriff auf Elemente eines Hashs ... 132
... 4.9.3 ... Schlüssel-Wert-Paare löschen ... 134
... 4.9.4 ... Über einen Hash iterieren ... 135
... 4.9.5 ... Schlüssel und Wert in einem Hash vertauschen ... 136
... 4.9.6 ... Schlüssel und Wert ein einem Hash finden ... 136
... 4.9.7 ... Einen Hash in ein Array extrahieren ... 137
... 4.9.8 ... Nach Schlüssel-Wert-Paaren suchen ... 138
... 4.9.9 ... Einen Hash sortieren ... 138
... 4.9.10 ... Zwei Hashes miteinander mischen ... 139
... 4.9.11 ... Einen Hash aus einem Array erzeugen ... 139
4.10 ... Datum und Zeit ... 139
... 4.10.1 ... Die aktuelle Zeit bestimmen ... 140
... 4.10.2 ... Mit bestimmten Zeiten arbeiten ... 140
... 4.10.3 ... Einen Wochentag bestimmen ... 141
... 4.10.4 ... Mit der Unix-Zeitarbeiten ... 142
... 4.10.5 ... Einen Tag im Jahr ermitteln ... 142
... 4.10.6 ... Wochenzahlen ermitteln ... 143
... 4.10.7 ... Schaltjahre bestimmen ... 144
... 4.10.8 ... Uhrzeiten ausgeben ... 144
... 4.10.9 ... Datums- und Zeitwerte vergleichen ... 145
... 4.10.10 ... Mit Datums-und Zeitwerten rechnen ... 145
... 4.10.11 ... Datums- und Zeitwerte aus Zeichenketten ermitteln ... 146
4.11 ... Module ... 147
... 4.11.1 ... Namensräume ... 147
... 4.11.2 ... Mix ins ... 148

TEIL II: ... BEISPIEL-APPLIKATIONEN

5 ... Eine einfache Bookmarkverwaltung ... 153

5.1 ... Rails-Projekt erstellen ... 154
... 5.1.1 ... Erstellung des Bookmarks-Controllers ... 156
... 5.1.2 ... View erstellen ... 159
5.2 ... Weitere Views anlegen ... 163
5.3 ... Layout ... 165
5.4 ... Model ... 171
... 5.4.1 ... Migrations ... 173
... 5.4.2 ... Active Record ... 175
... 5.4.3 ... Datenbankzugriff in der Konsole testen ... 176
5.5 ... CRUD–Create–Read–Update–Delete ... 180
5.6 ... Fehlerbehandlung in Formularen ... 192
5.7 ... Flash-Messages ... 197
5.8 ... Refaktorisierung mit Helper und Partials ... 200
... 5.8.1 ... Helper ... 200
... 5.8.2 ... Partials ... 203
5.9 ... Authentifizierung ... 206
5.10 ... Routing ... 216
... 5.10.1 ... Benannte Routen ... 220
... 5.10.2 ... Dieroot-Route ... 221
5.11 ... RESTful Rails ... 223
5.12 ... Darstellungsformate in RESTfulRails ... 230
5.13 ... Ajax ... 232
... 5.13.1 ... Einbinden von JavaScript-Bibliotheken für Ajax ... 233
... 5.13.2 ... Ajaxbasierte Formulare ... 234
... 5.13.3 ... Ajax im Controller ... 235
... 5.13.4 ... RJS-Templates ... 237

6 ... Test-Driven Development ... 241

6.1 ... Was ist TDD? ... 241
6.2 ... Vorstellung des Projekts ... 243
6.3 ... Projekt erstellen und konfigurieren ... 245
6.4 ... Unit-Tests ... 246
... 6.4.1 ... Erstellung des Country-Models ... 246
... 6.4.2 ... Erstellung des Airport-Models ... 257
... 6.4.3 ... Erstellung des Flight-Models ... 264
6.5 ... Functional-Tests erstellen ... 269
... 6.5.1 ... Der Functional-Test des Flights-Controllers ... 270
... 6.5.2 ... Fixtures in die Entwicklungsdatenbank laden ... 274
... 6.5.3 ... Anzeigender Flughafen-Codes ... 275
... 6.5.4 ... Datumswerte formatieren ... 276
... 6.5.5 ... Select-Felder zur Flughafenauswahl ... 277
... 6.5.6 ... Weitere Funktionen zur Übung ... 279
... 6.5.7 ... Integration-/Acceptance-Tests erstellen ... 279
... 6.5.8 ... Integration-Test mit Rails ... 280
6.6 ... Autotest ... 282
... 6.6.1 ... Installation ... 282
... 6.6.2 ... Verwendung ... 282
6.7 ... Referenz ... 283
... 6.7.1 ... Rake-Tasks für Tests ... 283
... 6.7.2 ... Die wichtigsten Assert-Befehle ... 283

TEIL III: ... DAS RAILS-FRAMEWORK

7 ... Rails-Projekte erstellen ... 289

7.1 ... Generieren eines Rails-Projektes ... 289
... 7.1.1 ... Datenbank festlegen ... 289
... 7.1.2 ... Freeze Rails ... 290
... 7.1.3 ... Rails-Befehl auf vorhandenem Projekt anwenden ... 291
... 7.1.4 ... Sonstige Optionen ... 291
7.2 ... Verzeichnisstruktur einer Rails-Applikation ... 292
7.3 ... Namenskonventionen ... 294
7.4 ... Datenbank-Konfiguration ... 296
7.5 ... Umgebungseinstellungen ... 299
... 7.5.1 ... Entwicklungsumgebung (development) ... 300
... 7.5.2 ... Produktionsumgebung (production) ... 300
... 7.5.3 ... Testumgebung (test) ... 302
... 7.5.4 ... Eigene Umgebungen anlegen ... 303
... 7.5.5 ... Cleanup your environment ... 303
7.6 ... Generatoren ... 304
... 7.6.1 ... Verwendung ... 304
... 7.6.2 ... Übersicht aller Generatoren ... 305
... 7.6.3 ... Rückgängig machen ... 307
7.7 ... Rails-Konsole ... 308
7.8 ... Lokaler Server ... 309
7.9 ... Logging ... 310
7.10 ... Debugging ... 311
... 7.10.1 ... Installation von ruby-debug ... 311
... 7.10.2 ... Breakpoint setzen ... 312
... 7.10.3 ... Server mit Debugger starten ... 312
... 7.10.4 ... Debugger-Konsole ... 313
... 7.10.5 ... Ausführung fortsetzen ... 313
7.11 ... Rake ... 314
7.12 ... EdgeRails ... 319
7.13 ... Ein Rails-Projekt in Subversion überführen ... 319
... 7.13.1 ... Ein Rails-Projekt in Subversion importieren ... 320
... 7.13.2 ... Ein Rails-Projekt aus Subversion auschecken ... 322
... 7.13.3 ... Ignorieren von Dateien ... 322

8 ... Templatesystem mit ActionView ... 325

8.1 ... ERB-Templates ... 326
8.2 ... Erstellung von Templates ... 328
8.3 ... Helper ... 329
... 8.3.1 ... Helper für Verlinkungen ... 330
... 8.3.2 ... Helper zum Einbinden von Stylesheets und JavaScripts ... 337
... 8.3.3 ... Helper zur Zahlenformatierung ... 339
... 8.3.4 ... Helper zur Textmanipulation ... 342
... 8.3.5 ... Helper zur Textformatierung ... 345
... 8.3.6 ... Helper zur Entfernung von HTML-Code ... 346
... 8.3.7 ... Sonstige Helper ... 347
... 8.3.8 ... Eigene Helper entwickeln ... 350
8.4 ... Layouts ... 351
8.5 ... Formulare ... 353
... 8.5.1 ... Formulare mit Bezug zu einem Model ... 353
... 8.5.2 ... Validierung ... 379
... 8.5.3 ... Formulare mit Bezug zu mehr als einem Model ... 385
... 8.5.4 ... Formulare ohne Bezug zu einem Model ... 387
8.6 ... Partials ... 389
... 8.6.1 ... Übergabe von Parametern mit: locals ... 391
... 8.6.2 ... Partials mit Ressourcen ... 392
... 8.6.3 ... Shared Partials ... 394
... 8.6.4 ... Layout-Partials ... 396
8.7 ... Alternative Template-Systeme ... 396

9 ... Steuerzentrale mit ActionController ... 399

9.1 ... Grundlagen ... 399
9.2 ... Aufgaben des Controllers ... 401
... 9.2.1 ... Daten aus HTTP-Anfragen empfangen ... 401
... 9.2.2 ... Datenbankabfragen über Model-Klassen ... 403
... 9.2.3 ... Setzen und Abfragen von Cookies ... 404
... 9.2.4 ... Setzen und Abfragen von Sessions ... 405
... 9.2.5 ... Templates aufrufen ... 405
... 9.2.6 ... Setzen von Flash-Nachrichten ... 408
... 9.2.7 ... Weiterleitungen ... 409
... 9.2.8 ... Senden von Dateien und Daten ... 411
... 9.2.9 ... Authentifizierung ... 413
9.3 ... Filter ... 414
... 9.3.1 ... Filtertypen ... 414
... 9.3.2 ... Filter nur auf bestimmte Actions anwenden ... 416
9.4 ... Routing ... 417
... 9.4.1 ... Das Standard-Routing ... 417
... 9.4.2 ... Routing-Regeln erstellen ... 419
... 9.4.3 ... Benannte Routen ... 420
... 9.4.4 ... Die root-Route ... 420
... 9.4.5 ... Komplexe Routings mit Regulären Ausdrücken ... 422
... 9.4.6 ... Routing mit Angabe der HTTP-Methode ... 423
... 9.4.7 ... Ressourcen ... 424

10 ... Datenbankzugriff mit ActiveRecord ... 425

10.1 ... Einführung ... 425
... 10.1.1 ... Vor- und Nachteile ... 427
... 10.1.2 ... Unterstützte Datenbanksysteme ... 428
... 10.1.3 ... Ein erstes Beispiel ... 429
... 10.1.4 ... Tabelle erstellen ... 431
10.2 ... Eine ActiveRecord-Model-Klasse generieren ... 435
... 10.2.1 ... Generieren eines Models mit dem Model-Generator ... 437
10.3 ... Rake-Tasks zum Verwalten von Datenbanken ... 440
... 10.3.1 ... Erstellen und Löschen von Datenbanken ... 440
... 10.3.2 ... Informationen über die Datenbanken ... 440
... 10.3.3 ... Migrations ... 441
... 10.3.4 ... Fixtures ... 442
... 10.3.5 ... Testdatenbank ... 442
... 10.3.6 ... Schema-Dateien ... 443
... 10.3.7 ... Sessions ... 443
10.4 ... Getter-und Setter-Methoden ... 444
... 10.4.1 ... Überschreiben der Getter-und Setter-Methoden ... 445
... 10.4.2 ... Automatische Typ-Erkennung ... 445
10.5 ... Erstellen, bearbeiten und löschen ... 446
... 10.5.1 ... Neues ActiveRecord-Objekt erstellen ... 446
... 10.5.2 ... ActiveRecord-Objekt erstellen und direkt speichern ... 447
... 10.5.3 ... Aktualisieren von Objekten ... 447
... 10.5.4 ... Löschen von Objekten ... 448
10.6 ... Suchen ... 449
... 10.6.1 ... Suche nach IDs ... 450
... 10.6.2 ... Suche nach dem ersten Datensatz oder Ausgabe aller Datensätze ... 451
... 10.6.3 ... Suchoptionen im Überblick ... 452
... 10.6.4 ... Suchbedingung (:conditions) ... 453
... 10.6.5 ... Sortierreihenfolge (:order) ... 455
... 10.6.6 ... Limitierender Suchergebnisse ... 456
... 10.6.7 ... Suche mit dynamischen Find-Methoden ... 457
... 10.6.8 ... Suche über SQL ... 458
10.7 ... Datenbankschema und Migrations ... 459
10.8 ... Migration-Skripte ... 460
... 10.8.1 ... Migration-Skripte generieren ... 461
... 10.8.2 ... Änderungen ausführen ... 466
... 10.8.3 ... Änderungen rückgängig machen ... 467
10.9 ... Migration-Befehle im Detail ... 467
... 10.9.1 ... Datentypen ... 467
... 10.9.2 ... Tabellenfelder verwalten ... 469
... 10.9.3 ... Tabellen verwalten ... 470
... 10.9.4 ... Indizes verwalten ... 472
... 10.9.5 ... Beispieldaten hinzufügen ... 473
... 10.9.6 ... SQL-Befehle direkt verwenden ... 473
... 10.9.7 ... Schnappschuss eines Datenbankschemas ... 474
10.10 ... Assoziationen ... 475
... 10.10.1 ... Eins-zu-viele-Assoziationen (1:n) ... 475
... 10.10.2 ... Eins-zu-eins-Assoziationen (1:1) ... 484
... 10.10.3 ... Viele-zu-viele-Assoziationen (n:m) ... 487
... 10.10.4 ... Polymorphe Assoziationen ... 494
... 10.10.5 ... Mehrere Assoziationen zum gleichen Model ... 498
... 10.10.6 ... Assoziationen mit Bedingungen ... 499
... 10.10.7 ... Eine Assoziation um eigene Methoden erweitern ... 502
10.11 ... Validierung ... 503
... 10.11.1 ... validates_acceptance_of ... 503
... 10.11.2 ... validation_associated ... 504
... 10.11.3 ... validates_confirmation_of ... 505
... 10.11.4 ... validates_exclusion_of ... 506
... 10.11.5 ... validates_inclusion_of ... 507
... 10.11.6 ... validates_format_of ... 508
... 10.11.7 ... validates_length_of/validates_size_of ... 508
... 10.11.8 ... validates_numericality_of ... 511
... 10.11.9 ... validates_presence_of ... 512
... 10.11.10 ... validates_uniqueness_of ... 513
... 10.11.11 ... validates_each ... 514
10.12 ... Statistische Berechnungen ... 515
10.13 ... Callbacks ... 516
10.14 ... Vererbung ... 518

11 ... E-Mails verwalten mit ActionMailer ... 523

11.1 ... Beispielprojekt: Kontaktformular ... 523
11.2 ... HTML-E-Mails ... 535
11.3 ... E-Mails mit Anhängen ... 536
11.4 ... Konfiguration ... 536

12 ... Nützliche Helfer mit ActiveSupport ... 539

12.1 ... Zahlen ... 540
... 12.1.1 ... Gerade und ungerade Zahlen ... 540
... 12.1.2 ... Ordinalzahlen ... 540
... 12.1.3 ... Kapazitätseinheiten ... 541
... 12.1.4 ... Datum und Zeit ... 541
12.2 ... Zeichenketten ... 545
12.3 ... Arrays ... 546
12.4 ... Hashes ... 547
12.5 ... Datentypunabhängig ... 548

13 ... AjaxonRails ... 551

13.1 ... Grundlagen ... 551
13.2 ... JavaScript-Frameworks ... 552
... 13.2.1 ... Prototype ... 552
... 13.2.2 ... Script.aculo.us ... 552
... 13.2.3 ... Weitere Frameworks ... 553
13.3 ... Einbinden der JavaScript-Bibliotheken ... 553
13.4 ... RJS:Ruby-JavaScript ... 555
... 13.4.1 ... RJS-Befehle einfügen ... 556
... 13.4.2 ... Aufrufen von RJS ... 557
... 13.4.3 ... Beispiel ... 559
13.5 ... Debugging mit Firebug ... 561
13.6 ... RJS-Referenz ... 564
... 13.6.1 ... Methoden zum Ein-und Ausblenden von Elementen ... 564
... 13.6.2 ... Methoden zum Hinzufügen, Ersetzen und Löschen von Elementen ... 565
... 13.6.3 ... Sonstige Methoden ... 567

14 ... RESTful Rails und Webservices ... 569

14.1 ... Was sind Webservices? ... 569
14.2 ... REST ... 570
... 14.2.1 ... Ressourcen/Nomen ... 571
... 14.2.2 ... HTTP-Methoden/Verben ... 572
14.3 ... RESTful Rails ... 573
... 14.3.1 ... Generatoren ... 573
... 14.3.2 ... Ressourcen ... 574
... 14.3.3 ... Verschachtelte Ressourcen ... 576
... 14.3.4 ... Namespaces ... 577
... 14.3.5 ... Singleton-Ressourcen ... 579
... 14.3.6 ... Ressourcenerweitern ... 582
14.4 ... Einen Webservice anbieten ... 584
... 14.4.1 ... Die Weboberfläche ... 584
... 14.4.2 ... Die API ... 585
14.5 ... Zugriff auf einen Webservice mit ActiveResource ... 587

TEIL IV: ... RAILS IM EINSATZ

15 ... Rails mit Plug-ins erweitern ... 593

15.1 ... Plug-ins Grundlagen ... 593
... 15.1.1 ... Plug-ins installieren und deinstallieren ... 594
... 15.1.2 ... Plug-ins-Quellenverwalten ... 596
15.2 ... Nützliche Plug-ins ... 597
... 15.2.1 ... Authentifizierung mit Restful Authentication ... 597
... 15.2.2 ... Mehrsprachige Applikationen mit Globalite ... 604
... 15.2.3 ... User-Fotos anzeigen mit Gravatar ... 614
... 15.2.4 ... Fehlerbenachrichtigung mit ExceptionNotifier ... 615
... 15.2.5 ... Weitere nützliche Plug-ins ... 616

16 ... Performancesteigerung ... 619

16.1 ... Einführung ... 619
16.2 ... Page-Caching ... 620
... 16.2.1 ... Grundlagen ... 620
... 16.2.2 ... Caching im Controller aktivieren ... 622
... 16.2.3 ... Einstellungen ... 622
... 16.2.4 ... Beispiel ... 623
... 16.2.5 ... Löschen von Cache-Dateien ... 624
... 16.2.6 ... Cachen der Root-Page ... 629
16.3 ... Action-Caching ... 631
... 16.3.1 ... Grundlagen ... 631
... 16.3.2 ... Beispiel ... 632
... 16.3.3 ... Löschen von Cache-Dateien ... 634
... 16.3.4 ... Verschiedene Caching-Strategien mischen ... 635
16.4 ... Fragment-Caching ... 635
... 16.4.1 ... Grundlagen ... 635
... 16.4.2 ... Beispiel ... 636
... 16.4.3 ... Löschen von Cache-Dateien ... 638
16.5 ... Caching von CSS-und Java Script-Dateien ... 640
... 16.5.1 ... Grundlagen ... 640
... 16.5.2 ... Beispiel ... 640
... 16.5.3 ... Löschen der Cache-Dateien ... 642
16.6 ... Caching mit memcached ... 642
... 16.6.1 ... Grundlagen ... 642
... 16.6.2 ... Installation ... 644
... 16.6.3 ... Installation des memcached-Servers ... 644
... 16.6.4 ... Verwendung ... 645
... 16.6.5 ... Löschen des Caches ... 646
16.7 ... Zusammenfassung ... 646

17 ... Sicherheit ... 647

17.1 ... Warum Sicherheit wichtig ist ... 647
17.2 ... SQL Injection ... 647
17.3 ... Cross-Site-Scripting XSS ... 648
17.4 ... Cross-Site Request Forgery(CSRF/XSRF) ... 650
17.5 ... Sessions ... 652
... 17.5.1 ... Session Hijacking ... 652
... 17.5.2 ... Session Fixation ... 652
17.6 ... Validierung ... 654
17.7 ... Reguläre Ausdrücke ... 655

18 ... Veröffentlichen einer Rails-Applikation auf einem Server ... 657

18.1 ... Wahl des Providers ... 658
18.2 ... Einrichten des Servers ... 659
... 18.2.1 ... Wahl der Server-Software ... 659
... 18.2.2 ... Deploy-User anlegen ... 660
... 18.2.3 ... Paketmanagement konfigurieren ... 661
... 18.2.4 ... Installation von Subversion und Erstellung eines Repository ... 663
... 18.2.5 ... Installation von Ruby und Co ... 663
... 18.2.6 ... MySQL ... 664
... 18.2.7 ... Datenbank für das Beispielprojekt anlegen ... 664
... 18.2.8 ... Installation von SQLite 3 ... 665
... 18.2.9 ... Installation von Rails ... 665
... 18.2.10 ... Installation und Konfiguration von Mongrel ... 666
... 18.2.11 ... Apache-Webserver ... 667
... 18.2.12 ... Module aktivieren ... 668
18.3 ... Konfigurieren der Rails-Applikation auf dem Server ... 669
... 18.3.1 ... Konfiguration ... 669
... 18.3.2 ... Verzeichnis für Railsprojekt erstellen ... 672
... 18.3.3 ... Statische Seite testen ... 672
... 18.3.4 ... Mongrel-Cluster-Konfiguration vorbereiten ... 672
18.4 ... Deployment mit Capistrano ... 673
... 18.4.1 ... Konfiguration der Datenbank ... 673
... 18.4.2 ... Installation ... 674
... 18.4.3 ... Capistrano in Rails-Applikation konfigurieren ... 674
... 18.4.4 ... Verzeichnisse auf dem Server erstellen ... 675
... 18.4.5 ... Mongrel-Cluster-Konfigurationsdatei auf dem Server generieren ... 675
... 18.4.6 ... Übertragen und Starten der Rails-Applikation ... 676
... 18.4.7 ... Die letzte Übertragung rückgängig machen ... 677
... 18.4.8 ... Anzeigen einer Wartungsseite ... 677
... 18.4.9 ... Übertragung einzelner Dateien ... 680
... 18.4.10 ... Wie Capistrano einen Deploy durchführt ... 681
... 18.4.11 ... Verzeichnisse, die nicht im Repository sind, verwalten ... 684
... 18.4.12 ... Weitere Capistrano-Tasks ... 686

Index ... 689



Zurück zu »Ruby on Rails 2«


 
Unser Buchtipp
VMware vSphere 5
VMware vSphere 5
 


Bestseller
VMware vSphere 5
Joomla! 2.5 für Einsteiger
Follow me!
Android-Apps entwickeln
Computer-Netzwerke
[weitere]
 

Neue Bücher
Face to Face
Facebook-Programmierung
Schrödinger programmiert C++
Joomla! 2.5 für Einsteiger
Follow me!
[weitere]
 

 




 

 
 
Kontakt
Kundenservice
Ihre Rückmeldung
Hilfe (FAQ)
Autor werden
Presse
Der Verlag
Über Galileo Press
Das Team
Jobs
Rechtliches
AGB & Widerrufsrecht
Datenschutz
Impressum
 

Besuchen Sie uns auch auf
Besuchen Sie uns auf facebook Besuchen Sie uns auf Google+ Folgen Sie uns auf Twitter Besuchen Sie unseren YouTube-Channel Folgen Sie unserem RSS-Feed
 
 


 
 
Copyright © 2011 Galileo Press GmbH
Rheinwerkallee 4, 53227 Bonn
Telefon +49.228.42150.0 • Fax +49.228.42150.77
info@galileo-press.de
Die Websites von Galileo Press
Galileo Computing  •  Galileo Design  •  SAP PRESS
Galileo Press  •  Galileo Press Inc.
Galileo Video-Trainings
 
 

Galileo Press