Category - General

How to use Criteria API with Spring Boot

Brief summary

You often need to create queries with changeable conditions, for example, a query for a list with filtering by the columns on the side of the database. In this case, a good solution will be to use Criteria API – the API of JPA 2.0 specification. You can use JPQL queries, but this will lead to rather complicated code and the impossibility of checking the queries during the time of compilation. Criteria API also allows writing queries with validation while compiling and IDE tips.
Read More

Meet Smart Contracts in Practice

If you know what a smart contract is, but you don’t know how to start working with it – you’re in the right place. We will start with creating a contract in a sandbox, then move to the Ethereum test network, next we will create our own node and connect to it from Java code. If you aren’t familiar with the Ethereum or smart contracts, you can read this article first.
Read More

How to Make ETL Simple and Intuitive with NiFi

Is it possible to implement ETL with an opportunity to make changes during execution and a completely visual processing process without writing code at all?

Yes, it is. With NiFi.

Implementation of ETL is one of the most common tasks now. Creating an aggregator site or simply integrating several enterprise applications leads to the need to solve the ETL task. You can solve this problem with the help of well-known frameworks, such as Apache Camel for example. But let’s try doing it with NiFi.
Read More

Full Text Search: How it Works

What is full text search?

Full text search is a technique, which allows conducting search through documents and databases not only by a title, but also by content. Unlike metadata search methods, which analyze only the description of the document, full text search goes through all the words in the document, showing information that is more relevant or the exact information that was requested.
The technique gained its popularity in 1990’s. At that time the process of scanning was very long and time-consuming, so it was optimized.
Full text search engines are used widely. For example, Google allows users to find the neeeded query on web pages particularly with the help of this technique. If you have your own website with a lot of data, applying full text search might be very useful because it eases interaction for a user.
Read More

async/await syntax encourages frontend developers to develop incorrect code

await operator is an incredible new feature in ECMAScript 2017. There are many articles demonstrating how much you can benefit from it. I agree: asynchronous code was never so brief and clear as when it is written via async/await syntax.

Nevertheless, there is a significant pitfall you should be aware of while developing asynchronous front end code. Backend developers are safe: they can easily copy code from any of the articles above to their NodeJS application, and it will work just fine. Really! However, if you are going to run this code in a browser environment as is, it would be a serious mistake! None of the examples is correctly adjusted for the front end. This is a disaster: in the top 10 Google references on “async await”, I failed to find any examples correctly adjusted for the front end. Junior/middle JS developers and newcomers use these examples as the basis for their work and develop incorrect code that results in unexpected bugs and performance loss all over the place.

Read More

Smart Сontracts: the Future of Blockchain Applications

These days the topic of cryptocurrencies along with mentions of blockchain technology is featuring heavily in top news stories worldwide. It has become very popular to talk about Bitcoins and their possible future in the financial world. To learn more about cryptocurrencies, you can read this ultimate guide for beginners.

But for technical guys, all this news and popularity of the first cryptocurrency are an evidence of obvious applicability and successfulness of underlying technologies and the reason to search for other approaches where they can be used.
Read More

Augmented reality: a technology that brings amazing opportunities

Augmented reality (or AR) is one of the popular digital trends that transformed the traditional way of things in many spheres of our life. Being capable of enhancing our surroundings, AR demonstrates incredible features that can educate, entertain, and assist with implementing complex procedures. This is unforgettable user experience.

In one of our previous posts we’ve already discussed AR and how it is applied in various industries. In this article we’ll explain Augmented reality concept and describe how it works. We’ll cover devices supporting AR features and the programming tools that help deliver AR solutions. Next, we’ll look at the practical use of AR technology. Finally, we’ll discuss the future spreading of AR.
Read More

How Java Web Service Works

In this post we will uncover a Java web service concept. In particular, we will begin with Java advantages, then we will proceed with web server and web application concepts, and finally we will take a look at how a Java web service processes the request. We will also share some practical recommendations on tools and technologies that can be utilized when working with web services.
Read More

Flexible Data Model Design

Introduction

Data often changes. When it comes to integration, the data can change unpredictably. Of course, large vendors notify the community about the breaking changes in advance or give us some period for migration. However, if you implement your own component of a (distributed) system then you likely face a situation when, for example, Tom changed something, while you were working on your cool feature of a Java-application and now you have to fix some unexpected failures on your side. Or a customer asked you to include some small (or big) changes in the initial specifications and next day Tom found out that his part did not seem to be working.

Read More

How to grow your project without failing at architecture, scalability and system integration

Today I would like to talk about problems of project growth. Suppose you’re doing the right things as we did. We ate lots of pizzas, had lots of fun and worked very hard. And the first project architecture design was made on a napkin during a lunch break. But even if you’re doing all of the above, there is no guarantee to reach the goals of the project. The project can still ruin under the weight of circumstances. This article is about things that may help to avoid that. It also focuses on project scalability and system integration issues.

Read More