Grails in action:
Gespeichert in:
Hauptverfasser: | , |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Greenwich, Conn.
Manning
2009
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXIX, 487 S. Ill., graph. Darst. |
ISBN: | 9781933988931 1933988932 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035687231 | ||
003 | DE-604 | ||
005 | 20220301 | ||
007 | t | ||
008 | 090820s2009 ad|| |||| 00||| eng d | ||
020 | |a 9781933988931 |9 978-1-933988-93-1 | ||
020 | |a 1933988932 |9 1-933988-93-2 | ||
024 | 3 | |a 9781933988931 | |
035 | |a (OCoLC)290429911 | ||
035 | |a (DE-599)BSZ307832902 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-523 |a DE-83 |a DE-473 |a DE-526 |a DE-188 | ||
050 | 0 | |a TK5105.8883 | |
082 | 0 | |a 004 | |
084 | |a ST 252 |0 (DE-625)143627: |2 rvk | ||
084 | |a ST 253 |0 (DE-625)143628: |2 rvk | ||
100 | 1 | |a Smith, Glen |e Verfasser |0 (DE-588)1252720823 |4 aut | |
245 | 1 | 0 | |a Grails in action |c Glen Smith ; Peter Ledbrook |
264 | 1 | |a Greenwich, Conn. |b Manning |c 2009 | |
300 | |a XXIX, 487 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
650 | 4 | |a Application software |x Development | |
650 | 4 | |a Groovy (Computer program language) | |
650 | 4 | |a Java (Computer program language) | |
650 | 4 | |a Web site development | |
650 | 0 | 7 | |a Grails |0 (DE-588)7630448-6 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Groovy |g Programmiersprache |0 (DE-588)7575961-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Softwareproduktionsumgebung |0 (DE-588)4138444-1 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Grails |0 (DE-588)7630448-6 |D s |
689 | 0 | 1 | |a Groovy |g Programmiersprache |0 (DE-588)7575961-5 |D s |
689 | 0 | 2 | |a Softwareproduktionsumgebung |0 (DE-588)4138444-1 |D s |
689 | 0 | |5 DE-604 | |
700 | 1 | |a Ledbrook, Peter |e Verfasser |0 (DE-588)1252720882 |4 aut | |
856 | 4 | 2 | |m Digitalisierung UB Bamberg |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017741382&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017741382 |
Datensatz im Suchindex
_version_ | 1804139396916576256 |
---|---|
adam_text | brief
contents
Part
1
Introducing Grails................
..................................1
1 ■
Grails in a hurry...
3
2 ■
The Groovy essentials
31
Part
2
Core Grails.....................
........................................63
3 ■
Modeling the domain
65
4 ■
Putting the model to work
92
5 ■
Controlling application flow
121
6 ■
Developing tasty views, forms, and layouts
155
7 ■
Building reliable applications
188
Part
3
Everyday Grails............
........................................219
8 ■
Using plugins: adding Web
2.0
in
60
minutes
221
9 ■
Wizards and workflow with webflows
255
10 ■
Don t let strangers in
—
security
280
11 ■
Remote access
310
12 ■
Understanding messaging and scheduling
340
VIH
BRIEF CONTENTS
Part
4
Advanced Grails
...................................................363
13 ■
Advanced GORM
kung
fu
365
14 ■
Spring and transactions
395
15
Ш
Beyond compile, test, and run
415
16 ■ Plugin
development
442
contents
foreword
xvii
preface
xix
acknowledgments
xxi
about this book
xxiv
about the title
xxviii
about the cover illustration
xxix
Part
1
Introducing Grails....
.....................................1
1
Grails in a hurry...
3
1.1
Why Grails?
4
First there was Rails...
4 ■
Why Grails changed the game
5
Big idea
#1:
Convention over Configuration
6·
Big idea
#2:
agile
philosophy
6 ■
Big idea
#3:
rock-solid foundations
7 ·
Big idea
#4:
scaffolding and templating
7 ■
Big idea
#5:
Java
integration
8 ■
Big idea
#6:
incredible wetware
8 ■
Big idea
#7:
productivity ethos
9
1.2
Getting set up
9
1.3
Our sample program: a Web
2.0
QOTD
10
Writing your first controller
11 ■
Writing stuff out: the view
13
Adding some
styk
with Grails layouts
15
IX
2
CONTENTS
1.4
Creating the domain model
17
Configuring the data source
18 *
Exploring database
operations
19
1.5
Adding UI actions
20
Scaffolding: just add rocket fuel
22*
Surviving the worst
case scenario
23
1.6
Improving the architecture
24
Your first Grails test case
26 *
Going Web
2.0:
Ajax-ing
the view
27*
Bundling the final product: creating a
WAR file
29 *
And
55
lines of code later
29
1.7
Summary and best practices
30
The Groovy essentials
31
2.1
An introduction
32
Let s play with Groovy!
32*
Some basic differences from
Java
34 ■
Some new operators
36
2.2
Exploring types
38
hooking at basic types
39 *
Syntax sugar for lists, maps,
and ranges
42
2.3
Time-saving features
44
Who needs semicolons
? 44 *
Native regular
expressions
46 *
Property notation
48 *
Anything in
Java that s not in Groovy
? 49
2.4
Expert Groovy
50
Discovering closures
50 *
Programming dynamically
53
The Groovy JDK
55 »
Creating and parsing XML the
easy way
58
2.5
Summary and best practices
60
Part
2
Core Grails
................................................. 63
3
Modeling the domain
65
3.1
Hubbub: starting our example application
66
Domain-driven design
67 *
Hubbub kick-start: from
0
tof
irst hit
68 ■
Introducing GORM (Grails object relational
mapping)
69
3.2
Your first domain class object
69
Saving and retrieving users via tests
70 *
Updating user
properties
72 *
Deleting users
73
4
5
CONTENTS
3.3
Validation: stopping garbage in and out
74
Standard validators
76 *
Custom validation with regular
expressions
78 *
Cross-field validation tricks
78
3.4
Defining the data model
—1:1,
l:m, m:n
79
One-to-one relationships
79 *
One-to-many relationships
82
Many-to-many relationships
86 *
Self-referencing
relationships
89
3.5
Summary and best practices
90
Putting the model to work
92
4.1
Creating instant UIs with scaffolding
93
Scaffolding Hubbub s domain classes
93 *
Scaffolding
and validation
95 *
Customizing error messages
96
Managing relationships via scaffolds
98 *
Tweaking
scaffold layouts with CSS
100 *
What can t you do with
dynamic scaffolds?
102 *
Static scaffolding: generating and
customizing scaffold code
102*
Customizing scaffolding
tempfates: building your own UI generator
104
4.2
Groovy querying with dynamic finders and Query
by Example
104
Implementing a basic search form
105 *
The many faces of
dynamic finders
107*
Tuning dynamic finders with eager
and lazy fetching
109*
When dynamic finders don t deliver
110
Introducing Query by Example ((¿BE)
110*
Getting dynamic
with list(), listOrderByO, and countBy() 111
4.3
More sophisticated query options
112
With great power: criteria querying
112 *
Dynamic queries
with criteria
114*
Creating a tag cloud using report-style
query projections
116*
Using
HOL
directly
117
4.4
Bootstrapping reference data
118
4.5
Summary and best practices
119
Controlling application flow
121
5.1
Controller essentials
122
Implementing a timeline for Hubbub
123 *
Adding new
posts
125 *
Exploring scopes
128 *
Handling default
actions
131 *
Working with redirects
132
5.2
Services: making things robust and maintainable
133
Implementing
a
PostService 133 *
Wiring our
PostService
to our
PostController 134
CONTENTS
5.3 Data
binding
136
Binding to an existing object
136 *
Whitelist and blacklist
bindparams
137*
Complex forms: binding multiple
objects
137 »
Error handling
140
5.4
Command objects
141
Handling custom user registration forms
141 *
Participating
in injection
144
5.5
Working with images
144
Handling file uploads
144 *
Uploading to the
filesystem
146 *
Rendering photos from the database
146
5.6
Intercepting requests with filters
148
Writing your first filter
148 ■
Filter URL options
150
5.7
Creating custom URL mappings
151
myHubbub: rolling your own permalinks
152*
Optional
variabhs and constraints
152 *
Handling response
codes
153 *
Mapping directly to the view
153 *
Wildcard
support
153
5.8
Summary and best practices
154
Developing tasty views, forms, and layouts
155
6.1
Understanding the core form tags
156
A handful of essential tags
156 *
A pocketful of link
tags
157 *
A tour of the
f
orm
tags
158 *
Adding
pagination to the timeline
164
6.2
Extending views with your own tags
165
Simpk tags
165 ·
Logical tags
167 *
Iteration tags
168
Calling one tag from another
169
6.3
Adding delicious layouts
170
Introducing SiteMesh
170*
Standardizing page layouts
173
Fragment layouts with templates
175 *
Adding skinning
176
Implementing navigation tabs
177
6.4
Applying
Ajax
tags
179
Choosing a JavaScript library
179 *
Essential
Ajax
form
remoting
180 * Sizzle++:
going further with animation and
effects
182
6.5
Summary and best practices
186
CONTENTS
У**™
Building
reliable
applications
188
7.1
Why should we test
software?
188
7.2
Unit testing
190
Testing domain classes
191 *
Testing services
195 *
General
mocking in Grails
198 *
Testing controllers
201 *
Testing
tag libraries
204
7.3
Integration testing
206
Filling the gaps
207 ·
When only an integration test will do
210
7.4
Functional testing
211
Introducing the Functional Test plugin
212*
Other
testing tools
215
7.5
Summary and best practices
216
Part
5
Everyday Grails
........................................219
Using plugins: adding Web
2.0
in
60
minutes
221
8.1
Taking advantage of others hard work
222
Finding plugins
223 *
Installing plugins
225
8.2
Adding charts and graphs
228
Installing the Google Chart plugin
228*
Creating your first
chart
229 *
What s the story with dataType?
230 *
Bar charts:
setting custom colors and gridlines
231 *
Line charts: handling
multiple
datasets
and line styles
232 *
Intranet charts: GoogL·
Chart without Google
233
8.3
Adding mail support
233
Sending mail inline
235 *
Using a view as your mail body
236
8.4
Full-text search: rolling your own search
237
Making objects searchable
238 *
Highlighting hit terms
241
Implementing pagination
243 ■
Customizing what gets
indexed
244*
Query suggestions: did you mean Grails ?
245
Searching across relationships
246
8.5
GrailsUI makeover
248
Adding tooltips
249 *
Implementing rich-text editing
249
Implementing calendar-style dates
251 *
Introducing
autocomplete
252
8.6
Summary and best practices
253
9
10
11
CONTENTS
Wizards and workflow with webflows
255
9.1
What is a webflow?
256
Writing your first flow: a checkout wizard
257 *
Anatomy of a
flow state
259
9.2
Working with webflows
261
Flow scope: better than Flash scope, cheaper than session scope
261
Strategies for binding and validation
262*
Making decisions
programmatically with action states
265
9.3
Advanced webflows
266
Row-scoped services
266 *
Subflows and conversations
269
9.4
Testing webflows
273
Handling input parameters
275 *
Testing sub flow
transitions
276 *
Testing flow termination
277
9.5
Summary and best practices
278
Don
Ч
let strangers in
—
security
280
10.1
Why security matters
280
10.2
Protecting against malicious intent
281
Validate all your inputs
282 ·
Escape all your outputs
284
SSL, encryption, and message digests
287 ■
Don t give away
information
289
10.3
Access control
291
Getting started with Spring Security
293*
Protecting URLs
295
Getting hold of the current user
298 *
Using a custom login
page
300 *
Testing access control
301
10.4
Further exploration of Spring Security
302
Adding user registration
303 ·
Tightening restrictions on
access
304 ■
Other authentication options
306
10.5
Summary and best practices
308
Remote access
310
11.1
Using a RESTful solution
311
Your first steps in REST
311 ■
Serializing and deserializing
domain instances
315*
Testing the API
318
11.2
Negotiating the representation
320
REST and theparams property
321 ■
Handling multiple response
formats
323 *
How the response format is decided
325
11.3
REST in practice
327
Keeping the API stable
327 *
Applying the theory
329
12
CONTENTS XV
11.4
Operation-oriented
remoting
333
77г«
Remoting plugin
333 ■
Comparing the
remoting
protocoL·
335 «
Web Services via SOAP
336
11.5
Summary and best practices
338
Understanding messaging and scheduling
340
12.1
A hitchhiker s guide to messaging
341
Learning to think in async: what are good messaging
candidates?
342*
Messaging terminology: of producers,
consumers, topics, and queues
342 ■
Installing and configuring
the
JMS
plugin
344
12.2
Using the Grails
JMS
plugin
346
Our killer Hubbub feature:
IM
integration with Jabber
346
Sending
JMS
messages
347 ■
Reading the queue
349
12.3
Grails scheduling
352
Writing a daily digest job
352 ■
Fine-grained scheduling
with cron
354
12.4
Advanced scheduling
355
Dealing with re-entrance and statefuljobs
356 ■
Pausing and
resuming stateful jobsprogrammatically
357 *
Persistence and
clustering
360
12.5
Summary and best practices
361
Part
4
Advanced Grails
........................................363
13
Advanced GORM
kung
fu
365
13.1
Domain model
kung
fu
366
Exploring inheritance options
366 ■
Embedding domain
classes
368 ■
Using maps for quick and dirty (or cheap and
cheerful) tables
368 ■
Exploring domain model events
369
13.2
Caching
kung
fu:
moving from
2
users to
2л10
370
Hibernate settings: should you use the second-level
cachei
370
Cache configuration
371 ■
Caching individual domain
classes
372 ■
Enough talk, let s profile
374 ■
Improving
performance with indexed fields
376 ■
What about query
caching?
377 «
JNDI? That s so old school.
.. 378
13.3
Legacy integration
kung
fu:
dealing with multiple data
sources
379
CONTENTS
13.4
Dealing with difficult legacy databases
380
Recycling Hibernate mappings
381 ■
Using GORM DSL to access
existing database table structures
388
13.5
Summary and best practices
393
Spring and transactions
395
14.1
Spring and Grails
396
A conventional approach
397 ■
Creating and defining
your own beans
401
14.2
Using transactions with GORM
406
Easy transactions with services
406 ■
Transactions, the session,
and me
410 *
Fine-grained transactions
412
14.3
Summary and best practices
413
Beyond compile, test, and run
415
15.1
The Grails build system
417
Packaging an application
417 ■
Going it alone: how to create a
dist
command
420 ■
Deployment
426
15.2
Build integration
—
not for the hobbyist
430
Ant
430 ■
Maven
434
15.3
Coping with a changing data model
436
Schema migration with Hibernate
437 *
Intelligent migration
with
Autobase
438
15.4
Summary and best practices
440
Plugin
development
442
16.1
Creating your first plugin
443
Are you sure it s not an application
? 443 *
Controllers, views,
and other artifacts
446
16.2
Publishing your plugin
450
Testing plugins
451 ■
Releasing the plugin into the wild
452
16.3
Integrating with Grails
454
Enhancing artifacts with dynamic methods
455 ·
Dealing with
class reloading
460 ■
Leveraging Spring
463 ■
Playing with
servlets and filters
465 ■
Augmenting the available Grails
commands
467
16.4
Summary and best practices
468
index
471
|
any_adam_object | 1 |
author | Smith, Glen Ledbrook, Peter |
author_GND | (DE-588)1252720823 (DE-588)1252720882 |
author_facet | Smith, Glen Ledbrook, Peter |
author_role | aut aut |
author_sort | Smith, Glen |
author_variant | g s gs p l pl |
building | Verbundindex |
bvnumber | BV035687231 |
callnumber-first | T - Technology |
callnumber-label | TK5105 |
callnumber-raw | TK5105.8883 |
callnumber-search | TK5105.8883 |
callnumber-sort | TK 45105.8883 |
callnumber-subject | TK - Electrical and Nuclear Engineering |
classification_rvk | ST 252 ST 253 |
ctrlnum | (OCoLC)290429911 (DE-599)BSZ307832902 |
dewey-full | 004 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 004 - Computer science |
dewey-raw | 004 |
dewey-search | 004 |
dewey-sort | 14 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01883nam a2200481 c 4500</leader><controlfield tag="001">BV035687231</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220301 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090820s2009 ad|| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781933988931</subfield><subfield code="9">978-1-933988-93-1</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1933988932</subfield><subfield code="9">1-933988-93-2</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781933988931</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)290429911</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BSZ307832902</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-523</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-473</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-188</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">TK5105.8883</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">004</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 252</subfield><subfield code="0">(DE-625)143627:</subfield><subfield code="2">rvk</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="100" ind1="1" ind2=" "><subfield code="a">Smith, Glen</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1252720823</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Grails in action</subfield><subfield code="c">Glen Smith ; Peter Ledbrook</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Greenwich, Conn.</subfield><subfield code="b">Manning</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIX, 487 S.</subfield><subfield code="b">Ill., graph. Darst.</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=" " ind2="4"><subfield code="a">Application software</subfield><subfield code="x">Development</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Groovy (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Java (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Web site development</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Grails</subfield><subfield code="0">(DE-588)7630448-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Groovy</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7575961-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Softwareproduktionsumgebung</subfield><subfield code="0">(DE-588)4138444-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Grails</subfield><subfield code="0">(DE-588)7630448-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Groovy</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)7575961-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Softwareproduktionsumgebung</subfield><subfield code="0">(DE-588)4138444-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="700" ind1="1" ind2=" "><subfield code="a">Ledbrook, Peter</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1252720882</subfield><subfield code="4">aut</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Bamberg</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=017741382&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-017741382</subfield></datafield></record></collection> |
id | DE-604.BV035687231 |
illustrated | Illustrated |
indexdate | 2024-07-09T21:43:26Z |
institution | BVB |
isbn | 9781933988931 1933988932 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017741382 |
oclc_num | 290429911 |
open_access_boolean | |
owner | DE-523 DE-83 DE-473 DE-BY-UBG DE-526 DE-188 |
owner_facet | DE-523 DE-83 DE-473 DE-BY-UBG DE-526 DE-188 |
physical | XXIX, 487 S. Ill., graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | Manning |
record_format | marc |
spelling | Smith, Glen Verfasser (DE-588)1252720823 aut Grails in action Glen Smith ; Peter Ledbrook Greenwich, Conn. Manning 2009 XXIX, 487 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier Application software Development Groovy (Computer program language) Java (Computer program language) Web site development Grails (DE-588)7630448-6 gnd rswk-swf Groovy Programmiersprache (DE-588)7575961-5 gnd rswk-swf Softwareproduktionsumgebung (DE-588)4138444-1 gnd rswk-swf Grails (DE-588)7630448-6 s Groovy Programmiersprache (DE-588)7575961-5 s Softwareproduktionsumgebung (DE-588)4138444-1 s DE-604 Ledbrook, Peter Verfasser (DE-588)1252720882 aut Digitalisierung UB Bamberg application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017741382&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Smith, Glen Ledbrook, Peter Grails in action Application software Development Groovy (Computer program language) Java (Computer program language) Web site development Grails (DE-588)7630448-6 gnd Groovy Programmiersprache (DE-588)7575961-5 gnd Softwareproduktionsumgebung (DE-588)4138444-1 gnd |
subject_GND | (DE-588)7630448-6 (DE-588)7575961-5 (DE-588)4138444-1 |
title | Grails in action |
title_auth | Grails in action |
title_exact_search | Grails in action |
title_full | Grails in action Glen Smith ; Peter Ledbrook |
title_fullStr | Grails in action Glen Smith ; Peter Ledbrook |
title_full_unstemmed | Grails in action Glen Smith ; Peter Ledbrook |
title_short | Grails in action |
title_sort | grails in action |
topic | Application software Development Groovy (Computer program language) Java (Computer program language) Web site development Grails (DE-588)7630448-6 gnd Groovy Programmiersprache (DE-588)7575961-5 gnd Softwareproduktionsumgebung (DE-588)4138444-1 gnd |
topic_facet | Application software Development Groovy (Computer program language) Java (Computer program language) Web site development Grails Groovy Programmiersprache Softwareproduktionsumgebung |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017741382&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT smithglen grailsinaction AT ledbrookpeter grailsinaction |