Still wrapping your head around DI? Let's explore the philosophy and functionality behind it, then see how Guice, or any other such framework, can help.
Check out how you can introduce functional exception handling in Kotlin code with some help from the Try type as well as how to use lambdas for chaining.
Some people use the terms Inversion of Control and Dependency Injection interchangeably. Let's see how they're different and how they can work together.
Need some randomness in your numbers? Check out a few different techniques you can avail yourself of to create random (or mostly random) numbers in Java.
Migration is difficult, but sometimes, it's required — like if you want to improve your database's performance or utilize features of the target RDBMS that are missing in the source.