Partner – Trifork – NPI EA (cat = Spring Boot)
Navigating the complexities of Spring can be difficult, even for
seasoned developers.
If you need direct, practical help and guidance with your own
Spring work, Trifork's CTO, Joris Kuipers, is running a
closed-door call.
It's free, but it's limited to only 3 seats, so if you
need it, I would join quickly and be sure to attend:
>>>
CTO Spring Open Office Hour Session - Technical
Guidance
With more than 15 years of leading custom software development
projects involving Spring, Joris has gained a lot of real-world
experience, and this call is about sharing and helping the
community.
Enjoy.
Partner – Jmix Haulmont – NPI EA (cat= Architecture)
Building or modernizing a Java enterprise web app has always
been a long process, historically. Not even remotely quick.
That's the main goal of Jmix is to make the process quick
without losing flexibility - with the open-source RAD platform
enabling fast development of business applications.
Critically, it has very minimal impact on your server's
performance, with most of the profiling work done separately - so
it needs no server changes, agents or separate services.
Simply put, a single Java or Kotlin developer can now quickly
implement an entire modular feature, from DB schema, data model,
fine-grained access control, business logic, BPM, all the way to
the UI.
Jmix supports both developer experiences – visual tools and
coding, and a host of super useful plugins as well:
>> Try out Jmix
Partner – AEGIK AB – NPI EA (tag = SQL)
Slow MySQL query performance is all too common. Of course
it is. A good way to go is, naturally, a dedicated profiler that
actually understands the ins and outs of MySQL.
The Jet Profiler was built for MySQL only, so it can do
things like real-time query performance, focus on most used tables
or most frequent queries, quickly identify performance issues and
basically help you optimize your queries.
Critically, it has very minimal impact on your server's
performance, with most of the profiling work done separately - so
it needs no server changes, agents or separate services.
Basically, you install the desktop application, connect to your MySQL
server, hit the record button, and you'll have results
within minutes:
>> Try
out the Profiler
Partner – CAST AI – NPI EA (tag = kubernetes)
The Kubernetes ecosystem is huge and quite complex, so
it’s easy to forget about costs when trying out all of the exciting
tools.
To avoid overspending on your Kubernetes cluster, definitely
have a look at the free K8s cost monitoring tool from the
automation platform CAST AI. You can view your costs in real time,
allocate them, calculate burn rates for projects, spot anomalies or
spikes, and get insightful reports you can share with your
team.
Connect your cluster and start monitoring your K8s costs
right away:
>> FREE
Kubernetes cost monitoring
Lots of interesting writeups on Java 9 this week.
Here we go…
1. Spring and Java
It turns out that the Java 8 Streams API is not as lazy as you might think – the flatmap() operation evaluates the inner Stream eagerly – which is not the case when working with Scala or Vavr.
The cool Spring Boot Admin dashboard setup can be slightly unintuitive – here a good overview of how to set it up.
The new addition to JPA 2.2 – returning Query results as Stream – is an interesting addition but still not as efficient as a paginated ResultSet.
Using CascadeType.REMOVE can be quite dangerous – besides generating way too many queries, it can also remove more than expected.
Also worth reading:
Webinars and presentations:
Time to upgrade:
2. Technical
In order to leverage the laziness of the Stream API and keep the complexity of the operations down, it's important to rely on well-placed limits as much as possible – although even this might not enforce laziness in all scenarios.
Many ORMs update values that were “touched” but not necessarily changed – which is not ideal. Read the whole article to dive deeper into the problem and a few possible solutions.
3. Musings
A quick and practical introduction to NoSQL and the most popular solutions.
Errors/mistakes happen and we need to learn how to embrace them in order to improve and innovate because they are the part of the process.
Also worth reading:
4. Comics
And my favorite Dilberts of the week:
5. Pick of the Week
res – REST with Spring (eBook) (everywhere)