Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

and many more ....


A Non-Blocking Benchmark


A couple of weeks ago I asked the question “Why non-blocking?”. And I didn’t reach a definitive answer, although it seemed that writing non-blocking code is not the better option – it’s not supposed to be faster or have higher throughput, even though conventional wisdom says it should. So, leaving behind the theoretical questions, I decided to do a benchmark. ...

Read More »

Functional Interfaces


Table Of Contents 1. Introduction 2. Justification 3. Lambda Expressions 4. Predicate<T> 5. BiPredicate<T,U> 6. Function<T,R> 7. BiFunction<T,U,R> 8. Consumer<T> 9. BiConsumer<T,U> 10. Supplier<T> 11. UnaryOperator<T> 12. BinaryOperator<T> 1. Introduction Functional interfaces are a powerful mechanism provided by Java 8 to give us the possibility to pass functions as parameters to other methods. Actually, this option already existed on previous ...

Read More »

Testing Interface Invariants


Today’s article is something a little special. It’s the first article where I use code from my current personal project for examples. You will be getting “real world” examples and not silly, made-up examples like my Scientist and Pen example in my factories article. My Project Because of this, I’m going to make a quick introduction to what the project ...

Read More »

Making Refactoring Work


A recent academic study raises some questions about how useful and how important refactoring really is. The researchers found that refactoring didn’t seem to make code measurably easier to understand or change, or even measurably cleaner (measured by cyclomatic complexity, depth of inheritance, class coupling or lines of code). But as other people have discussed, this study is deeply flawed. ...

Read More »

User Story Guidelines


Disclaimer: This post was extracted from an internal Codurance document used to help our apprentices to learn how we work. We all understand that each project is different and that by no means we can apply exactly the same techniques and practices everywhere. However, the text below serves not only as a foundation but also as a guideline for all ...

Read More »

Creating Fakes in Go with Channels


Fakes are a common testing technique that involve creating a bare implementation of an interface that you can use in testing. They usually allow you to check how they were used so you can ensure the behavior of the object under test. Normally, fakes have storage and retrieval methods, but in this post we’re going to explore using Go’s channels ...

Read More »

Displaying Paths in Ant


In the blog posts Java and Ant Properties Refresher and Ant <echoproperties /> Task, I wrote about how being able to see how properties are seen by an Ant build can be helpful in understanding that build better. It is often the case that it’d also be valuable to see various paths used in the build as the build sees ...

Read More »

NFC Android: Read NDEF Tag


In this post we want to describe how to read NFC tag. Android SDK provides a set of API that can be used to read the NFC payload, anyway if we look at the NFC spec we can notice there are several type of payload depending on the type of the tag. Android SDK doesn’t provide any support to parse ...

Read More »

There will be failures – On systems that live through difficulties instead of turning them into a catastrophy


Our systems always depend on other systems and services and thus may and will be subject to failures – network glitches, dropped connections, load spikes, deadlocks, slow or crashed subsystems. We will explore how to create robust systems that can sustain blows from its users, interconnecting networks, and supposedly allied systems yet carry on as well as possible, recovering quickly ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.