The latest expert opinions, articles, and guides for the Java professional.

The Spark Java Web Framework

spark java web framework logo

Today, I want to talk to you about Spark, which is as they themselves put it, is a micro framework for creating web applications in Java 8 with minimal effort. A few days ago, I took Spark out for a test drive. I’ve tried to create a small web application that does nothing really functional but explores the features offered by Spark framework, so I get more comfortable with its API and to see if Spark fits my style. In this blogpost I want to share the takeaways I learned while exploring the Spark framework.

Read more

Docker Commands Cheat Sheet

Docker cheat sheet by RebelLabs

Best practices are important, but often overlooked in a world overloaded with information. This is why presenting information in a digestible form is really helpful. We’ve released a couple of cheat sheet on various topics ranging from Java 8 best practices, to advice on how to use Java 8 streams, to the most useful git commands and workflows.

This time we’re going to talk about Docker. The sparkling unicorn of containerization happening in the world of software development and the amazing tool that can simplify the configuration of your projects tenfold.

We considered how we use docker at ZeroTurnaround, what are the current best practices and what commands we need to google most frequently. Then we combined this data into a cheat sheet, so you can also benefit from this work.

Read more

4 reasons why Android N is a game changer for a developer

Google recently announced that the next version of Android, dubbed Android N, is ready for a developer preview. The preview gives us, as developers, a chance to test our code against the next release before it’s launched, including the new APIs and report any behavioral changes that break us. This release has only been baking for a couple of months, but some of the amazing features are starting to smell great already and we’re very excited about them — you should be too!

Read more

Virtual JUG presents: Java 8 / 9 Ask Me Anything panel session

vJUG logo

The latest Virtual JUG session was a little different from our traditional sessions. It was an amazing panel of Java speakers who were picked to answer your questions about Java 8 and Java 9, in an ask me anything style. The panel was carefully picked so we have a broad representation, including an Oracle Java guru, an Azul Java master, a community figurehead, and a Java legend: Stuart Marks, Simon Ritter, Bruno Souza and Venkat Subramaniam.

Wow, that’s an amazing lineup, right? Here is the recording of the session available, be sure to check it out in its full length and glory!

Read more

5 Unexpectedly Useful Command Line Tools You Might Overlook

My previous post showed us that there still is a nice amount of interest among the developers in neat command line tools.
This post will, as the title suggests, jump into 5 more tools that may or may not tickle your fancy.

Whilst it is hard to find a set of tools relevant for every different command line professional or enthusiast, I can still wholly recommend quickly glancing over these anyway. You never know when you’ll get stuck in a terminal only environment or will need to impress a friend with the exceptional command line skills.
So without further ado, here are 5 more command line tools you should be using!

Read more

JRebel 6.4.0 with remote servers and virtual machines

Modern developers make use of virtual machines, cloud platforms and other remote servers to develop their applications.

JRebel eliminates redeploys by making the updated classes and resources available for the JVM and reloading the updated versions. In a local environment, this is achieved by making the JRebel agent in the JVM monitor the IDE workspace directly. With remote servers, direct monitoring is not possible — as the JVM and the IDE run in separate machines.

JRebel 6.4.0 with remote servers and virtual machines download

Read more

9 features you need to demand from a hosted continuous integration service

After the explosion of Github, where source code is located offsite, and the rise of cloud computing services such as Amazon Web Services, the next logical step is to move the build system itself to the cloud. We’ve talked about continuous integration before when we discussed the best Jenkins plugins that you want to install, how to visualize pipelines of the build jobs, and even created a report about how to get started and up to speed with Jenkins.

Read more

Is your TDD slow? It doesn’t have to be that way!

The term putting the cart before the horse is fairly easy to understand analogy that means we’re doing tasks out of order. The cart here can’t pull the horse, that just wouldn’t work, unless the cart was motorised. I guess the horse could push the cart, but it makes everything a lot harder. Anyway, we’re already getting off topic. Test Driven Development makes us question which is the horse and which is the cart. Is the development our horse or the testing? Historically, it was a given that we would develop our code first and tests would (sometimes) follow, but in the modern age TDD is an accepted and exercised practice where a developer would understand the functional behaviour of a given function or class and write tests first that enforces that behaviour. Once the bounds of the new code have been put into place, a developer can safely code with a happier feeling that their development code will match the brief expected of it. So which is the horse? Well, it depends if you follow TDD practices or not!

Read more

Android image loading – Picasso!

I wrote my first Android application about 5 years ago, using Eclipse, Ant and loads of old school stuff — no fragments, barely any 3rd party libraries to choose from. I’ve since moved to Android Studio and Gradle, but it has been a year and a half since I’ve sat down and actually written something from scratch to the end. Nowadays, I’m the product manager for the JRebel for Android tool, by ZeroTurnaround, that enables you to reload your application code on your Android device or any emulator without needing to repackage or reinstall the app — you know, those things that take an annoyingly long amount of time. I’d be delighted if you tried it and would gladly hear your feedback on how it improves your productivity as an Android developer.

Having said that I’m still involved with application development on Android and I have a pet project I want to implement, but first I’ve been lurking around the scene to understand what’s hip. I know that I will have to load images, do network requests, cache some data – pretty common stuff I’d say. Today I’m picking my image loading library!

Read more

Git Cheat Sheet: Commands and Best Practices

Given the success of both our Java 8 Best Practices Cheat Sheet and our Java 8 Streams Cheat Sheet, it looks like cheat sheets are going to become ‘a thing’ for RebelLabs! This time we’re looking at the most successful source code management tool available today, Git. With every great tool, there is a CLI which compliments all the great features and options, which leads to a vast number of things you need to remember and be expected to recall within a keystrokes notice.

If like me, your memory is as lethargic as an asthmatic ant carrying heavy shopping, you might just need a hand — or in this case, a cheat sheet! Here we’ll bring you a one-page data sheet rich with the Git commands of champions, the gems that make your SCM a pleasure to work with, the… ok, enough’s enough, let’s get down to business.

Join me on our Git journey as we examine a typical SCM workflow, highlighting some best practices as we go. On this voyage, we’ll cover the commands we feature on the cheat sheet in more detail.

Read more