Posts Tagged: Java

Little-known yet useful Java annotation: ConstructorProperties

Posted by & filed under , .

I’ve discovered this recently while looking into some issues caused by the Jackson libraries in one of my Java applications. If you use Jackson I’m sure you are by now familiar with some of the annotation they supply — such as @JsonProperty and @JsonCreator — and it was dealing with these that got me to […]

RxJava: Some Usage of Observable.zip

Posted by & filed under , .

Here’s  classic problem when dealing with a web app: you get a HTTP request to your app with a set of parameters. You need to hit a datastore to retrieve some record based on those parameters. You also need to create a (log?) entry somewhere about receiving this call — whether it’s for monitoring purposes […]

Using Optional in Java to check for null

Posted by & filed under , .

I see the need for null in Java still, but since the Optional class was introduced I think some of the usages of null can be eliminated by employing some of the capabilities of the Optional class. I will explain in this post a nice way you can implement checking for null in Java by […]

Common mistake when dealing with Reader in Java

Posted by & filed under , .

I’ve encountered this one a few times and came across again recently and thought it relevant to deserve its own post, so here it is. If you have done any I/O in Java you likely came across the Reader class, unlike the InputStream class(es) which deal with bytes, the Reader makes the transition into reading […]

Dependency overload … or laziness?

Posted by & filed under , .

This is something that started bugging me back in the maven area — when I switched from the likes of Ant as a build tool, which was relying on the user being explicit about a lot of things and doing a lot of the grunt work for it, to the maven world. Now maven was […]

Nicer implementations using Java streams

Posted by & filed under , .

I am not entirely sold on the performance of the Java streams but I will accept they are getting much better compared to the first cut, we now have parallel streams and all sorts, and also it provides a (nicer) functional approach to coding. I’m not going to go into the whole dispute of whether […]

Beware of Governator’s @Configuration annotation

Posted by & filed under , .

If you read some of my posts dealing with dependency injection in Java you have probably figured it out (and I even stated it in clear) that I use Netflix Governator’s a lot. Especially as I revealed in one of my previous posts because Google Guice doesn’t support out of the box the likes of […]

java code

Java Dependency Injection and a Useless Annotation

Posted by & filed under , .

I’ve stepped into the Guice territory rather recently — coming from the Spring framework side of things — and I guess I had so far a similar love/hate experience as with Spring. I rely mostly on the javax.annotation standards anyway so to a certain degree whether it’s Spring or Guice I guess doesn’t make that much […]

The Power of Technical Jargon

Posted by & filed under , , , .

I recently had the chance to reflect over how important jargon can be when building a product and I thought I’d share my thoughts and findings here. A bit of history: a while back (quite a while back now) I helped a small startup (let’s call them Green Media) which operated in digital marketing and online […]

Breaking into open source

Posted by & filed under , , .

I read recently Shubheksha‘s blog post “A Beginner’s Very Bumpy Journey Through The World of Open Source” which describes her initial journeys into the open source world and reminded me a bit of some of my initial adventures into open source. (I even wrote a blog post ages ago — my goodness, literally ages ago […]

Scripting

Java, Map and Optional

Posted by & filed under , .

I do like the Optional class in Java — it is a long awaited elegant replacement for returning null whenever something isn’t there then relying on if( x != null ) checks or using ?: in the format (x == null) ? “foo” : “bar”. It works great also with the new Java stream classes […]

Disable PMD Plugin to Run for Test Sources

Posted by & filed under , .

I use PMD in my Gradle builds quite a bit. (Maybe a bit more nowadays that the FindBugs peeps seem to be struggling with that project — see this email from Andrey on this: https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2016-November/004321.html). The issue I had with it is that there is no way to quickly turn off their checks for the src/test/… […]

PMD Rules

Posted by & filed under , .

If you have used such plugins in your project as FindBugs, Checkstyle etc then you quite likely have heard of PMD too. (I have used these tools initially with Apache Maven and nowadays use them via Gradle in my builds, but there’s lots of support for others tools, Ant included.) The trouble with PMD as […]

Of Fibonacci’s Number and Groovy’s Memoization

Posted by & filed under , .

As a developer, chances are every time you hear recursion mentioned you probably also hear of Fibonacci’s number. And in the same breath you probably hear also of stack overflow 🙂 Because — as you get to learn quickly — if you decide to implement Fibonacci’s number via a recursive function, you end up abusing […]