When building an application which requires fast array computation (e.g. analysing video/sound stream in real time, drawing on canvas) performance improvement becomes a very important part of the development.
There are several things we can focus on:
This time we will check which kind of loop we should choose to get the best performance.
Suppose we’re preparing a campaign for our shop. During the campaign we want to sell some new producs and focus on several customer groups. But… what are these groups?
We have some general knowledge, based mainly on daily observations, but how can we understand the whole picture?
The simplest solution is to stand in front of a shop and ask each customer what he or she likes.
Another, make an survey and… hold on, we’re living in the 21st century! Let’s solve this problem using Machine Learning.
Internet is an extremly dynamic environment for any application. Vast amounts of data and users make management difficult. Except managing we also need to protect our system from unexpected users’ behaviour or anomalies in data.
For example, if the data we want to check are static and fairly easy to predict, we can use some kind of threshold-based alerting system. But what if data we monitor depends on many conditions, or changing inconstantly across the time? Well, we will need a system which is changing together with the environment our application is living in. This is just another field where machine learning can be applied.
Some time ago I had to create a system which was able to save data on a client’s browser. Of course, the most simplest solution which came to my mind was cookies. But I needed a solution in which my data will be accessible for application opened in multiple tabs. I needed a better solution. Soon, I found specification of LocalStorage and IndexedDB, which is a part of HTML5 WebStorage specification. This amazing technology enables you to save data directly on the client’s browser and makes them accessible at any time from any place.