REST API is the de facto standard for the Web Application (client) to communicate with Backend Application (server).
REST API popularity increased due to its simplicity compared to well-established SOAP based Web services. GraphQL, which has clear specification and good community support, is currently playing second fiddle. “Sooner” the king RPC will be back 😃
Web Applications will need one or more of the following API client patterns. I will be using Axios and JS Promise for the demo
For demo, let’s use…
Continuous learning is a necessity and a challenge to most of us. Companies invest a lot to upskill their workforce to stay relevant. I am sharing my experience and viewpoint about “How to do smart learning?” and importantly “How to keep yourself motivated?”
Remember the following:
Front-end developers, who know more than one JS framework have an advantage these days. Sometimes, the developer fluency on one “framework” (say React) gets carried on to the development work in another framework (say Vue).
I will be sharing one such experience of React developers working on Vue 2 based project. Some of the listed points would work in Vue, but that’s NOT the approach a hard-core Vue developer would have taken.
💡I will extend the blog as and…
Shallow equality is verified by iterating on the keys of the objects being compared and returning true when the values of a key in each object are strictly equal for all the keys.
React relies on shallow equality between current and next state/props to decide on whether to re-render or not. Shallow Compare is the negation of Shallow Equality. Render if shallowCompare returns true.
Shallow equality becomes dicey when the nestedness increases. I have created the mental model (cheat sheet) to remember the intricacies.
A lot happens during JVM Garbage Collection. GC logs would be the closest one who would have witnessed 😄 and record the events as it happens. By looking at these logs we would be able to understand how well our application behaves for a given scenario, configuration, and/or load.
Typical questions that would get answered are
Let's Learn to Talk to GC Logs in Java 9 by Poonam Bajaj Parhar
We will explore the GC logs using a simple Java program that…
Application development lifecycle period got shrink to few weeks or couple of months. Visible outcomes are expected in every iterations.
For a simple CRUD based applications, low code or no code platforms seems to be attractive. I will provide the basics of Metadata-Driven Development, which could be a mid-path between hand-crafted “effective” web application development and low-code development.
Let’s say we need to create a basic form which allows a business user to capture daily exchange rates (CRUD form) to be utilized by their business process.
“Event sourcing refers to a collection of patterns based on the idea of persisting the full history of a domain as sequence of events rather than persisting just the current state” — by Udi Dahan
Event sourcing may not see the light of day in regular Enterprise Application development. But they have their relevance in Source Code Control Systems (like Git, SVN), Database internals (like replications, backup and recovery) and in a small part of a complex Enterprise Application.
“Event sourcing is a good fit only if you are dealing with complicated and ever changing domain” — by…
Performing I/O usually takes orders of magnitude longer than performing in-memory processing tasks on the data. Many coders concentrate on what their objects are doing to the data and pay little attention to the environmental issues involved in acquiring and storing that data.
I/O is often the limiting factor in application performance, not processing speed
- By Ron Hitchens in book “Java NIO”
Java NIO (Non-blocking I/O) is a collection of APIs for scalable I/O. Key features includes
NIO Buffers is the basic building block for the overall implementation…
I have created the exact same “Tic-Tac-Toe” using Vue 3. Vue 3 code looks straight-forward than React, but I will leave the judgement to the readers 😄
The final React project created by Dan Abramov is available here
The final Vue 3 project created by me is available here
💡Codepen has lot many restrictions. So both React and Vue 3 code shared has squeeze all the…
Learning about JVM Garbage Collection and the mechanics behind each of the Collector Algorithms is as important as learning Java language features. High-level details of the algorithms give a perspective about the lifecycle of objects, the probable failures (like an out-of-memory exception, memory leaks etc.,) and how the failures can be averted.
Garbage Collection (GC) is a form of automatic memory management. The basic operations of any Garbage Collector are
Learner, Mentor, Developer and an Architect