The Kotlin programming language saw the light of day in February 2016 with version 1.0. In 2019, Google declared Kotlin the "first-class citizen" of Android development, helping it achieve a breakthrough. But what makes Kotlin special? Why is it worth taking a look at even for Java veterans who have nothing to do with Android? This article will cover this and other questions.
It's 2012: Curiosity lands on Mars, Windows 8 is released, the first part of "The Hobbit" hits theaters, the Beastie Boys break up, and Germany once again fails to win the European Championship. Excluding the Mars landing, this is (subjectively) a year full of disappointments. Apparently…
If you think these security problems with microservices through to their logical conclusion, you will see that only a zero trust approach can provide sufficient security protection. Zero trust means that basically no (micro) service can be trusted, not even if it is located in a trusted zone.
Each PrintStream uses about 25kb of memory. This might seem reasonable if we only have System.out and System.err. But what happens if we try create millions? And why do they use so much memory?
Should there be a central orchestrator controlling all interactions between services or should each service work independently and interact through events? This is the central question in the choreography vs orchestration debate. In orchestration, a central service defines and controls the flow of traffic between services. With centralization, it becomes easier to change and monitor the flow and apply consistent policies.
Spring Boot has always fascinated me. No more fiddling around with different versions of application servers and different environments between local development, testing and production. If you deal with Spring Boot, you quickly come across the term Auto Configuration - a term that most people interpret as "Spring Boot does it right somehow". But what exactly is right?
Java security is an important topic for all businesses that use Java applications. Java Champion Simon Ritter takes a deep dive into the JDK and the potential shortcomings of not keeping your applications up to date, as well as why it's essential to know the difference between critical patch updates (CPUs) and patch set updates (PSUs).
Each company has large software systems that have been continuously developed over many years, and the maintenance of these systems is becoming tougher and more expensive year after year. Against the background of new architectural paradigms such as microservices, these systems should now be modern, scalable and flexible. There is hope though - you can get rid of these big, cumbersome monoliths by decomposing them down into smaller microservices.