Skip to main content

Posts

Showing posts from November, 2022

Tech Conversant Weekly Nov 21- Nov 26

Topic: General                                                                                                                                              Level: All In this post, we shall catch up on the multi-faceted technological updates that happened over the past week, Modularity can be achieved by confining the impact of change within the module, a well-defined boundary without leaks. JDK9s Modules offered preliminary isolation for packaged module structures, however at an application level module accesses should be rule defined. Spring Modulith with ArchUnit and jMolecules, established package relationship, restricted accesses and validates relationship during tests. By default, a module can access the content of any other module but cannot access subpackages of other modules. https://blog.frankel.ch/spring-modulith-modularity-maturity/ Benefits of using Spring 6 in terms of ORM, Text blocks to hold SQL in query annotation, Records to define DTO, UUID as basic type in JPA 3, JP

Tech Conversant Weekly Nov 14 - Nov 19

Topic: General                                                                                                                                              Level: All In this post, we shall catch up on the multi-faceted technological updates that happened over the past week, Spring framework 6.0 has been released and is available in Maven central. It used JDK 17 as a baseline, and Jakarta EE 9+ with specifications for Servlet 6.0 and JPA 3.1 facilitating access to Tomcat 10.1 and Hibernate ORM 6.1 respectively. Spring application contexts support AOT transformation processing as part of GraalVM Native image used in tandem with Spring Boot 3. Spring 6.0 enables the usage of Project Loom's Virtual threads feature and Project CRaC with checkpoint restoration for faster JVM startup and many other features. https://spring.io/blog/2022/11/16/spring-framework-6-0-goes-ga Establishing a good degree of isolation can vary regarding deployment (Microservices) or DDD-bounded context. Spring Mo

Tech Conversant Weekly Nov 7 - Nov 12

Topic: General                                                                                                                                             Level: All In this post, we shall catch up on the multi-faceted technological updates that happened over the past week, Dealing with checked exceptions in functional interfaces via lambdas in Java Streams shatters the intent of a simplified functional pipeline making it verbose. By extracting the exception handling block to a class, Lombok annotation SneakyThrow, Apache Commons Lang Failable stream API, and Varv functional library with Streams offers alternatives for handlezing the try/catch scenario embracing code pipe flow, thereby optimizing lambdas in the Streams. https://blog.frankel.ch/exceptions-lambdas/ When we package and ship our application to the clients, making it evident on the dependencies (both stated and transitive) used in the application aids clients in making informed decisions, adhering to any defined standards,

Spring on GraalVM Implementation

Topic: GraalVM                                                                                                                            Level: Advanced Spring on GraalVM Implementation In this consecutive post ( prior post ), we shall exploit the theory of the previous post on GraalVM, Native Image, and Spring Native and set up a Spring Boot project running on GraalVM that leverages static analysis and linkage during the build time with ahead-of-time compilation delivering a windows native executable. Prerequisites GraalVM JDK 11 distribution ( https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.3.0 ) - ensure you revise the JAVA_HOME and PATH appropriately Native Image executable (for windows, https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 ) Maven build tool IntelliJ IDE MySQL Windows 10 OS We will commence by downloading a Spring template with Spring Boot >=2.7.5 version running on JDK 11 with the dependencies for Gr