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

Scrum VS Kanban or Scrum AND Kanban?

Definitions

When you run an IT project, you should always consider the work method, that defines how the value is delivered to the IT product. The development process, no matter how many members your team has, can be either efficient or not. The challenges of your IT project have a lot in common with the challenges of other projects in the industry.
Read More

The Best Practices in Organization of QA Process for a Software Development Project (Part II)

Our previous article described how to build a template for a testing round and what and why we need for that. But such template is just a tool and it is useless when not used correctly. So let’s drill down into QA process and its procedures we are using to let the testing be flowing fast and easily. Below, we are going to share the detailed instructions as well as some QA process improvement ideas.
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. 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

The Best Practices in Organization of QA Process for a Software Development Project

This article describes our best practices in building the QA process for a software development project. What are our main goals in it?

Fast and featureful

First, the delivery of new software versions to end users as fast as possible is vital for software development nowadays. Fierce competition in the software market compels software companies to release new features sooner than their rivals to attract users. As a result, the Agile techniques have spread widely as they combine flexibility and short delivery cycles.
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

Benchmarking: Best Practice For Code Optimization

For most developers performance testing sounds like something really difficult to get started on. It might come to mind that some special and usually expensive environment and tools to test the performance.

Well, sometimes you do indeed need them to test the network communications impact, or if you have a cluster and want to measure its capacity, for example. But if you have some small system or you don’t have a lot of money, you may still face performance problems. Sometimes you can’t scale the environment, because it is expensive or your code has bugs preventing it from scaling.
Read More

How to Make Performance Testing More Efficient

Performance testing is a type of testing proceess to determine the responsiveness, throughput, reliability and scalability of a system, it has under a certain load. The goal of the performance testing is one of the listed below:

  1. To assess readiness of the system for the production release,
  2. To evaluate performance of the system against some baselines,
  3. To find the best configuration settings of the system,
  4. To find the source of performance,
  5. To determine throughput levels.

Read More