Tuesday, April 23, 2013

Practical introduction to JRebel

In this post I would like to present my experiences with JRebel: from basics to more advanced stuff, where I had to dig through the Internet or ask ZeroTurnaround to find the answer.

Disclaimer: I wasn't paid for this post. All the information is based on my personal experience after using JRebel for the last 10 months. I tried to be honest and not to force any opinions. I think JRebel is cool, but as everything it is not perfect, so before buying it you should learn how it works.

Tuesday, August 7, 2012

StringBuilder Optimizations Demystified

Introduction

There are lots of myths around concatenating Strings in Java. Lets find out exactly which of them are true.

The results are based on the Oracle JDK 1.7 (Update 3). Please, feel free to leave a comment, if the compiler you are using works differently.

Thursday, June 7, 2012

From Java 1.4 to Java 1.6

Recently, we were upgrading one of our legacy systems from Java 1.4 to 1.6. (If you wanted to know why we have not chosen Java 7, we were concerned about stability). We were afraid that despite we moved forward to a newer version of Java, our team would still not know how to use it. The whole effort would then seem fruitless.

Saturday, May 5, 2012

Configuration That Rocks! With Apache Commons

Using a modern library in your project is great fun, but often it is far better to resist the tempation and fallback to the tried and tested. In terms of storing configuration data in Java a proven solution is the Apache Commons Configuration framework.

What you will learn

You will learn how to:

  • fetch data from a XML file
  • access environment variables
  • combine different types of configuration (XML-based, environment-based, etc.)
  • automatically reload configuration after a change

Monday, April 2, 2012

Integrating jQuery With Selenium

When testing JavaScript-heavy websites, at some point you may reach Selenium limits. A simple use case will fail. You will get ElementNotVisibleException, even though you can clearly see that element. Other times the same selector will return different results depending on the type of the browser. You can lose a lot of time searching for workarounds and hacks. Fortunately, a simple solution exists...