GraphQL is a query language to retrieve data from a server. It is an alternative to REST, SOAP, or gRPC in some way.
GraphQL is a new API standard and offers a revolutionary approach to building data-driven applications. The project was first created by Facebook while they were shifting their mobile app from HTML5 to a native mobile app.
GraphQL follows the same set of constraints as REST APIs, but it organizes data into a graph using one interface. Objects are represented by nodes (defined using the GraphQL schema), and the relationship between nodes is represented by edges in the…
The SOLID Principles are five principles of Object-Oriented class design. They are a set of rules and best practices to follow while designing a class structure.
SOLID is an acronym for the first five object-oriented design (OOD) principles by Robert C. Martin (also known as Uncle Bob).
Adopting these practices can also contribute to avoiding code smells, refactoring code, and Agile or Adaptive software development.
In object-oriented computer programming, SOLID is…
Microservices is an architectural design for building a distributed application using containers. Microservices get their name because each function of the application operates as an independent service. This architecture allows for each service to scale or update without disrupting other services in the application.
In this article, I will explain and implement bellow points
Today we will cover bellow things
Prerequisites: Before starting this article you must have knowledge of spring boot with Gradle dependencies. You can learn this from the below link
In current days I worked on Redis lock-in distributed system. In distributed system Locking/concurrency management is a very important thing. Without prior knowledge, many unwanted problems may occur.
Here I am sharing an application architecture. Suppose this is a bank wallet application backend. Its architecture is very simple. It has a single app server, single app node, single Redis server, and a single database
A stored procedure is a set of Structured Query Language (SQL) statements with an assigned name, which is stored in a relational database management system (RDBMS) as a group, so it can be reused and shared by multiple programs.
So if you have an SQL query that you write over and over again, save it as a stored procedure, and then just call it to execute it.
Once a stored procedure has run, it remains in memory, so the next user can run it without incurring the overhead of loading it into memory.
In this article, we will discuss below…
Application programming interfaces (APIs) are everywhere. Most modern web applications expose APIs that clients can use to interact with the application.
They enable software to communicate with other pieces of software — internal or external — consistently, which is a key ingredient in scalability, not to mention reusability.
Like any technology, REST APIs bring their own unique security challenges. The question that remains is how to reduce those vulnerabilities.
Today we will discuss the following topics:
Starting a new career in software development is both exciting and frightening. There is a lot to learn, and it takes years of practice to become really good at it, like with other crafts.
One of the biggest myths about software engineers is that all they need to know is how to write great code. But, a quick look at questions asked at software engineering job interviews shows that employers look way beyond candidates that are simply great programmers.
To make it a little bit easier, especially for beginners, I want to share some knowledge I’ve gained over the years…
What we will discuss in this article?
To cover this article you have to prior knowledge of docker and spring boot. To get this knowledge you can check below my medium article
Types of the database management system
There are several types of database…
Design patterns are solutions to general problems that software developers faced during robust scalable software development.
Design patterns can speed up the development process by providing tested, proven development paradigms. Effective software design requires considering issues that may not become visible until later in the implementation.
Reusing design patterns helps to prevent subtle issues that can cause major problems and improves code readability for coders and architects familiar with the patterns.
By the end of this article, you will learn