Sie sind hier
E-Book

Rapid Web Development mit Ruby on Rails

AutorRalf Wirdemann, Thomas Baustert
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2008
Seitenanzahl437 Seiten
ISBN9783446416635
FormatPDF
KopierschutzWasserzeichen
GerätePC/MAC/eReader/Tablet
Preis27,99 EUR

SCHNELLER ZUM ZIEL MIT RUBY ON RAILS

- Neu! Die 3. Auflage jetzt inklusive der neuen Features von Rails 2.0

- Profitieren Sie von dem Know-how der Autoren aus ihren Rails-Projekten.

- Alle Tipps und Beispiele in der Praxis getestet.

- Im Internet: Eine kompakte und hilfreiche Einführung in Ruby und vieles mehr

Vier Jahre Rails. Vier Jahre die gezeigt haben: Wer Rails anwendet, profitiert von deutlich schnelleren Entwicklungszeiten und erlebt eine neue "Leichtigkeit der Softwareentwicklung". Kein Wunder, dass die Zahl der Rails-Anhänger und der kommerziellen Rails-Projekte ständig steigt. Und mit den zahlreichen neuen Features der neuen Rails-Version 2.0 erhält dieses Entwicklung noch mehr Schwung.

Lernen Sie mit Hilfe dieses Buches, datenbankbasierte und geschäftskritische Web-Anwendungen zu entwickeln und in Produktion zu bringen. Und das mit ungeahnter Produktivität. Und von Anfang an mit einer sauberen Architektur, die Wartbarkeit und Langlebigkeit sicherstellt. Sie erfahren auch, wie sich Ihre Anwendungen internationalisieren und damit auch deutschsprachige Lösungen entwickeln lassen.

Die dritte Auflage wurde durchgehend überarbeitet, beschreibt die neuen Features von Ruby on Rails 2.0 und enthält ein neues Kapitel zur REST-Architektur.

"Ruby on Rails hat die Weichen neu gestellt in puncto Produktivität, Agilität und Einfachheit bei der Entwicklung modernster Webapplikationen. Verpassen Sie nicht den Anschluss - dieses Buch ist Ihr Ticket zu einer bisher ungeahnten Leichtigkeit in der Softwareentwicklung für das neue Web." (Frank Westphal, Extreme Programmer & Coach)

Die Autoren

Ralf Wirdemann und Thomas Baustert sind anerkannte Experten für die Entwicklung objektorientierter Softwaresysteme. Sie beschäftigen sich seit 2004 mit Ruby on Rails und haben bereits mehrere kommerzielle Rails-Anwendung entwickelt sowie Workshops zu Rails durchgeführt. Sie sind Autoren zahlreicher Fachartikel und gefragte Speaker auf Konferenzen. Dieses Buch folgt ihrem Motto "b-simple", mit dem sie ihre Kunden unterstützen, einfache und angemessene Wege für die Entwicklung von Software zu finden

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 8 Internationalisierung (S. 227)

Wir gehen davon aus, dass viele unserer Leser vor allem deutschsprachige bzw. internationalisierte Anwendungen entwickeln wollen und daher wissen möchten, welche Möglichkeiten Rails diesbezüglich bietet. Deshalb widmen wir diesem Thema ein eigenes Kapitel.

Rails beinhaltet derzeit noch keine eigene Unterstützung für die Internationalisierung von Web-Anwendungen. Dies liegt zum einen daran, dass Ruby selbst von Haus aus keinen Support bietet, und zum anderen an der Tatsache, dass sich bisher keine Lösung als Quasi-Standard durchsetzen konnte. Es ist gut möglich, dass es nie " die" Standardlösung für Rails geben wird, da viele Lösungen denkbar sind, die nicht für jedes Problem passen.

Das Thema Internationalisierung ist sehr umfangreich, und sämtliche Lösungen und Aspekte zu beschreiben würde ein eigenes Buch erfordern. Es gibt mittlerweile eine Reihe von Bibliotheken für die Internationalisierung von Rails-Anwendungen. Die Seite http://wiki.rubyonrails.com/rails/pages/InternationalizationComparison/ liefert einen Überblick.

Wir geben Ihnen in diesem Kapitel eine Einführung in die Bibliothek Ruby-GetText, die wir auch selbst schon verwendet haben. Als Alternative steht Ihnen u.a. das Plugin Globalize-rails1 zur Verfügung, das recht häufig eingesetzt wird. Zum Zeitpunkt der Niederschrift dieses Buches gab es aber keine stabile Version für Rails 2.0, sodass wir die Einführung weggelassen haben. Vielleicht beschreiben wir das Plugin zu einem späteren Zeitpunkt in Form eines PDFs, das Sie dann auf der Webseite zum Buch finden.

Wir konzentrieren uns vor allem auf die Internationalisierung von Texten sowie Datumsformaten und Zahlen am konkreten Beispiel von OnTrack. Die Checkliste in Abschnitt 8.3 führt weitere Punkte auf, die Sie ggf. berücksichtigen müssen.

8.1 Internationalisierung oder Lokalisierung?
Vor dem Einstieg in die Details der Mehrsprachigkeit wollen wir zunächst die Begriffe Internationalisierung und Lokalisierung genauer bestimmen. Internationalisierung bedeutet die Auslegung eines Programms auf dessen mehrsprachige Nutzung. Konkret sollte ein internationalisiertes Programm keinerlei hart kodierte Informationen bezüglich seiner Nutzung in einem bestimmten Land enthalten. Hingegen bedeutet Lokalisierung die Kon.guration eines internationalisierten Programms für die Verwendung einer bestimmten regionalen bzw. kulturellen Umgebung, z.B. Deutschland.

8.2 Lokalisierung und Codes

Um die richtige Lokalisierung der Anwendung für einen bestimmten Benutzer bereitzustellen, müssen Sie wissen, welche Sprache der Benutzer ausgewählt hat.

8.2.1 Language Tag
Die vom Anwender ausgewählte Sprache wird über das so genannte Language Tag 2 nach RFC 3066 festgelegt. Dieser besteht aus dem zweibuchstabigen Sprachcode, z.B. en für Englisch, und einem optionalen zweibuchstabigen Ländercode, auch Regionalcode genannt, z.B. GB für Großbritannien. Der Sprachcode wird dabei nach ISO-639-1 definiert und der Ländercode nach ISO-3166.

Die Definition eines Ländercodes ermöglicht es, die landesspezifischen Gegebenheiten bei der Lokalisierung zu berücksichtigen. So sprechen Briten wie Amerikaner englisch, es gibt aber Unterschiede in der Sprache, Währung, bei den Datumsformaten usw. Um diese in der Anwendung zu berücksichtigen, werden die Einstellungen über den Language Tag en-GB für Großbritannien und en-US für die Vereinigten Staaten festgelegt.

8.2.2 Locale
Alle Einstellungen zur Sprache, zum Zeichensatz, zu den Zahlen-, Währungs-, Datums- und Zeitformaten usw. werden in der sogenannten Locale definiert.

Inhaltsverzeichnis
Inhaltsverzeichnis8
Vorwort18
Vorwort zur 2. Auflage20
Vorwort zur 3. Auflage22
Danksagung24
Kapitel 1 Einleitung26
1.1 Für wen dieses Buch bestimmt ist27
1.2 Organisation des Buches28
1.3 Web-Site zum Buch30
1.4 Feedback30
Kapitel 2 Überblick und Installation32
2.1 Was ist Ruby on Rails?32
2.2 Bestandteile von Rails35
2.2.1 Komponenten und Zusammenspiel35
2.2.2 Action Pack36
2.2.3 Active Record36
2.2.4 Action Mailer37
2.2.5 Ajax37
2.2.6 Unit Tests37
2.3 Installation37
2.3.1 Windows37
2.3.2 Mac38
2.3.3 Linux38
2.3.4 Aktualisierung38
2.3.5 Datenbank38
2.3.6 Glückwunsch! Willkommen an Bord!38
Kapitel 3 Hands-on Rails40
3.1 Entwicklungsphilosophie41
3.2 Domain-Modell41
3.3 OnTrack Product Backlog42
3.4 Aufsetzen der Infrastruktur43
3.5 Projekte erfassen, bearbeiten und löschen45
3.5.1 Modell erzeugen45
3.5.2 Datenbankmigration47
3.5.3 Controller51
3.6 Iterationen hinzufügen52
3.7 Zwischenstand59
3.8 Iterationen anzeigen59
3.9 Iterationen bearbeiten und löschen61
3.10 Tasks hinzufügen64
3.11 Tasks anzeigen, bearbeiten und löschen67
3.12 Struktur in die Seiten bringen69
3.13 Validierung70
3.14 Benutzerverwaltung74
3.15 Login76
3.16 Tasks zuweisen79
3.17 Endstand und Ausblick80
Kapitel 4 Active Record82
4.1 Active Record-Klassen82
4.1.1 Mehr über Modellattribute84
4.1.2 Mehr über Primärschlüssel85
4.1.3 Zusammengesetzte Primärschlüssel86
4.1.4 Mehr über Tabellennamen86
4.2 Active Record direkt verwenden88
4.3 Die Rails-Konsole88
4.4 Objekte erzeugen, laden, aktualisieren und löschen89
4.4.1 Erzeugung90
4.4.2 Objekte laden90
4.4.3 Objekte aktualisieren91
4.4.4 Objekte löschen93
4.5 Mehr über Finder93
4.5.1 Suchbedingungen: conditions93
4.5.2 SQL-Injection vermeiden95
4.5.3 Ordnung schaffen: order96
4.5.4 Limitieren: limit96
4.5.5 Seitenweise: limit und offset96
4.5.6 Weitere Parameter: joins und include97
4.6 Dynamische Finder98
4.7 Kann ich weiterhin SQL verwenden?99
4.8 Metadaten – Daten ¨uber Daten100
4.9 Assoziationen101
4.9.1 Grundsätzliches101
4.9.2 1:1-Beziehungen: has one – belongs to103
4.9.3 1:N-Beziehungen: has many – belongs to109
4.9.4 N:M-Beziehungen: has and belongs to many115
4.9.5 Polymorphe Assoziationen: has many – belongs to119
4.9.6 has many :through122
4.10 Aggregation124
4.11 Vererbung125
4.12 Transaktionen128
4.13 Von Bäumen und Listen130
4.13.1 acts as list131
4.13.2 acts as tree133
4.14 Validierung135
4.14.1 Validierungs-Klassenmethoden136
4.15 Callbacks140
4.15.1 Überschreiben von Callback-Methoden141
4.15.2 Callback-Makros141
4.15.3 Observer143
4.16 Konkurrierende Zugriffe und Locking144
4.16.1 Optimistisches Locking144
Kapitel 5 Action Controller146
5.1 Controller-Grundlagen146
5.1.1 Actions147
5.1.2 Responses148
5.2 Datenaustausch151
5.2.1 Vom Controller zum View151
5.2.2 Vom View zum Controller152
5.2.3 Aus der Action in den View und zurück154
5.3 Redirects155
5.4 GET vs. POST156
5.5 Unterschiedliche Response-Formate: respond to158
5.6 Zugriff auf Datens¨atze einschr¨anken160
5.7 Ausnahme fangen mit rescue from161
5.8 Sessions162
5.8.1 Session-Daten löschen164
5.9 Der Flash-Speicher165
5.9.1 Weitere Flash-Methoden166
5.10 Filter166
5.10.1 Around-Filter167
5.10.2 Bedingungen168
5.10.3 Filterklassen und Inline-Filter169
5.10.4 Filtervererbung169
5.10.5 Filterketten170
5.11 HTTP-Authentifikation171
5.12 Routing und URL-Generierung172
5.12.1 Routing172
5.12.2 Anpassung des Routings174
5.12.3 Root Route175
5.12.4 Named Routes175
5.12.5 URL-Generierung177
5.13 Layout178
5.13.1 Automatische Layoutzuweisung179
5.13.2 Explizite Layoutzuweisung179
5.13.3 Dynamische Bestimmung des Layouts180
5.13.4 Action-spezifische Layouts180
5.14 Datei-Download181
5.14.1 Die Methode send data181
5.14.2 Die Methode send file182
5.14.3 Unsichere Dateidownloads verhindern182
5.15 Datei-Upload183
5.16 Rails-Konsole für Controller nutzen183
Kapitel 6 Action View186
6.1 HTML-Templates186
6.2 Helper-Module188
6.3 Action View Helper190
6.3.1 Formulare190
6.3.2 Schutz vor Cross-Site Request Forgery192
6.3.3 Formular-Helper mit Bezug zu Modellen193
6.3.4 Formular-Helper ohne Bezug zu Modellen195
6.3.5 HTML-Tags196
6.3.6 Texte und Zahlen196
6.3.7 Datum und Zeit197
6.3.8 Auswahlboxen198
6.3.9 Verweise und URLs200
6.3.10 Ressourcen einbinden202
6.3.11 JavaScript203
6.3.12 Code speichern und wiederverwenden203
6.3.13 Debugging204
6.3.14 HTML-Code filtern204
6.4 Layouts205
6.4.1 Layout aus Views beeinflussen205
6.5 Partial Views206
6.6 Anzeige Fehlermeldungen210
6.7 XML-Templates211
6.8 RJS-Templates212
6.9 Caching212
6.9.1 Seiten-Caching213
6.9.2 Action-Caching213
6.9.3 Fragment-Caching215
6.9.4 Was Sie nicht cachen sollten218
6.9.5 Caching testen218
6.9.6 Action Cache Plugin218
Kapitel 7 RESTful Rails220
7.1 Was ist REST?221
7.2 Warum REST?222
7.3 Was ist neu?222
7.4 Vorbereitung223
7.5 Ressource Scaffolding223
7.6 Das Modell224
7.7 Der Controller224
7.7.1 REST-URLs225
7.7.2 REST-Actions verwenden respond to226
7.7.3 Accept-Feld im HTTP-Header227
7.7.4 Formatangabe via URL228
7.8 REST-URLs in Views229
7.8.1 New und Edit230
7.8.2 Path-Methoden in Formularen: Create und Update231
7.8.3 Destroy233
7.9 URL-Methoden im Controller234
7.10 REST-Routing235
7.10.1 Konventionen235
7.10.2 Customizing235
7.11 Verschachtelte Ressourcen236
7.11.1 Anpassung des Controllers238
7.11.2 Neue Helper für verschachtelte Ressourcen239
7.11.3 Zufügen neuer Iterationen241
7.11.4 Bearbeiten existierender Iterationen243
7.12 Eigene Actions244
7.12.1 Sind wir noch DRY?246
7.13 Eigene Formate246
7.14 RESTful AJAX247
7.15 Testen249
7.16 RESTful Clients: ActiveResource250
7.17 Abschließend251
Kapitel 8 Internationalisierung252
8.1 Internationalisierung oder Lokalisierung?253
8.2 Lokalisierung und Codes253
8.2.1 Language Tag253
8.2.2 Locale253
8.3 Checkliste254
8.4 Internationalisierung vorbereiten255
8.5 Ruby Gettext-Package256
8.5.1 Installation257
8.5.2 Texte übersetzen257
8.5.3 Die Schritte im Überblick262
8.5.4 Anwendung und Gettext zusammenbringen262
8.5.5 Lokalisierte Templates263
8.5.6 Controller263
8.5.7 Modelle264
8.5.8 Dynamische Texte und Pluralisierung266
8.5.9 Datum, Zahlen und Währungen268
8.5.10 Wochen- und Monatsnamen270
8.5.11 Sortierung272
8.5.12 Zusammenfassung273
Kapitel 9 Action Mailer274
9.1 E-Mail-Versand274
9.1.1 E-Mail erstellen274
9.1.2 E-Mail-Objekt erzeugen278
9.1.3 E-Mail versenden279
9.1.4 Testen281
9.1.5 Tipp zum zuverlässigen E-Mail-Versand282
9.1.6 Multipart E-Mails283
9.2 E-Mail-Empfang285
9.2.1 E-Mail empfangen286
9.2.2 Empfang testen287
Kapitel 10 Ajax288
10.1 Ajax und Rails290
10.2 Hello, Ajax World291
10.3 Ajax-Formulare292
10.3.1 Task-Schnellerfassung292
10.3.2 Ajax-Formulare und JavaScript295
10.4 Feldbeobachter295
10.4.1 Beispiel: Tasks filtern297
10.5 Callback-Methoden299
10.6 Drag and Drop300
10.6.1 Einkaufen per Drag and Drop300
10.6.2 Sortieren per Drag and Drop303
10.7 Autocompletion306
10.8 RJS Templates307
10.8.1 Hinzufügen von Tasks visuell optimieren308
10.8.2 Weitere Techniken311
10.8.3 Debugging und Testen314
10.9 Zusammenfassung und Ausblick315
Kapitel 11 Produktion316
11.1 Umgebungen in Rails316
11.1.1 Umgebung definieren316
11.1.2 Entwicklung317
11.1.3 Test317
11.1.4 Produktion317
11.1.5 Umgebung hinzufügen318
11.2 Webserver und Datenbank319
11.2.1 Datenbank319
11.2.2 Webserver Cluster319
11.2.3 Apache und Mongrel320
11.2.4 Alternativen323
11.3 Skalierung324
11.4 Session-Speicher325
11.5 Tipps zur Performanz326
11.6 Sicherheit327
11.7 Auslieferung330
11.8 Wartung330
11.9 Überwachung331
Kapitel 12 Deployment mit Capistrano (und Subversion)334
12.1 Quickstart: Capistrano in 10 Minuten335
12.1.1 Voraussetzungen335
12.1.2 Installation von Capistrano337
12.1.3 Anwendung Capistrano-ready machen337
12.1.4 Konfiguration338
12.1.5 Setup des entfernten Verzeichnisses340
12.1.6 Erstes Deployment340
12.1.7 Fallstricke343
12.1.8 Nachfolgende Deployments344
12.2 Datenbanksetup und Migration344
12.3 Rollback eines Release345
12.3.1 Rollback mit Datenbankmigration345
12.4 Tasks345
12.4.1 Ausführen von Tasks346
12.4.2 Mehr über run und sudo348
12.4.3 Weitere Task-Helper: delete, put und render349
12.4.4 Transaktionen und Rollbacks349
12.4.5 Überschreiben von Standardtasks350
12.4.6 Tasks erweitern: Before- und After-Tasks350
12.5 Variablen351
12.6 FastCGI-Utilities352
12.6.1 Spawner352
12.6.2 Reaper353
12.7 Gemeinsame Dateien – das Shared-Verzeichnis353
12.7.1 Eine ”persistente“ Datenbank-Konfiguration353
12.8 Capistrano-Referenz355
12.9 Capistrano-Konfiguration: deploy.rb356
Kapitel 13 Testgetriebene Entwicklungmit Ruby und Test::Unit358
13.1 Unit Tests – eine Definition358
13.2 Ein Beispiel359
13.3 Warum testen?360
13.4 Test::Unit361
13.4.1 Strukturierung von Unit Tests362
13.4.2 Wohin mit den Tests?364
13.4.3 Ausführen der Tests364
13.4.4 Unabhängigkeit von Tests365
13.5 Testgetriebene Softwareentwicklung365
13.5.1 TODO-Listen367
13.5.2 Beispiel367
13.6 Retrospektive369
Kapitel 14 Testgetriebene Entwicklungmit Ruby on Rails370
14.1 Generierte Testklassen370
14.2 Testdatenbank371
14.3 Testausführung mit Rake372
14.4 Eine Programmierepisode372
14.4.1 Entwicklung einer Modellklasse373
14.4.2 Entwicklung des Controllers377
14.4.3 Programmierung des Views378
14.4.4 Geänderte Anforderungen380
14.4.5 Retrospektive386
14.5 Unit Tests – Testen von Modellklassen387
14.5.1 Struktur und Elemente von Modelltests387
14.5.2 Testmethoden388
14.5.3 Testdaten – Fixtures389
14.5.4 Transaktionale Fixtures392
14.5.5 Testrezepte für Modelle392
14.6 Funktionale Tests398
14.6.1 Testmethoden398
14.6.2 Kontrollfluss-Assertions399
14.6.3 Routing-Assertions401
14.6.4 Datencontainer-Assertions402
14.6.5 Template-Assertions402
14.6.6 Testrezepte für Controller und Views404
14.7 Integrationstests408
14.7.1 Test-DSLs410
14.7.2 Sessions411
14.8 Testen von E-Mails412
14.9 Mock-Objekte412
14.10 Zusammenfassung413
14.11 Assertions – U¨ bersicht414
Anhang416
Literaturverzeichnis424
Stichwortverzeichnis426

Weitere E-Books zum Thema: Internet - Intranet - Webdesign - Security

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Internet für Psychologen

E-Book Internet für Psychologen
Format: PDF

Das Internet kurz zu erklären und gleichzeitig einen aktuellen Überblick über psychologische Themen und Forschungsschwerpunkte zu geben, ist wohl ein hoffnungsloses Unterfangen. Zu…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

Texten für das Web

E-Book Texten für das Web
Erfolgreich werben, erfolgreich verkaufen Format: PDF

Dieses Buch bietet das nötige Handwerkszeug, um die Qualität der eigenen Web-Texte zu verbessern bzw. eingekaufte Texte sicherer beurteilen zu können. Es liefert klare Kriterien für die Textanalyse,…

TCP/IP-Praxis

E-Book TCP/IP-Praxis
Dienste, Sicherheit, Troubleshooting Format: PDF

Netzwerke modernen Standards verlangen weniger nach Rezepten für Neu - Design als vielmehr nach Wegen, Maßnahmen zur Integration in eine bestehende Infrastruktur aufzuzeigen. Diesem Aspekt trägt TCP/…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

E-Learning

E-Book E-Learning
Einsatzkonzepte und Geschäftsmodelle Format: PDF

Der vorliegende Band ist dem Lernen und Lehren auf der Basis moderner Informations- und Kommunikationstechnologien gewidmet. Das Buch fasst die wichtigsten Ansätze zur Einführung, Umsetzung und…

Weitere Zeitschriften

Baumarkt

Baumarkt

Baumarkt enthält eine ausführliche jährliche Konjunkturanalyse des deutschen Baumarktes und stellt die wichtigsten Ergebnisse des abgelaufenen Baujahres in vielen Zahlen und Fakten zusammen. Auf ...

Bibel für heute

Bibel für heute

BIBEL FÜR HEUTE ist die Bibellese für alle, die die tägliche Routine durchbrechen wollen: Um sich intensiver mit einem Bibeltext zu beschäftigen. Um beim Bibel lesen Einblicke in Gottes ...

Card-Forum

Card-Forum

Card-Forum ist das marktführende Magazin im Themenbereich der kartengestützten Systeme für Zahlung und Identifikation, Telekommunikation und Kundenbindung sowie der damit verwandten und ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

care konkret

care konkret

care konkret ist die Wochenzeitung für Entscheider in der Pflege. Ambulant wie stationär. Sie fasst topaktuelle Informationen und Hintergründe aus der Pflegebranche kompakt und kompetent für Sie ...

Correo

Correo

 La Revista de Bayer CropScience para la Agricultura ModernaPflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und am Thema Interessierten mit umfassender ...