Home » Author Archives: Alex Staveley (page 2)

Author Archives: Alex Staveley

Good use of Closures

java-logo

Not long ago, in a blog post, I explained what Closure were in Groovy. This blog post will explain one good example of using them. I recently found myself having to write the same exception handling logic for a bunch of back-end Controller APIs which were serving AJAX requests. It was like this:         class ApiRugbyPlayerController { ...

Read More »

Closures in Groovy

groovy-logo

The simpliest explanation of a closure in Groovy is that it is anonymous function.                   def closure = { println "I am a closure" } closure() // Prints I am a closure Ok, so first point here is that I am a closure is not printed when the closure is defined but ...

Read More »

Groovy’s Smooth Operators

groovy-logo

Take a trip back to 1984.  Apple release the Macintosh, ‘The Final Battle‘ is about to commence in V and Scotland win the Five Nations completing a grand slam in the process.  Right in the middle of miners’ strike in the UK, English pop group Sade release the catchy number: Smooth Operator.  It was chart success in the UK and in ...

Read More »

Grails: Applying build information to your builds

grails-logo

Occasionally, when I buy some food I check the label to see how unhealthy it is in an effort to remind myself to eat better. I probably should do this more often but that’s another story. With software, I take a more strict approach. I like to know exactly what version of what I am using and if it pertains ...

Read More »

How could Scala do a merge sort?

scala-logo

Merge sort is a classical “divide and conquer” sorting algorithm. You should have to never write one because you’d be silly to do that when a standard library class already will already do it for you. But, it is useful to demonstrate a few characteristics of programming techniques in Scala. Firstly a quick recap on the merge sort. It is ...

Read More »

Scala pattern matching: A Case for new thinking?

scala-logo

The 16th President of the United States. Abraham Lincoln once said: ‘As our case is new we must think and act anew’. In software engineering things probably aren’t as dramatic as civil wars and abolishing slavery but we have interesting logical concepts concerning ‘case’. In Java the case statement provides for some limited conditional branching. In Scala, it is possible ...

Read More »

Scala: Collections 1

scala-logo

This post contains some info on Scala’s collections. Problem? We want a function that will take an List of Rugby players as input and return those players names that play for Leinster and can run the 100 meters from the fastest to the slowest. Step 1: Have a representation for a Rugby player. Ok so it’s obvious we want something ...

Read More »

Scala: call me by my name please?

scala-logo

In Java, when frameworks such as log4J became popular in Java architectures it was a common occurence to see code such as:                   if (logger.isEnabledFor(Logger.INFO)) { // Ok to log now. logger.info('ok' + 'to' + 'concatenate' + 'string' + 'to' + 'log' + 'message'); } It was considered best practice to always ...

Read More »

Scala: Do you partially understand this?

scala-logo

Nearly everyone who learns Scala can get confused over the word partial used in the contexts: Partial functions Partially applied functions Let’s look at both. Partially applied functions Scala gets its functional ideas from classical languages such as Haskell (Haskell 1.0   appeared in same year as Depeche Mode’s Enjoy the Silence and Dee Lite’s Groove is in the Heart ...

Read More »

Scala function literals

scala-logo

Functions are an important part of the Scala language. Scala Functions can have a parameter list and can also have a return type. So the first confusing thing is what’s the difference between a function and a method? Well the difference is a method is just a type of function that belongs to a class, a trait or a singleton ...

Read More »

Want to take your Java skills to the next level?

Grab our programming books for FREE!

Here are some of the eBooks you will get:

  • Advanced Java Guide
  • Java Design Patterns
  • JMeter Tutorial
  • Java 8 Features Tutorial
  • JUnit Tutorial
  • JSF Programming Cookbook
  • Java Concurrency Essentials