Linked e-resources
Details
Table of Contents
At a Glance; Contents; About the Author; About the Technical Reviewer; Part I: Starting Out; Chapter 1: Introduction; 1.1 Problem Solving; 1.2 About This Book; Chapter 2: Software to Install; 2.1 Java/Groovy; 2.1.1 Trying It Out; 2.2 Others; 2.3 Code on GitHub; Chapter 3: The Basics; 3.1 Coding Terms; 3.2 Primitives and Reference; 3.3 Strings/Declarations; 3.4 Statements; 3.5 Assignment; 3.6 Class and Object; 3.6.1 Properties and Methods; 3.6.2 Groovy Classes; 3.6.3 JavaScript Prototypes; 3.6.4 Scala Classes; 3.6.5 Creating a New Object; 3.7 Comments; 3.8 Summary
Part II: Glorified CalculatorChapter 4: Math; 4.1 Adding, Subtracting, Etc.; 4.2 More Complex Math; 4.3 Random Numbers; 4.4 Summary; Chapter 5: Arrays, Lists, Sets, and Maps; 5.1 Arrays; 5.2 Lists; 5.2.1 Groovy Lists; 5.2.2 Scala Lists; 5.2.3 JavaScript Arrays; 5.3 Sets; 5.4 Maps; 5.4.1 Groovy Maps; 5.4.2 Scala Maps; 5.4.3 JavaScript Maps; 5.5 Summary; Chapter 6: Conditionals and Loops; 6.1 If, Then, Else; 6.2 switch Statements; 6.3 Boolean Logic; 6.4 Looping; 6.5 Summary; Chapter 7: Methods; 7.1 Call Me; 7.1.1 Non-Java; 7.2 Break It Down; 7.3 Return to Sender; 7.4 Static; 7.5 Varargs
7.6 Main Method7.7 Exercises; 7.8 Summary; Part III: Polymorphic Spree; Chapter 8: Inheritance; 8.1 Objectify; 8.1.1 JavaScript; 8.2 Parenting 101; 8.2.1 JavaScript; 8.3 Packages; 8.4 Public Parts; 8.4.1 JavaScript; 8.5 Interfaces; 8.6 Abstract Class; 8.7 Enums; 8.8 Annotations; 8.9 Autoboxing; 8.9.1 Autoboxing; 8.9.2 Unboxing; 8.10 Summary; Chapter 9: Design Patterns; 9.1 Observer; 9.2 MVC; 9.3 DSL; 9.3.1 Closures; 9.3.2 Overriding Operators; 9.4 Actors; Chapter 10: Functional Programming; 10.1 Functions and Closures; 10.2 Map/Filter/etc.; 10.3 Immutability; 10.4 Java 8; 10.5 Groovy
10.6 Scala10.7 Summary; Chapter 11: Refactoring; 11.1 Object-Oriented Refactoring; 11.2 Functional Refactoring; 11.3 Refactoring Examples; 11.3.1 Renaming a Method; 11.3.2 Moving a Method from One Class to Another (Delegation); 11.3.3 Replacing a Bunch of Literals (Strings or Numbers) with a Constant (Static Final); 11.3.4 Renaming a Function; 11.3.5 Wrapping a Function in Another Function and Calling It; 11.3.6 Inline a Function Wherever It Is Called; 11.3.7 Extract Common Code into a Function (the Opposite of the Previous); Chapter 12: Utilities; 12.1 Dates and Times
12.1.1 Java 8 Date-Time12.1.2 Groovy Date; 12.1.3 JavaScript Date; 12.1.4 Java DateFormat; 12.2 Currency; 12.3 TimeZone; 12.4 Scanner; Part IV: Real Life; Chapter 13: Building; 13.1 Ant; 13.2 Maven; 13.2.1 Using Maven; 13.2.2 Starting a New Project; 13.2.3 Life Cycle; 13.2.4 Executing Code; 13.3 Gradle; 13.3.1 Projects and Tasks; 13.3.2 Plug-ins; 13.3.3 Maven Dependencies; Chapter 14: Testing; 14.1 Types of Tests; 14.2 JUnit; 14.2.1 Hamcrest; 14.2.2 Assumptions; Chapter 15: Input/Output; 15.1 Files; 15.2 Reading Files; 15.3 Writing Files; 15.4 Downloading Files; 15.5 Summary
Part II: Glorified CalculatorChapter 4: Math; 4.1 Adding, Subtracting, Etc.; 4.2 More Complex Math; 4.3 Random Numbers; 4.4 Summary; Chapter 5: Arrays, Lists, Sets, and Maps; 5.1 Arrays; 5.2 Lists; 5.2.1 Groovy Lists; 5.2.2 Scala Lists; 5.2.3 JavaScript Arrays; 5.3 Sets; 5.4 Maps; 5.4.1 Groovy Maps; 5.4.2 Scala Maps; 5.4.3 JavaScript Maps; 5.5 Summary; Chapter 6: Conditionals and Loops; 6.1 If, Then, Else; 6.2 switch Statements; 6.3 Boolean Logic; 6.4 Looping; 6.5 Summary; Chapter 7: Methods; 7.1 Call Me; 7.1.1 Non-Java; 7.2 Break It Down; 7.3 Return to Sender; 7.4 Static; 7.5 Varargs
7.6 Main Method7.7 Exercises; 7.8 Summary; Part III: Polymorphic Spree; Chapter 8: Inheritance; 8.1 Objectify; 8.1.1 JavaScript; 8.2 Parenting 101; 8.2.1 JavaScript; 8.3 Packages; 8.4 Public Parts; 8.4.1 JavaScript; 8.5 Interfaces; 8.6 Abstract Class; 8.7 Enums; 8.8 Annotations; 8.9 Autoboxing; 8.9.1 Autoboxing; 8.9.2 Unboxing; 8.10 Summary; Chapter 9: Design Patterns; 9.1 Observer; 9.2 MVC; 9.3 DSL; 9.3.1 Closures; 9.3.2 Overriding Operators; 9.4 Actors; Chapter 10: Functional Programming; 10.1 Functions and Closures; 10.2 Map/Filter/etc.; 10.3 Immutability; 10.4 Java 8; 10.5 Groovy
10.6 Scala10.7 Summary; Chapter 11: Refactoring; 11.1 Object-Oriented Refactoring; 11.2 Functional Refactoring; 11.3 Refactoring Examples; 11.3.1 Renaming a Method; 11.3.2 Moving a Method from One Class to Another (Delegation); 11.3.3 Replacing a Bunch of Literals (Strings or Numbers) with a Constant (Static Final); 11.3.4 Renaming a Function; 11.3.5 Wrapping a Function in Another Function and Calling It; 11.3.6 Inline a Function Wherever It Is Called; 11.3.7 Extract Common Code into a Function (the Opposite of the Previous); Chapter 12: Utilities; 12.1 Dates and Times
12.1.1 Java 8 Date-Time12.1.2 Groovy Date; 12.1.3 JavaScript Date; 12.1.4 Java DateFormat; 12.2 Currency; 12.3 TimeZone; 12.4 Scanner; Part IV: Real Life; Chapter 13: Building; 13.1 Ant; 13.2 Maven; 13.2.1 Using Maven; 13.2.2 Starting a New Project; 13.2.3 Life Cycle; 13.2.4 Executing Code; 13.3 Gradle; 13.3.1 Projects and Tasks; 13.3.2 Plug-ins; 13.3.3 Maven Dependencies; Chapter 14: Testing; 14.1 Types of Tests; 14.2 JUnit; 14.2.1 Hamcrest; 14.2.2 Assumptions; Chapter 15: Input/Output; 15.1 Files; 15.2 Reading Files; 15.3 Writing Files; 15.4 Downloading Files; 15.5 Summary