Oreilly - Practical Groovy Programming

Posted By: AlenMiler
Oreilly - Practical Groovy Programming

Oreilly - Practical Groovy Programming: Essential Techniques for Working with JSON, Metaprogramming, the Groovy JDK, and SQL by Ken Kousen
4 hours 58 minutes | June 2015 | Video: AVC (.mp4) 1280x720 29.97fps | Audio: AAC 44.1KHz 2ch | 2.34 GB
Genre: eLearning | Language: English

Take your basic Groovy skills to the next level with this practical video workshop. Presenter and Java consultant Ken Kousen shows you how to work with XML and JSON, implement runtime metaprogramming, and use several AST transformations. You’ll also dive into operator overloading, Groovy SQL, and the Groovy JDK.

Once you complete this course, check out Ken’s other videos on the subject: Mastering Groovy and Groovy Fundamentals. These courses demonstrate the many advantages of adding Groovy to existing projects written in Java and other object-oriented languages.

Create XML and JSON with builders, and parse them with XmlSlurper and JsonSlurper
Mix Groovy and Java classes together to take advantage of what each does best
Add properties and methods via runtime metaprogramming, and enhance existing classes from Java
Work with AST transformations, including @Delegate, @Immutable, @Sortable, @Singleton, and @Builder
Use Groovy JDK methods on collections, strings, and numbers
Learn how operators in Groovy map to methods—and how to add those methods to existing classes in both Groovy and Java
Access databases, apply CRUD operations, and call stored procedures with Groovy SQL
Ken Kousen, President of Kousen IT, Inc., is a technical trainer, mentor, and consultant in all areas related to Java, specializing in Android, Spring, Hibernate/JPA, Groovy, and Grails. He is the author of Making Java Groovy (Manning) and the upcoming O’Reilly book, Gradle for Android.

Introduction and Review
A Quick Groovy Review 24m 05s

Java and Groovy Together
Using Groovy POGOs in a Java Banking Example 14m 35s

Parsing and Building
Using XmlSlurper and JsonSlurper 14m 13s

Builders 16m 30s

Demo: Using Flickr's API to Display Pictures 15m 02s

Demo: Open Weather 22m 07s

Runtime Metaprogramming
The Metaclass/Adding Properties and Methods 07m 07s

Categories 08m 10s

Demo: Enhancing Existing Java Classes 12m 37s

Demo: Extra Logging Levels 13m 16s

AST Transformations
Introduction to AST Transforms 04m 51s

@Delegate 08m 30s

@Immutable 08m 27s

@Singleton 03m 32s

@Sortable 06m 49s

@Builder, @TypeChecked, @Compile AST Transformations Wrap Up 12m 59s

Tour of the Groovy JDK
Methods on Collections 09m 16s

Methods on Strings and Numbers 14m 12s

Combinations and Permutations 06m 18s

File I/O 13m 43s

Operator Overloading
How Operators Map to Methods and Examples from the Groovy Libraries 08m 41s

Adding Operator Methods 12m 50s

Groovy SQL
Accessing Databases 12m 57s

CRUD Methods 14m 28s

Calling Stored Procedures 13m 16s

Video: MPEG4 Video (H264) 1280x720 29.97fps 1090kbps [V: h264 main L3.1, yuv420p, 1280x720, 1090 kb/s]
Audio: AAC 44100Hz mono 128kbps [A: SoundHandler (aac lc, 44100 Hz, mono, 128 kb/s)]


Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 132 MiB
Duration : 15mn 2s
Overall bit rate mode : Variable
Overall bit rate : 1 227 Kbps
Writing application : Lavf55.19.104

ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : Main@L3.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 15mn 2s
Bit rate : 1 090 Kbps
Nominal bit rate : 1 500 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.039
Stream size : 117 MiB (89%)
Writing library : x264 core 138
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=5 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=60 / keyint_min=20 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=cbr / mbtree=1 / bitrate=1500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=50 / qpstep=4 / vbv_maxrate=1500 / vbv_bufsize=1200 / nal_hrd=none / ip_ratio=1.41 / aq=1:1.00

ID : 1
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 15mn 2s
Duration_LastFrame : -22ms
Bit rate mode : Variable
Bit rate : 128 Kbps
Maximum bit rate : 1 500 Kbps
Channel(s) : 2 channels
Channel(s)_Original : 1 channel
Channel positions : Front: C
Sampling rate : 44.1 KHz
Compression mode : Lossy
Stream size : 13.8 MiB (10%)

Oreilly - Practical Groovy Programming