Python is an interpreted, high-level, and general-purpose programming language. It can be used to develop business applications as well as system scripts, has data science related capabilities, desktop GUIs, and also offers many choices for web and internet development.
Flask is a micro web framework written in Python that helps you build web applications easily. It does not require tools or libraries and has no database abstraction layer, form validation, serializers, user management, or built-in internationalization. However, it supports extensions that can add application features as if they were implemented in Flask itself. …
In this tutorial, we will learn how to integrate Spring Data API with Apache Ignite. To learn about Apache Ignite do check What is Apache Ignite? In one of my previous tutorials, we have already seen how to use Spring Cache with Apache Ignite.
Spring Data Framework provides a unified and widely used API that abstract the underlying data storage used by any application. It provides CRUD capabilities to any domain object without the need for any boilerplate code. We can minimize the amount of source code needed to write custom queries. …
In this tutorial, we will learn how to use the Spring WebFlux framework along with Spring Data R2DBC to build, test, and consume a simple reactive REST application.
To begin with, let us understand the following:
We are living in a world of microservices. To build a simple application we use multiple microservices, which interact with each other. We also have to meet expectations such as scalability, resource utilization, latency, and so on. …
In this tutorial, we will learn to build a (Docker) image for our Spring Boot application using Cloud Native Buildpacks. Let us begin by understanding what is Cloud Native Buildpacks.
The Cloud Native Buildpacks project was initiated by Pivotal and Heroku in January 2018 and joined the Cloud Native Sandbox in October 2018.
Buildpacks are the part of the platform that take our application and convert it into something that the platform can actually run. Behind the scenes, a buildpack retrieves dependencies, processes assets, handles caching, and compiles code for whatever language your app is built-in. …
Every now and then, we have all been bogged down by the challenges of dealing with slow services. Reasons such as high load due to multiple users, having a complicated business logic or interaction with a remote database may cause the services to slow down.
Among other performance improvement techniques, caching is one such option by which we can improve the service performance. The Spring Framework provides support for transparently adding caching to an existing Spring application. At its core, the abstraction applies caching to methods, thus reducing the number of executions based on the information available in the cache…
In this tutorial, we will learn how to provide multi-tenancy in a Spring Boot application.
Multi-tenancy is an architecture in which a single instance of a software application serves multiple customers. Each customer is called a tenant. Tenants may be given the ability to customize some parts of the application, such as the color of the user interface (UI) or business rules, but they cannot customize the application’s code.
There are multiple well-known strategies to implement this architecture, ranging from highly isolated (like single-tenant) to everything shared. We can implement multi-tenancy using any of the following approaches:
Go is an increasingly popular language choice for creating web applications due to the flexibility and performance built into the `net/http` standard library package that comes with the language. The `net/http` package provides many useful and powerful primitives, such as its webserver implementation, request and response types, and methods, uniform resource location router, as well as a clean handler interface and function type declaration.
While the stdlib of Go is capable enough to create a production-ready microservice, a project might require functionality that is not available…
Elasticsearch is an open-source, highly scalable full-text search and analytics engine. It is a distributed NoSQL database and uses documents rather than schema or tables. You can store data in JSON document format and easily store, search, and analyze a large amount of data in real-time. It can be used to search all kinds of documents.
Java REST client is the official client for Elasticsearch. It comes in 2 flavors:
Kubernetes and serverless are two of the hottest buzzwords in the developer communities today. Typically, Kubernetes is used to orchestrate containerized applications, while serverless computing offers a different type of deployment model. When we think of serverless, our first thoughts go to AWS Lambda, Azure Functions, and other cloud-based serverless frameworks. However, the ecosystems surrounding Kubernetes and serverless are increasingly intersecting, due to the release of serverless frameworks called Knative that rely on Kubernetes.
Let’s understand where Knative fits in this ecosystem and what makes it unique.
There are times when we may need to sort a collection of objects by more than one property. For example, we may need to sort a list of employees, first by their job title, then by age, followed by salary. In such a case, we can sort the collection by creating a Single Comparator with all the required conditions.
However, it can become really difficult to maintain the comparator. For instance, what happens if we need to change the order of the sorting attributes at runtime depending on the scenario. We have to create a Comparator for each such use…
Tech Enthusiast, Software Engineer