RSSAmplifier

Blog

JBake

JBake Bootstrap Template

adamldavis.comRSS feed ↗18 posts

Latest posts

Why 'Die With Zero' Hit Me So Hard

I’m a programmer with more than twenty years behind me. I’ve done the sensible thing for a long time: saved, invested, kept my head down, and tried to make good choices. That part of me still exists. But Die With Zero gave words to something I’ve been feeling for years: life is not really about maximizing money. It’s about maximizing experiences. That idea landed especially hard because I love…

Project Reactor (Part 3 of 3)

So far In the previous post we introduced Reactor testing and backpressure. To summarize all three parts: Part 1 : Getting started with Reactor: Flux, Mono, zipping, Tuples, and retry Part 2 : Backpressure and testing with Reactor Part 3: Spring WebFlux, Netty, and WebClient with a dip into JHipster Prerequisites For this post you should have a good understanding of Java and Spring Boot and have…

Project Reactor (Part 2)

In the previous post we introduced Reactor and covered why reactor is important and some of the basics. We talked about Flux, Mono, zipping, Tuples, and retry. However, one of the most important aspects of reactive streams, is the ability to handle backpressure. Backpressure is a mechanism for explicitly handling the problem of having too many items to process in real time. Without such a…

Project Reactor (Part 1)

What is Reactor? The purpose of Reactor , and reactive steams in general is to enable operations on large amounts of data to be broken down and executed on many different threads (multi-threading) in the most efficient, scalable, and fast way possible. Although parallel processing can be achieved simply using Java 8’s parallel stream, reactive streams add a plethora of additional functionality and…

Spring Handbook

It s been a while since I ve posted. There s been a lot going on (I ve been very busy). I started a new position at a large corporation here near Orlando (a mouse-themed amusement park; more on this later). Meanwhile, I ve finally started work on "Spring Handbook". Spring Handbook I ve been using Spring for a long, long time (since 2005). It s been there throughout almost my entire Java…

Groovy 3 Course and Gradle

As I ve mentioned I ve been working on courses on Leanpub. I m happy to announce that the first one is complete! It has changed a lot since my initial thought process. Among other things, it has a new subtitle, "Go from beginner to expert Groovy Programmer with Groovy 3.0 and Gradle 5". I decided that it needed more specifics than "just Groovy" and Gradle is a popular build tool and a good reason…

Learning Groovy 3 Released

The second edition of "Learning Groovy" (which covers Groovy 3.0 thus the name) is now available. After months of researching, writing, and editing, it has finally gone to print! I m really excited to announce this and I hope it spreads the love of Groovy far and wide. Groovy can be used as a dynamic or static language depending on your choice, however it s hard to condense that into a short…

Gr8Conf EU 2019

I had the great privilege of leading a workshop and two talks at Gr8Conf EU 2019 in Copenhagen, Denmark. This was also my first time attending Gr8Conf EU (I did attend Gr8Conf US 2017). My life has finally quieted down enough now that I can write about my experience. The conference was, in a word, great. I saw a few familiar faces, like Paul King, Jeff Scott Brown, Michael Carducci, Sergio del Amo…

Micronaut

Micronaut was built by many of same people behind Grails. It uses compile-time annotation processing to build an application with a deadly fast startup time, has support for reactive streams, netty, and a reactive http client, among other things. It’s open-source (Apache 2) and supports applications written in Java, Groovy, or Kotlin. Due to it’s non-reflective nature, it naturally enables…

Groovy 2.5 & 3

If you have followed me for any time, you know I’m a big fan of Groovy, the super-Java-like language that runs on the JVM. You’ve probably heard of it, maybe you even use it, but what is less known is that it’s constantly evolving and has some great new features coming soon (or already here). Inspired by some recent news, here’s all about Groovy 2.5 and 3. Updates in Groovy 2.5 Groovy 2.5 added…

Upgrading to Java 11

So you want to upgrade to Java 11? Maybe you’ve put off upgrading Java for a while but are realizing that Oracle soon plans to stop supporting Java 8. Have no fear, since you’ve procrastinated, other people have gone through the pain already and shared what they learned! First of all, what’s new in Java 9, 10, and 11? The big things are JShell, modularity, local variable declarations (var), and in…

Test Driven Design (TDD)

When I first started to learn programming, first on a TI-89 calculator and then QBASIC, and even later in Java, I had no idea what testing was all about. I thought testing was running the program and making sure it worked. Maybe even put some debug print statements here and there. It was years later I learned about automated testing and test frameworks like JUnit. As the years went by, mainly…

Beyond Java 9

I’m at UberConf this week - it’s going great. Last night I sat through a talk by Venkat Subramaniam called “Beyond Java 9″. I’ve always been curious about what’s coming up (and already here in Java 10) and Venkat always is a great speaker so I was excited to go to this one. Here are my notes: CompleteableFuture was added in Java 8. Many of us missed it because we were so focused on Streams. Java 9…

Reactive Streams in Java

So… I’m working on a thing, Reactive Streams in Java. This has been on my back burner for a long time, and I started work on it for real early this year. Here’s the description from the book’s landing page: "Reactive Streams are a standard approach to handling concurrency in modern applications. The Java 9 release includes new support for reactive streams. This book attempts to provide an easy…

Modern Java: 2nd Edition

In case you didn’t know, I’ve been working on Modern Java: 2nd Edition for more than a year now. Over that time I’ve decided to add Java 9 and cover more libraries and frameworks like Hibernate and RxJava. I’ve also fleshed out some existing sections more fully. After many distractions and other projects getting in the way, I finally feel like I’m coming close to finishing it! It’s now more of a…

RxJava

(This is an excerpt from Modern Java: Second Edition ) RxJava is the open-source library for reactive programming that is part of the ReactiveX project. ReactiveX includes implementations in several different languages including rxjs, RxRuby, RxSwift, RxPHP, RxGroovy and many more. RxJava 2 was rebuilt to be compatible with the Reactive Streams specification and is preferable to RxJava 1.x since…

Gr8Conf US and other things…

I just back from Gr8Conf in Minneapolis last week and I had a great time. In case you missed it, I led a three hour workshop on Groovy and the slides and code are available (I did some practice screen-casts on youtube as well). Although I was pretty nervous leading up to it, I think it went really well. To those who attended: Thank you for listening and asking such great questions, I hope you…

Groovy News!

Great news everyone! I can now announce, Learning Groovy is available for pre-order on Apress! They have been great to work with and it is much improved from the original version due to their feedback and the technical editor. Modern Java: Second Edition is available in beta-mode on Leanpub! This book joins together my original Modern Java book, with all of the stuff on Java 8 and some new stuff…