At the very beginning of last year, I decided to track my reading habits and share the best stuff here, on Baeldung. Haven't missed a review since.
Here we go…
1. Spring and Java
>> Notes on Reactive Programming Part I: The Reactive Landscape [spring.io]
A solid intro to the reactive programming.
And no, it's no coincidence that this is first.
>> The Top 10 Exception Types in Production Java Applications – Based on 1B Events [takipi.com]
Another set of insights out of an interesting dataset – with the venerable NullPointerException of course at number one.
>> How To Implement equals Correctly [codefx.org]
A back-to-basics looking at equals – nicely done.
>> How to implement equals and hashCode using the entity identifier (primary key) [vladmihalcea.com]
And since we were just talking about equals, this writeup definitely fits well into that narrative with a look from the persistence side of things.
>> Observations From A History of Java Backwards Incompatibility [marxsoftware.com]
You might argue that keeping full backwards compatibility is what made Java as popular as it is today, or that it's what keeps Java from actually moving forward well.
Either way – here's a quick look at what it means to keep that compatibility for over 20 years.
>> Spring-Reactive samples [java-allandsundry.com]
The reactive programming model is coming to Spring, no two-ways about it. And there isn't a whole lot of information about it out there – so this piece looks quite interesting in terms of filling that gap.
>> Netflix OSS, Spring Cloud, or Kubernetes? How About All of Them! [christianposta.com]
The Netflix ecosystem of tools is based on practical usage at scale, so it's always super useful to go deep into understanding their tools.
Also worth reading:
>> Reactor guides deprecated [spring.io]
>> Java 9 Will Remove CORBA from Default Classpath [infoq.com]
>> Introducing Spring Cloud Cloud Foundry Service Broker [spring.io]
>> InfoQ eMag: Java Agents and Bytecode [infoq.com]
>> Spring Boot & Apache CXF – Testing SOAP Web Services [codecentric.de]
>> Gradle tricks – display buildscript dependencies [solidsoft.com]
>> Hibernate Tips: How to log SQL statements and their parameters [thoughts-on-java.org]
>> 11 JPA and Hibernate query hints every developer should know [thoughts-on-java.org]
>> How to SpEL Validation – Class-Level & Cross-Parameter Constraints with Spring Expression Language [javatar81.com]
>> Are @Local and @Remote EJB Interfaces Deprecated? [adam-bien.com]
Webinars and presentations:
>> Scala, ECS, and Docker: Delayed Execution @Coursera [infoq.com]
>> Strange Oracle Discussion, CDI vs. Singleton EJB, Remote, No Control or 27th airhacks.tv Questions and Answers [adam-bien.com]
Time to upgrade:
>> Hibernate ORM 5.2 release [in.relation.to]
>> Spring Releases Version 1.1 Statemachine Framework [infoq.com]
>> Spring Cloud Stream 1.0.1.RELEASE is available [spring.io]
>> Spring for Apache Kafka 1.0 Release Candidate 1 Available [spring.io]
>> Spring Integration Kafka Support 2.0.0 Release Candidate is now available [spring.io]
>> IntelliJ IDEA 2016.2 EAP Improves Log for Git and Mercurial [jetbrains.com]
2. Technical
>> Practical Event Sourcing And CQRS Benefits [sapiensworks.com]
If you're literally just starting out, than this may be to early, but if you've been building systems for a while know in one form or another and haven't explored things like DDD, Event Sourcing and CQRS – well, this is as good of time as any to.
Yes, it's a significantly different way of building a system, but then again, really leveling up probably won't happen from doing CRUD marginally better.
Also worth reading:
3. Musings
>> Why I switched to making products [swizec.com]
A quick and fun intro to why it's well worth doing products. This was a fun read for me, since I made the jump into products almost one year ago today.
>> Why is Github Taking over the World? [daedtech.com]
A discussion around the history and the Why of Github.
>> Creating virtual assets in service virtualization: record and playback or behaviour modeling? [ontestautomation.com]
Definitely an interesting read exploring the two alternatives of driving the testing and explorations of a system, either by using a recorder, or programmatically. A bit high level but well worth reading.
Also worth reading:
>> To be smart, work on problems you care about [lemire.me]
>> Maintainable Code vs Common Code [daedtech.com]
4. Comics
And my favorite Dilberts of the week:
>> How are you doing on your unspoken objectives? [dilbert.com]
>> A monkey could do your assignment while eating a banana [dilbert.com]
>> Moving to a shared leadership model [dilbert.com]
5. Pick of the Week
>> Happiness is the Only Logical Pursuit [mrmoneymustache.com]