Professionelle Webentwicklung mit Ruby on Rails 2: das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano]
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Heidelberg
MITP-Verl.
2008
|
Ausgabe: | 1. Aufl. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 621 S. Ill. |
ISBN: | 9783826616839 3826616839 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV023370009 | ||
003 | DE-604 | ||
005 | 20240829 | ||
007 | t | ||
008 | 080630s2008 gw a||| |||| 00||| ger d | ||
015 | |a 07,N31,0026 |2 dnb | ||
020 | |a 9783826616839 |c Pb. : ca. sfr 59.00 (freier Pr.), ca. EUR 34.95, ca. EUR 36.00 (AT) |9 978-3-8266-1683-9 | ||
020 | |a 3826616839 |c Pb. : ca. sfr 59.00 (freier Pr.), ca. EUR 34.95, ca. EUR 36.00 (AT) |9 3-8266-1683-9 | ||
024 | 3 | |a 9783826616839 | |
028 | 5 | 2 | |a 826616830 |
035 | |a (OCoLC)244018123 | ||
035 | |a (DE-599)DNB984890939 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-BW | ||
049 | |a DE-355 |a DE-Aug4 |a DE-573 |a DE-29T |a DE-91G |a DE-92 |a DE-824 |a DE-1051 |a DE-83 |a DE-M347 | ||
082 | 0 | |a 006.76 |2 22/ger | |
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 677f |2 stub | ||
100 | 1 | |a Fischer, Jens-Christian |e Verfasser |4 aut | |
245 | 1 | 0 | |a Professionelle Webentwicklung mit Ruby on Rails 2 |b das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |c Jens-Christian Fischer |
250 | |a 1. Aufl. | ||
264 | 1 | |a Heidelberg |b MITP-Verl. |c 2008 | |
300 | |a 621 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 0 | 7 | |a Ruby on Rails 2.0 |0 (DE-588)7605476-7 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Ruby on Rails 2.0 |0 (DE-588)7605476-7 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016553286&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-016553286 |
Datensatz im Suchindex
DE-BY-FWS_katkey | 324881 |
---|---|
_version_ | 1808776056438521856 |
adam_text |
Inhaltsverzeichnis
Über dieses Buch 15
Ein hilfreiches Buch? 15
Voraussetzungen 16
Aufbau des Buches 16
Ist dieses Buch für Sie? 20
Was ist nicht enthalten? 21
Administratives 21
Danksagung 23
Teil I Rails praktisch anwenden 25
1 Eine Anwendung entsteht 27
1.1 Anforderungen 27
1.2 Voraussetzungen 28
1.3 Achtung, fertig, Rails! 28
1.4 Rails das erste mal starten 30
1.5 Endlich: Die erste Seite 34
1.6 URLs verstehen 35
1.7 Das Model einer Seite 40
1.7.1 Migration 41
1.7.2 Datenpflege per Hand 45
1.8 Darstellung einzelner Seiten 52
1.8.1 Einzelne Seite 52
1.8.2 Fehlerhaft! 55
1.8.3 Liste aller Seiten anzeigen 57
1.9 Ein einfaches Layout verwenden 59
1.10 Was Sie gelernt haben 60
2 Einführung ins Testen 63
2.1 Automatische Tests 63
2.1.1 Muss es sein? 65
2.1.2 Einen Test schreiben 65
Inhaltsverzeichnis
2.2 Testdaten mit Fixtures generieren 69
2.3 Tests für das Bearbeiten von Seiten 71
2.3.1 Den Controller testen 74
2.3.2 Die View testen 78
2.4 Was Sie gelernt haben 81
3 Weitere einfache Funktionen der Anwendung 83
3.1 Formulare gestalten 83
3.1.1 Hilfsfunktionen zur Formulargestaltung 84
3.1.2 Felder 87
3.2 Seiten aktualisieren 88
3.3 Neue Seiten anlegen 92
3.4 Die View in wiederverwendbare Blöcke aufteilen 96
3.5 Seiten löschen 99
3.6 Benutzerführung 102
3.6.1 Die Funktion link_to 103
3.6.2 Die Funktion button_to 103
3.6.3 Verlinkungen 106
3.6.4 Die Funktionen assert_select und urLfor 107
3.7 Scaffolding? 109
3.8 Genügend Tests? 111
3.9 Lösungen 112
3.9.1 Aufgabe 1 112
3.9.2 Aufgabe 2 113
3.10 Was Sie gelernt haben 115
4 ActiveRecord: Mit Modellen arbeiten 117
4.1 ORM: Von Objekt zu Datenbank - und zurück 117
4.2 Validierungen 118
4.3 Fehlermeldungen anzeigen 122
4.4 ActiveRecord-Funktionen 128
4.4.1 Zugriffe auf Spalten 128
4.4.2 Mit mehreren Attributen arbeiten 135
4.4.3 Callbacks in Models 138
4.5 Was Sie gelernt haben 144
5 Relationen zwischen Objekten herstellen I45
5.1 Kategorien in eigene Tabelle verschieben 145
5.1.1 Datenmigration vornehmen ^4^
5.1.2 Tests anpassen 150
Inhaltsverzeichnis
5.2 Kategorien mittels Dropdown auswählen 153
5.3 Alle Relationen im Überblick 156
5.3.1 Eins zu eins 157
5.3.2 Eins zu vielen 158
5.3.3 Viele zu vielen 161
5.3.4 Viele zu viele durch ein anderes Model 164
5.4 Optionen für Assoziationen 166
5.4.1 SQL-Modifikatoren 170
5.5 Was Sie gelernt haben 172
6 Navigation und Layout 173
6.1 Navigation 174
6.1.1 Titelseite 176
6.1.2 liste aller Kategorien 178
6.1.3 Refactoring des Controllers 180
6.1.4 Seiten nach Kategorien suchen 181
6.2 Layout 184
6.2.1 Seitenaufbau 185
6.2.2 Seitenleiste 188
6.2.3 Titel 19°
6.2.4 Liste !92
6.2.5 Navigation 193
6.3 Was Sie gelernt haben 196
Teil II Rails professionell einsetzen 197
7 Die Arbeitsumgebung einrichten 199
7.1 Der Editor 200
7.2 Versionskontrolle 202
7.2.1 Wieso Versionskontrolle? 203
7.3 Firefox / Firebug 203
7.4 Refactoring 204
7.5 Kontinuierliche Integration 205
7.6 Der Entwicklungs-Workflow 206
7.6.1 Erstellen eines Repositories 208
7.6.2 Import 209
7.6.3 Weniger verwalten 211
7.6.4 Arbeit sichern 214
Inhaltsverzeichnis
7.7 Workflow mit Git 214
7.7.1 Git-Branching und -Merging 218
7.8 Was Sie gelernt haben 221
8 Behaviour Driven Development 223
8.1 RSpec installieren 223
8.1. r Dokumentation 224
8.2 Spezifizieren, nicht testen 225
8.2.1 Erwartungen an die Software in Spezifikationen
abbilden 227
8.2.2 RSpec on Rails 233
8.2.3 Mock-Objekte 236
8.2.4 Erwartungen an Methodenaufrufe formulieren 240
8.2.5 ActiveRecord-Attrappen bauen 243
8.3 Was Sie gelernt haben 245
9 HAML und SASS 247
9.1 Alternativen zu Embedded Ruby (ERB) 247
9.1.1 Markaby 247
9.1.2 Liquid 248
9.1.3 HAML 249
9.2 Einführung in HAML 250
9.3 Installation 253
9.4 HAML-Basics 254
9.4.1 HTML-Tags 254
9.4.2 Tag-Attribute 255
9.4.3 Implizite DIVs 255
9.4.4 Objekt-Klasse und ID 256
9.4.5 Direkt geschlossene Tags 256
9.4.6 Ruby einbetten 257
9.4.7 Listen 257
9.4.8 Blöcke ohne Leerzeichen einbetten 257
94.9 Doctype-Deklarationen 258
9.4.10 Kommentare 259
9.4.11 Escaping 260
9.4.12 Mehrere Zeilen 261
9.4.13 Textfilter 261
9.5 HAML in der Praxis 262
9.6 SASS und CSS 266
Inhaltsverzeichnis
9.6.1 Grundlagen 266
9.6.2 Konstanten und Berechnungen 268
9.6.3 Importe 270
9.6.4 Kommentare 271
9.6.5 Konfiguration 271
9.7 HAML-Generator 272
9.8 Fazit 275
9.9 Was Sie gelernt haben 275
10 REST 277
10.1 Mit der Welt reden 277
10.2 Grundlagen 279
10.2.1 URL und Verb 279
10.2.2 Repräsentation 280
10.2.3 Ressourcen 281
10.3 Routing 283
10.4 REST-Controller 287
10.4.1 make_resourceful 290
10.4.2 resource_this 294
10.4.3 Wie DRY? 297
10.5 Komplexere Fälle 297
10.5.1 Verschachtelte Ressourcen 297
10.5.2 Mehrfach verschachtelte Ressourcen 301
10.5.3 Singleton-Ressourcen 303
10.6 Was Sie gelernt haben 306
11 RSpec, REST und User Stories in der Praxis 307
11.1 Vorbereitungen 307
11.2 User Stories 307
11.2.1 Anatomie einer User Story 308
11.3 Die User Story implementieren 311
11.4 BDD-Controller 313
11.4.1 Unterschied zwischen Mock und Stub 317
11.4.2 Model durch Mock ersetzen 318
11.5 BDD-View 321
11.6 Nutzen von Stories und Spezifikationen 325
11.7 Piain Text Stories 326
11.7.1 Steps 328
11.7.2 Webrat 330
Inhaltsverzeichnis
11.7.3 Implementierung 334
11.8 Specs und Stories 338
11.9 Was Sie gelernt haben 340
12 Erweiterungen 343
12.1 Rails erweitern 343
12.1.1 Libraries 343
12.1.2 Plug-ins 344
12.2 Login und Authentisierung 346
12.2.1 Wie weiß Rails, wer eingeloggt ist? 346
12.2.2 Das Plug-in restfuLauthentication 348
12.2.3 Benutzer registrieren 349
12.2.4 Aktionen schützen 357
12.2.5 Aufräumen 359
12.3 Aufgaben im Hintergrund 364
12.4 Konfiguration 366
12.5 Display mit Maruku 369
12.6 Was Sie gelernt haben 374
13 Die Anwendung um Kommentare erweitern 375
13.1 Kommentare abgeben 375
13.1.1 Die User Story »Kommentar abgeben« 376
13.1.2 Das View-Spec für »Seite ansehen« 377
13.1.3 Hilfsfunktionen zum Generieren von Mock-Objekten 381
13.1.4 View ergänzen 382
13.1.5 Model für Kommentare mit STI 382
13.1.6 Verknüpfung zwischen Page und Comment 385
13.1.7 Kommentare zu Kommentaren erstellen 386
13.1.8 Comments-Conrroller 388
13.1.9 Views für Kommentare 390
13.2 Kommentare sehen 395
13.3 Kommentare in Baumstruktur 397
13.3.1 Subkommentare erstellen 398
13.3.2 Baumstruktur anzeigen 401
13.4 Admin-Interface für Kommentare 402
13.4.1 Kommentare auflisten, zeigen und löschen 402
13.4.2 Blättern mit wilLpaginate 404
13.4.3 Mehrere Kommentare gleichzeitig löschen 407
13.5 Was Sie gelernt haben 410
Inhaltsverzeichnis
14 Suchfunktionen 411
14.1 Mögliche Technologien 411
14.1.1 SQL 411
14.1.2 Ferret 412
14.1.3 SOLR 412
14.1.4 Ultrasphinx 413
14.2 Mit Ultrasphinx arbeiten 413
14.2.1 Installation 413
14.2.2 Rails-Plug-ins 413
14.2.3 Indexieren 414
14.2.4 Suchen 416
14.3 Such-Controller 416
14.3.1 Unterstützung von wilLpaginate 423
14.3.2 Kommentare finden oder eben nicht 425
14.4 Pages und Comments trennen 426
14.5 Indexoptionen 428
14.5.1 Felder 429
14.5.2 Assoziationen 429
14.6 Suchoptionen 430
14.7 Suchmaske 431
14.8 Ultrasphinx produktiv einsetzen 433
14.8.1 Indexverwaltung 433
14.8.2 Delta-Indizes 434
14.9 Was Sie gelernt haben 436
15 JavaScript AJAX 437
15.1 Wozu AJAX und JavaScript? 438
15.2 Unterschiede zwischen Prototype und jQuery 438
15.3 jQuery verwenden 440
15.3.1 Installation 440
15.3.2 Philosophie 443
15.4 Beispiele für das User Interface 443
15.4.1 Einblenden von Login-Feldern 444
15.4.2 Feld mit Vorgabewerten füllen 448
15.4.3 Inhaltsverzeichnis generieren 450
15.5 AJAX-Beispiele 453
15.5.1 Published Status umschalten 453
15.5.2 Kommentare eingeben, ohne die Seite zu verlassen 458
Inhaltsverzeichnis
15.5.3 Periodisches Sichern im Hintergrund 466
15.6 Was Sie gelernt haben 469
16 Die Produktionsumgebung 471
16.1 Code vorbereiten 471
16.1.1 Gems definieren 472
16.1.2 Rails einfrieren 473
16.1.3 Gems einfrieren 474
16.2 Ladezeiten reduzieren 475
16.2.1 Gzip-Komprimierung 477
16.2.2 Zusammenfassen von Dateien 479
16.2.3 Mehr (virtuelle) Server 480
16.3 Server aufsetzen 481
16.3.1 Webserver 482
16.3.2 Mongrel-Cluster 487
16.3.3 Datenbank 487
16.4 Was Sie gelernt haben 488
17 Automatisches Deployment mit Capistrano 489
17.1 Wieso Capistrano? 489
17.2 Aufgaben von Capistrano 490
17.3 Erste Schritte 490
17.3.1 deploy.rb pflegen 491
17.3.2 Voraussetzungen prüfen 492
17.3.3 Erstinstallation 495
17.3.4 Weiteres Deployment/Rollback 497
17.3.5 Applikationsserver stoppen und starten 500
17.3.6 Deployment-Strategien 502
17.3.7 Aufräumen 503
17.3.8 Dateien auf den Server kopieren 503
17.3.9 Längere Wartungsarbeiten 504
17.4 Capistrano erweitern 505
17.4.1 Neuen Task definieren 505
17.4.2 before- und after-Hooks verwenden 506
17-5 Multistaging 508
17.5.1 Hintergrund 508
17.5.2 Multistaging mit Capistrano 509
176 Capistrano-Referenz 511
Inhaltsverzeichnis
17.6.1 Befehle 512
17.6.2 Variablen 514
17.7 Was Sie gelernt haben 516
Teil IM Ruby 517
18 Ruby-Grundlagen - Schöner Code 519
18.1 Datentypen und Strukturen 519
18.1.1 Zahlen und Strings 519
18.1.2 String-Interpolation 520
18.1.3 Andere Datentypen 521
18.1.4 Wahr und Falsch 524
18.1.5 Array und Hash 525
18.2 Vererbung 526
18.3 Kontrollfluss 527
18.4 Schleifen und Iteratoren 528
18.4.1 each 530
18.4.2 inject 531
18.4.3 select / reJect 531
18.4.4 collect / map 532
18.4.5 anY? 532
18.4.6 find 532
18.5 Blöcke 532
18.5.1 Symbole zu Blöcken 534
18.6 Was Sie gelernt haben 536
19 Metaprogrammierung in Ruby 537
19.1 Was ist Metaprogrammierung? 537
19.2 Alles ist ein Objekt 538
19.3 Klassen sind offen 540
19.4 Dynamische Typen 544
19.4.1 Duck Typing 545
19.5 Die Frage nach dem Selbst: seif 548
19.5.1 Neue Methoden für Objekte 550
19.5.2 seif in Klassen 552
19.5.3 seif in Modulen 555
19.5.4 Der tiefere Sinn von seif 556
Inhaltsverzeichnis
19.6 Ruby ist interpretiert 558
19.6.1 Methoden erzeugen 560
19.7 Evaluation 564
19.7.1 instance_eval 566
19.7.2 class_eval 566
19.8 Was Sie gelernt haben 568
20 Alternatives Ruby: JRuby 569
20.1 Installation 570
20.1.1 JRuby 570
20.1.2 Rails und Mongrel installieren 572
20.1.3 JDBC-Adapter und ActiveRecord 572
20.2 Bestehende Rails-Anwendung unter JRuby 573
20.3 Neue Rails-Anwendung erstellen 574
20.4 Rails-Anwendung unter Tomcat 575
20.5 Glassfish V2 577
20.6 Glassfish V3 579
20.7 Die Zukunft? 580
20.8 Was Sie gelernt haben 580
Teil IV Anhänge 581
A Installation von Ruby Rails 581
A.i Mac 581
A.1.1 Mac OS X 10.4 (Tiger) 581
A.1.2 Mac OS X 10.5 (Leopard) 594
A.2 Unix / Linux 596
A.3 Windows 599
A.3.1 InstantRails 599
A.3.2 Schritt für Schritt 600
A Ressourcen 609
A.i Online-Ressourcen 609
A.2 Real-Life-Ressourcen 609
A.3 Bibliographie 610
Stichwortverzeichnis 613 |
adam_txt |
Inhaltsverzeichnis
Über dieses Buch 15
Ein hilfreiches Buch? 15
Voraussetzungen 16
Aufbau des Buches 16
Ist dieses Buch für Sie? 20
Was ist nicht enthalten? 21
Administratives 21
Danksagung 23
Teil I Rails praktisch anwenden 25
1 Eine Anwendung entsteht 27
1.1 Anforderungen 27
1.2 Voraussetzungen 28
1.3 Achtung, fertig, Rails! 28
1.4 Rails das erste mal starten 30
1.5 Endlich: Die erste Seite 34
1.6 URLs verstehen 35
1.7 Das Model einer Seite 40
1.7.1 Migration 41
1.7.2 Datenpflege per Hand 45
1.8 Darstellung einzelner Seiten 52
1.8.1 Einzelne Seite 52
1.8.2 Fehlerhaft! 55
1.8.3 Liste aller Seiten anzeigen 57
1.9 Ein einfaches Layout verwenden 59
1.10 Was Sie gelernt haben 60
2 Einführung ins Testen 63
2.1 Automatische Tests 63
2.1.1 Muss es sein? 65
2.1.2 Einen Test schreiben 65
Inhaltsverzeichnis
2.2 Testdaten mit Fixtures generieren 69
2.3 Tests für das Bearbeiten von Seiten 71
2.3.1 Den Controller testen 74
2.3.2 Die View testen 78
2.4 Was Sie gelernt haben 81
3 Weitere einfache Funktionen der Anwendung 83
3.1 Formulare gestalten 83
3.1.1 Hilfsfunktionen zur Formulargestaltung 84
3.1.2 Felder 87
3.2 Seiten aktualisieren 88
3.3 Neue Seiten anlegen 92
3.4 Die View in wiederverwendbare Blöcke aufteilen 96
3.5 Seiten löschen 99
3.6 Benutzerführung 102
3.6.1 Die Funktion link_to 103
3.6.2 Die Funktion button_to 103
3.6.3 Verlinkungen 106
3.6.4 Die Funktionen assert_select und urLfor 107
3.7 Scaffolding? 109
3.8 Genügend Tests? 111
3.9 Lösungen 112
3.9.1 Aufgabe 1 112
3.9.2 Aufgabe 2 113
3.10 Was Sie gelernt haben 115
4 ActiveRecord: Mit Modellen arbeiten 117
4.1 ORM: Von Objekt zu Datenbank - und zurück 117
4.2 Validierungen 118
4.3 Fehlermeldungen anzeigen 122
4.4 ActiveRecord-Funktionen 128
4.4.1 Zugriffe auf Spalten 128
4.4.2 Mit mehreren Attributen arbeiten 135
4.4.3 Callbacks in Models 138
4.5 Was Sie gelernt haben 144
5 Relationen zwischen Objekten herstellen I45
5.1 Kategorien in eigene Tabelle verschieben 145
5.1.1 Datenmigration vornehmen ^4^
5.1.2 Tests anpassen 150
Inhaltsverzeichnis
5.2 Kategorien mittels Dropdown auswählen 153
5.3 Alle Relationen im Überblick 156
5.3.1 Eins zu eins 157
5.3.2 Eins zu vielen 158
5.3.3 Viele zu vielen 161
5.3.4 Viele zu viele durch ein anderes Model 164
5.4 Optionen für Assoziationen 166
5.4.1 SQL-Modifikatoren 170
5.5 Was Sie gelernt haben 172
6 Navigation und Layout 173
6.1 Navigation 174
6.1.1 Titelseite 176
6.1.2 liste aller Kategorien 178
6.1.3 Refactoring des Controllers 180
6.1.4 Seiten nach Kategorien suchen 181
6.2 Layout 184
6.2.1 Seitenaufbau 185
6.2.2 Seitenleiste 188
6.2.3 Titel 19°
6.2.4 Liste !92
6.2.5 Navigation 193
6.3 Was Sie gelernt haben 196
Teil II Rails professionell einsetzen 197
7 Die Arbeitsumgebung einrichten 199
7.1 Der Editor 200
7.2 Versionskontrolle 202
7.2.1 Wieso Versionskontrolle? 203
7.3 Firefox / Firebug 203
7.4 Refactoring 204
7.5 Kontinuierliche Integration 205
7.6 Der Entwicklungs-Workflow 206
7.6.1 Erstellen eines Repositories 208
7.6.2 Import 209
7.6.3 Weniger verwalten 211
7.6.4 Arbeit sichern 214
Inhaltsverzeichnis
7.7 Workflow mit Git 214
7.7.1 Git-Branching und -Merging 218
7.8 Was Sie gelernt haben 221
8 Behaviour Driven Development 223
8.1 RSpec installieren 223
8.1. r Dokumentation 224
8.2 Spezifizieren, nicht testen 225
8.2.1 Erwartungen an die Software in Spezifikationen
abbilden 227
8.2.2 RSpec on Rails 233
8.2.3 Mock-Objekte 236
8.2.4 Erwartungen an Methodenaufrufe formulieren 240
8.2.5 ActiveRecord-Attrappen bauen 243
8.3 Was Sie gelernt haben 245
9 HAML und SASS 247
9.1 Alternativen zu Embedded Ruby (ERB) 247
9.1.1 Markaby 247
9.1.2 Liquid 248
9.1.3 HAML 249
9.2 Einführung in HAML 250
9.3 Installation 253
9.4 HAML-Basics 254
9.4.1 HTML-Tags 254
9.4.2 Tag-Attribute 255
9.4.3 Implizite DIVs 255
9.4.4 Objekt-Klasse und ID 256
9.4.5 Direkt geschlossene Tags 256
9.4.6 Ruby einbetten 257
9.4.7 Listen 257
9.4.8 Blöcke ohne Leerzeichen einbetten 257
94.9 Doctype-Deklarationen 258
9.4.10 Kommentare 259
9.4.11 Escaping 260
9.4.12 Mehrere Zeilen 261
9.4.13 Textfilter 261
9.5 HAML in der Praxis 262
9.6 SASS und CSS 266
Inhaltsverzeichnis
9.6.1 Grundlagen 266
9.6.2 Konstanten und Berechnungen 268
9.6.3 Importe 270
9.6.4 Kommentare 271
9.6.5 Konfiguration 271
9.7 HAML-Generator 272
9.8 Fazit 275
9.9 Was Sie gelernt haben 275
10 REST 277
10.1 Mit der Welt reden 277
10.2 Grundlagen 279
10.2.1 URL und Verb 279
10.2.2 Repräsentation 280
10.2.3 Ressourcen 281
10.3 Routing 283
10.4 REST-Controller 287
10.4.1 make_resourceful 290
10.4.2 resource_this 294
10.4.3 Wie DRY? 297
10.5 Komplexere Fälle 297
10.5.1 Verschachtelte Ressourcen 297
10.5.2 Mehrfach verschachtelte Ressourcen 301
10.5.3 Singleton-Ressourcen 303
10.6 Was Sie gelernt haben 306
11 RSpec, REST und User Stories in der Praxis 307
11.1 Vorbereitungen 307
11.2 User Stories 307
11.2.1 Anatomie einer User Story 308
11.3 Die User Story implementieren 311
11.4 BDD-Controller 313
11.4.1 Unterschied zwischen Mock und Stub 317
11.4.2 Model durch Mock ersetzen 318
11.5 BDD-View 321
11.6 Nutzen von Stories und Spezifikationen 325
11.7 Piain Text Stories 326
11.7.1 Steps 328
11.7.2 Webrat 330
Inhaltsverzeichnis
11.7.3 Implementierung 334
11.8 Specs und Stories 338
11.9 Was Sie gelernt haben 340
12 Erweiterungen 343
12.1 Rails erweitern 343
12.1.1 Libraries 343
12.1.2 Plug-ins 344
12.2 Login und Authentisierung 346
12.2.1 Wie weiß Rails, wer eingeloggt ist? 346
12.2.2 Das Plug-in restfuLauthentication 348
12.2.3 Benutzer registrieren 349
12.2.4 Aktionen schützen 357
12.2.5 Aufräumen 359
12.3 Aufgaben im Hintergrund 364
12.4 Konfiguration 366
12.5 Display mit Maruku 369
12.6 Was Sie gelernt haben 374
13 Die Anwendung um Kommentare erweitern 375
13.1 Kommentare abgeben 375
13.1.1 Die User Story »Kommentar abgeben« 376
13.1.2 Das View-Spec für »Seite ansehen« 377
13.1.3 Hilfsfunktionen zum Generieren von Mock-Objekten 381
13.1.4 View ergänzen 382
13.1.5 Model für Kommentare mit STI 382
13.1.6 Verknüpfung zwischen Page und Comment 385
13.1.7 Kommentare zu Kommentaren erstellen 386
13.1.8 Comments-Conrroller 388
13.1.9 Views für Kommentare 390
13.2 Kommentare sehen 395
13.3 Kommentare in Baumstruktur 397
13.3.1 Subkommentare erstellen 398
13.3.2 Baumstruktur anzeigen 401
13.4 Admin-Interface für Kommentare 402
13.4.1 Kommentare auflisten, zeigen und löschen 402
13.4.2 Blättern mit wilLpaginate 404
13.4.3 Mehrere Kommentare gleichzeitig löschen 407
13.5 Was Sie gelernt haben 410
Inhaltsverzeichnis
14 Suchfunktionen 411
14.1 Mögliche Technologien 411
14.1.1 SQL 411
14.1.2 Ferret 412
14.1.3 SOLR 412
14.1.4 Ultrasphinx 413
14.2 Mit Ultrasphinx arbeiten 413
14.2.1 Installation 413
14.2.2 Rails-Plug-ins 413
14.2.3 Indexieren 414
14.2.4 Suchen 416
14.3 Such-Controller 416
14.3.1 Unterstützung von wilLpaginate 423
14.3.2 Kommentare finden oder eben nicht 425
14.4 Pages und Comments trennen 426
14.5 Indexoptionen 428
14.5.1 Felder 429
14.5.2 Assoziationen 429
14.6 Suchoptionen 430
14.7 Suchmaske 431
14.8 Ultrasphinx produktiv einsetzen 433
14.8.1 Indexverwaltung 433
14.8.2 Delta-Indizes 434
14.9 Was Sie gelernt haben 436
15 JavaScript AJAX 437
15.1 Wozu AJAX und JavaScript? 438
15.2 Unterschiede zwischen Prototype und jQuery 438
15.3 jQuery verwenden 440
15.3.1 Installation 440
15.3.2 Philosophie 443
15.4 Beispiele für das User Interface 443
15.4.1 Einblenden von Login-Feldern 444
15.4.2 Feld mit Vorgabewerten füllen 448
15.4.3 Inhaltsverzeichnis generieren 450
15.5 AJAX-Beispiele 453
15.5.1 Published Status umschalten 453
15.5.2 Kommentare eingeben, ohne die Seite zu verlassen 458
Inhaltsverzeichnis
15.5.3 Periodisches Sichern im Hintergrund 466
15.6 Was Sie gelernt haben 469
16 Die Produktionsumgebung 471
16.1 Code vorbereiten 471
16.1.1 Gems definieren 472
16.1.2 Rails einfrieren 473
16.1.3 Gems einfrieren 474
16.2 Ladezeiten reduzieren 475
16.2.1 Gzip-Komprimierung 477
16.2.2 Zusammenfassen von Dateien 479
16.2.3 Mehr (virtuelle) Server 480
16.3 Server aufsetzen 481
16.3.1 Webserver 482
16.3.2 Mongrel-Cluster 487
16.3.3 Datenbank 487
16.4 Was Sie gelernt haben 488
17 Automatisches Deployment mit Capistrano 489
17.1 Wieso Capistrano? 489
17.2 Aufgaben von Capistrano 490
17.3 Erste Schritte 490
17.3.1 deploy.rb pflegen 491
17.3.2 Voraussetzungen prüfen 492
17.3.3 Erstinstallation 495
17.3.4 Weiteres Deployment/Rollback 497
17.3.5 Applikationsserver stoppen und starten 500
17.3.6 Deployment-Strategien 502
17.3.7 Aufräumen 503
17.3.8 Dateien auf den Server kopieren 503
17.3.9 Längere Wartungsarbeiten 504
17.4 Capistrano erweitern 505
17.4.1 Neuen Task definieren 505
17.4.2 before- und after-Hooks verwenden 506
17-5 Multistaging 508
17.5.1 Hintergrund 508
17.5.2 Multistaging mit Capistrano 509
176 Capistrano-Referenz 511
Inhaltsverzeichnis
17.6.1 Befehle 512
17.6.2 Variablen 514
17.7 Was Sie gelernt haben 516
Teil IM Ruby 517
18 Ruby-Grundlagen - Schöner Code 519
18.1 Datentypen und Strukturen 519
18.1.1 Zahlen und Strings 519
18.1.2 String-Interpolation 520
18.1.3 Andere Datentypen 521
18.1.4 Wahr und Falsch 524
18.1.5 Array und Hash 525
18.2 Vererbung 526
18.3 Kontrollfluss 527
18.4 Schleifen und Iteratoren 528
18.4.1 each 530
18.4.2 inject 531
18.4.3 select / reJect 531
18.4.4 collect / map 532
18.4.5 anY? 532
18.4.6 find 532
18.5 Blöcke 532
18.5.1 Symbole zu Blöcken 534
18.6 Was Sie gelernt haben 536
19 Metaprogrammierung in Ruby 537
19.1 Was ist Metaprogrammierung? 537
19.2 Alles ist ein Objekt 538
19.3 Klassen sind offen 540
19.4 Dynamische Typen 544
19.4.1 Duck Typing 545
19.5 Die Frage nach dem Selbst: seif 548
19.5.1 Neue Methoden für Objekte 550
19.5.2 seif in Klassen 552
19.5.3 seif in Modulen 555
19.5.4 Der tiefere Sinn von seif 556
Inhaltsverzeichnis
19.6 Ruby ist interpretiert 558
19.6.1 Methoden erzeugen 560
19.7 Evaluation 564
19.7.1 instance_eval 566
19.7.2 class_eval 566
19.8 Was Sie gelernt haben 568
20 Alternatives Ruby: JRuby 569
20.1 Installation 570
20.1.1 JRuby 570
20.1.2 Rails und Mongrel installieren 572
20.1.3 JDBC-Adapter und ActiveRecord 572
20.2 Bestehende Rails-Anwendung unter JRuby 573
20.3 Neue Rails-Anwendung erstellen 574
20.4 Rails-Anwendung unter Tomcat 575
20.5 Glassfish V2 577
20.6 Glassfish V3 579
20.7 Die Zukunft? 580
20.8 Was Sie gelernt haben 580
Teil IV Anhänge 581
A Installation von Ruby Rails 581
A.i Mac 581
A.1.1 Mac OS X 10.4 (Tiger) 581
A.1.2 Mac OS X 10.5 (Leopard) 594
A.2 Unix / Linux 596
A.3 Windows 599
A.3.1 InstantRails 599
A.3.2 Schritt für Schritt 600
A Ressourcen 609
A.i Online-Ressourcen 609
A.2 Real-Life-Ressourcen 609
A.3 Bibliographie 610
Stichwortverzeichnis 613 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Fischer, Jens-Christian |
author_facet | Fischer, Jens-Christian |
author_role | aut |
author_sort | Fischer, Jens-Christian |
author_variant | j c f jcf |
building | Verbundindex |
bvnumber | BV023370009 |
classification_rvk | ST 253 |
classification_tum | DAT 677f |
ctrlnum | (OCoLC)244018123 (DE-599)DNB984890939 |
dewey-full | 006.76 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 006 - Special computer methods |
dewey-raw | 006.76 |
dewey-search | 006.76 |
dewey-sort | 16.76 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 1. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV023370009</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20240829</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">080630s2008 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">07,N31,0026</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783826616839</subfield><subfield code="c">Pb. : ca. sfr 59.00 (freier Pr.), ca. EUR 34.95, ca. EUR 36.00 (AT)</subfield><subfield code="9">978-3-8266-1683-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3826616839</subfield><subfield code="c">Pb. : ca. sfr 59.00 (freier Pr.), ca. EUR 34.95, ca. EUR 36.00 (AT)</subfield><subfield code="9">3-8266-1683-9</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783826616839</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">826616830</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)244018123</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB984890939</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-355</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-92</subfield><subfield code="a">DE-824</subfield><subfield code="a">DE-1051</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-M347</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">006.76</subfield><subfield code="2">22/ger</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 253</subfield><subfield code="0">(DE-625)143628:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 677f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Fischer, Jens-Christian</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Professionelle Webentwicklung mit Ruby on Rails 2</subfield><subfield code="b">das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano]</subfield><subfield code="c">Jens-Christian Fischer</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">1. Aufl.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Heidelberg</subfield><subfield code="b">MITP-Verl.</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">621 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Ruby on Rails 2.0</subfield><subfield code="0">(DE-588)7605476-7</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Ruby on Rails 2.0</subfield><subfield code="0">(DE-588)7605476-7</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016553286&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-016553286</subfield></datafield></record></collection> |
id | DE-604.BV023370009 |
illustrated | Illustrated |
index_date | 2024-07-02T21:12:15Z |
indexdate | 2024-08-30T04:01:08Z |
institution | BVB |
isbn | 9783826616839 3826616839 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-016553286 |
oclc_num | 244018123 |
open_access_boolean | |
owner | DE-355 DE-BY-UBR DE-Aug4 DE-573 DE-29T DE-91G DE-BY-TUM DE-92 DE-824 DE-1051 DE-83 DE-M347 |
owner_facet | DE-355 DE-BY-UBR DE-Aug4 DE-573 DE-29T DE-91G DE-BY-TUM DE-92 DE-824 DE-1051 DE-83 DE-M347 |
physical | 621 S. Ill. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | MITP-Verl. |
record_format | marc |
spellingShingle | Fischer, Jens-Christian Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] Ruby on Rails 2.0 (DE-588)7605476-7 gnd |
subject_GND | (DE-588)7605476-7 |
title | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |
title_auth | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |
title_exact_search | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |
title_exact_search_txtP | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |
title_full | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] Jens-Christian Fischer |
title_fullStr | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] Jens-Christian Fischer |
title_full_unstemmed | Professionelle Webentwicklung mit Ruby on Rails 2 das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] Jens-Christian Fischer |
title_short | Professionelle Webentwicklung mit Ruby on Rails 2 |
title_sort | professionelle webentwicklung mit ruby on rails 2 das praxisbuch fur entwickler test und behaviour driven development mit rspec und user stories rest ajax mit jquery haml und sass suchfunktionen integrieren deployment mit capistrano |
title_sub | das Praxisbuch für Entwickler ; [Test und Behaviour Driven Development mit RSpec und User Stories ; REST, AJAX mit jQuery, HAML und SASS ; Suchfunktionen integrieren, Deployment mit Capistrano] |
topic | Ruby on Rails 2.0 (DE-588)7605476-7 gnd |
topic_facet | Ruby on Rails 2.0 |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=016553286&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT fischerjenschristian professionellewebentwicklungmitrubyonrails2daspraxisbuchfurentwicklertestundbehaviourdrivendevelopmentmitrspecunduserstoriesrestajaxmitjqueryhamlundsasssuchfunktionenintegrierendeploymentmitcapistrano |