Skip to main content

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,
weekly catch up context

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.

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, and guarding their system against vulnerabilities making them aware of what they are signing up for. With this, the SBOM (Software Bill Of Materials) addresses comprehensive dependencies used that can be generated via SPDX and CycloneDX Maven and Gradle plugins are part of the SDLC build process.

How the Virtual threads vary from the traditional threads, in terms of REST HTTP calls, database connections, queues, and file operations with the aid of Project Loom. Implications of blocking and non-blocking operations, asynchronous calls on Virtual Threads that run on the platform threads.

Concurrency on the data state reads and writes can be achieved by sharing/exclusive lock via Spring Data JPA entity locking mechanism. With LockModeType set to PESSIMISTIC_READ and PESSIMISTIC_WRITE data lock can be established during fetching a single row (via any of the inbuilt JPA methods or custom-defined methods) and for multi-row entity lock on the JPA implementation we can annotate the method with @Lock followed by locking type

Evaluate Virtual threads for default priority, daemon setup, thread local, inherited thread local, and other JVM thread features.

Scaling the AWS Lambda for asynchronously consuming AWS Kinesis events by introducing new execution instances inducted cold starts that increased with the application memory size. Dagger2 eliminates part of the cold start problems via static compilation of dependencies. GraalVM Native Image and Micronaut serverless framework to the rescue.

Disclaimer: 
This is a personal blog. Any views or opinions represented in this blog are personal and belong solely to the blog owner and do not represent those of people, institutions or organizations that the owner may or may not be associated with in professional or personal capacity, unless explicitly stated. Any views or opinions are not intended to malign any religion, ethnic group, club, organization, company, or individual. All content provided on this blog is for informational purposes only. The owner of this blog makes no representations as to the accuracy or completeness of any information on this site or found by following any link on this site. The owner will not be liable for any errors or omissions in this information nor for the availability of this information. The owner will not be liable for any losses, injuries, or damages from the display or use of this information.
Downloadable Files and ImagesAny downloadable file, including but not limited to pdfs, docs, jpegs, pngs, is provided at the user’s own risk. The owner will not be liable for any losses, injuries, or damages resulting from a corrupted or damaged file.
  • Comments are welcome. However, the blog owner reserves the right to edit or delete any comments submitted to this blog without notice due to :
  • Comments deemed to be spam or questionable spam.
  • Comments including profanity.
  • Comments containing language or concepts that could be deemed offensive.
  • Comments containing hate speech, credible threats, or direct attacks on an individual or group.
The blog owner is not responsible for the content in the comments. This blog disclaimer is subject to change at any time.

Comments

Popular posts from this blog

Tech Conversant Weekly Jul 03 - Jul 15

Topic: General                                                                                                                                              Level: All Welcome to the world of cutting-edge technology! Every bi-week, we bring you the latest and most incredible advancements in the tech industry that are sure to leave you feeling inspired and empowered. Stay ahead of the game and be the first to know about the newest innovations shaping our world. Discover new ways to improve your daily life, become more efficient, and enjoy new experiences. This time, we've got some exciting news to share with you! Boosting Java startup with Class Data Sharing (CDS) https://www.youtube.com/watch?v=vvlQv1Dh-HU JDK21 LTS Maintenance and Support https://www.youtube.com/watch?v=3bfR22iv8Pc Health checking of multiple cloud applications with Spring Cloud Gateway https://spring.io/blog/2023/07/05/active-health-check-strategies-with-spring-cloud-gateway Functional Style Non-reactive HTTP clie

Tech Conversant Weekly Jun 19 - Jul 01

Topic: General                                                                                                                                              Level: All Welcome to the world of cutting-edge technology! Every bi-week, we bring you the latest and most incredible advancements in the tech industry that are sure to leave you feeling inspired and empowered. Stay ahead of the game and be the first to know about the newest innovations shaping our world. Discover new ways to improve your daily life, become more efficient, and enjoy new experiences. This time, we've got some exciting news to share with you! Modelling common behaviors between the List and the Set interface has been partially provided by LinkedHashSet. Now from JDK21 with the new interface SequencedCollection extending the Collection interface and is also extended by the List, SortedSet via SequencedSet (for reversal operation), Deque. The SequencedMap interface extends the Map interface by providing the below me

Microservices - Design Patterns

Topic: Software Design                                                                                                        Level: Intermediate Microservices - What? Microservice is a software design methodology, delegated to perform an isolated decoupled single functionality (following the Single-Responsibility Principle from object-oriented SOLID design principles).  Moreover, microservices by design, are decoupled making it easy to develop, test, maintain, deploy, configure, monitor and scale modules independently. Microservices - Why? Having one microservice would not be helpful without it being able to interact with other microservices, to aid in bringing an end-to-end business solution. So arises a question, how can I design a software system that is resilient, decentralized, fault-tolerant, scalable, maintainable, and extensible that complies with the microservice architecture? Design Patterns - What? Design patterns are solutions for commonly occurring problems within a given