• Queue Implementation in JavaScript / Algorithm and Data Structure

    What do you imagine when you hear the word "Queue"? If you are not familiar with Programming you maybe think about the queue in shop or hospital. But if you are a programmer you associate it 99% with Data Structures and Algorithms. Whoever you are, today we will discuss how to implement Queue Data Structure in JavaScript and what are its differences with a simple Array. Let's get started!

    Read more →
  • What does «clean code» mean in 2020?

      «Clean Code» and a clean cat

      There is nothing developers enjoy better than arguing about clean code: Dan Abramov, for example, has recently fueled the hype with his blog post, «Goodbye, Clean Code».

      However, “clean code” per se doesn’t even have a clear definition. The main book on the subject is Clean Code, where Robert «Uncle Bob» Martin states that there are perhaps as many definitions as there are programmers. But he doesn’t walk away from the fact with a conclusion that there’s no reason to discuss clean code, rather — compare several definitions and highlight general ideas. Therefore he cites the views of several outstanding programmers on what clean code is.

      So we have also become interested in what people in 2020 think of clean code. Have the views changed since the publication of the book? Do opinions vary in different IT fields (maybe backend developers perceive the idea of clean code differently from testers)?

      This spring, Uncle Bob comes to St. Petersburg to give talks at our three conferences: they are about .NET development, testing and JavaScript. Therefore, we’ve asked speakers from each of those conferences to share their opinion on clean code so we could compare the opinions of the industry experts in 2020.

      We've already published the results in Russian, and here's the English version. Since the topic is known to provoke discussions, feel free to give your own definition or argue about those already given!

      UPD: When we posted this article, Uncle Bob had our conferences in his schedule. Unfortunately, the situation has changed. We updated this post on March 12, to avoid any misunderstanding.

      Read more →
    • Quick Sort Algorithm in JavaSript (pivot as the first element + pivot as the random element)

      • Tutorial


      Quick Sort is one of the most famous and effective Sorting Algorithms. The comprehension of how it works will undoubtedly help you in your JavaScript learning. Also, questions on algorithms are popular in job interviews, so there is a big chance you will be asked to describe how Quick Sort works.

      I’m sure that I convinced you that Quick Sort is important. Let’s start!

      Read more →
    • Eliminating Render-Blocking JavaScript and CSS on WordPress

      • Tutorial

      Outstanding loading speed is an essential website feature for a high ranking in SERP (Search Engine Result Pages). PageSpeed Insights by Google is an excellent tool for precisely that — optimizing your website’s loading speed. Let’s say you’re using this tool and get the “Eliminate render-blocking JavaScript and CSS in above-the-fold content” warning. No need to worry! In this tutorial, I will show you how to address the issue.

      Read more →
    • How we learned to draw text on HTML5 Canvas

        We are developing an online collaborative whiteboard, and we are using Canvas to display all graphics and text on boards. There is no out-of-the-box solution for displaying text on Canvas as you would in regular HTML. Hence, over the past several years, we’ve been iterating on this; and we finally think we’ve reached the best solution.

        In this article, we will walk you through this transition from Flash to Canvas and why we gave up on using SVG foreignObject in the process.

        Read more →
      • Prettier is a Must-Have for Large-Scale Projects: Spent 20 Minutes Setting It Up and Forgot About Formatting for a Year

          Many dev teams get split over formatting. And their typical day looks like this: you come to work, have some coffee, write some code, everything’s fine — then bam! Code review where you’re told you put a brace in the wrong place.


          It was an everyday reality for one of Skyeng dev teams a year ago. Then someone had enough and said, “Guys, from now on we use Prettier. Is everyone ok with that?” And then there were no more debates about formatting. We’ve installed Prettier in the frontend repo and all the teams use it.
          Read more →
        • AdBlock has stolen the banner, but banners are not teeth — they will be back

        • Node.JS Frameworks Which Will Rule In 2020


          • Looking for the best node.js framework for web or mobile application development?
          • Searching for top node.js frameworks for the year 2020?
          • Hunting for topmost node.js frameworks to stay ahead in the competition? 

          Here, in this blog, you will get the answers to all such questions. Let's quickly dive into it!

          What is a Node.js Framework?

          Node.js framework is a combination of libraries, helpers, and tools that offer a way to create and operate web applications in an uncomplicated manner. A node.js framework builds the base layer for creating a web app. 

          The most important aspects of node.js framework, like any web framework, are its architecture and features such as support for customization, flexibility, security, compatibility with other libraries. 
          Read more →
        • Is interactivity a major factor for an app’s success?

            Psychology plays an important role in the success of any marketing strategy. Attracting people to your app needs the right psychological approach. Human behaviors are highly crucial which are required to be considered while forming strategies.

            Simplest thing in application affects their interactivity greatly. For example, even the number of notifications, as well as the time at which they will be sent, have a strong impact. According to a survey, 60% of respondents have a preference for what time of day they receive notifications.

            This indicates that the way an app will communicate with users will have an immense effect on its success or failure. Do you know what are the factors that affect the interactivity of your app? Apart from that, how can you make an app interactive?
            Read more →
          • React Token Auth


            Authorization is one of the first problems developers face upon starting a new project. And one of the most common types of authorization (from my experience) is the token-based authorization (usually using JWT).

            From my perspective, this article looks like "what I wanted to read two weeks ago". My goal was to write minimalistic and reusable code with a clean and straightforward interface. I had the next requirements for my implementation of the auth management:

            • Tokens should be stored in local storage
            • Tokens should be restored on page reload
            • Access token should be passed in the network requests
            • After expiration access token should be updated by refresh token if the last one is presented
            • React components should have access to the auth information to render appropriate UI
            • The solution should be made with pure React (without Redux, thunk, etc..)
            Read more →
          • Understanding the Concept of Modern Web App Development In 2020

            Millions of businesses exchange information on the internet and to interact with their target audience. This helps them make fast and secure transactions over the web. However, business goals can be achieved when the businesses are able to store all this data for the means of presenting quality output to the end users.

            Simply put, in the development industry a web application (or “web app”) is more like a program that uses a web browser to handle the storage and retrieval of the information to present information to the users. This allows a user to interact with the company using the online forms, e-shopping carts, CMS, etc. Some more examples of web applications are online banking, online polls, online forums, online reservations, shopping cart, and interactive games.

            Learning about web development is kind of like having too many things on a plate. This blog serves as a way to get your acquainted with the world of web app development.
            Read more →
          • Top 5 ReactJS Development Companies


              ReactJS is an open-source JavaScript library designed by Facebook for developing rich and engaging web apps efficiently and quickly with minimal coding.

              The core task of ReactJS is providing the best possible rendering performance. Its strength comes from the focus on the individual elements. Instead of working on the complete web app, ReactJS allows a programmer to break down the complex UI into simpler elements.

              As per a survey conducted by The State of Javascript, React JS has surpassed Angular and others in becoming the most loved Javascript library.


              Read more →
            • Dagaz: A new Beginning

              • Translation
              It runs south and circles north, circling, circling to run with its wind
              And according to its circuits the wind returns;
              All the rivers run into the sea — and the sea does not overflow,
              To the place where the rivers run, — There they continue to run;

              The book of Ecclesiastes

              In 1998, a completely unique, for its time, application was developed that allows you to reduce the process of developing an abstract board game (or puzzle) to a small text description language, vaguely reminiscent of Lisp. This project was called Zillions of Games. It created a furor among fans of board games. Currently, over 2,000 applications have been created using this technology.
              Read more →
            • MobX or Redux: Which is Better For React State Management?

                In JavaScript, state management is a hot of discussion these days. When it comes to implementing state management, developers often find it challenging dealing with boilerplate code in Redux. Hence, MobX has proved to be a good alternative to Redux which gives the same functionality with less code to write. However, both state management tools work well with React.

                Let's first have a look at the common things between the two:

                1) Both support time-travel debugging
                2) Both contain open-source libraries
                3) Both provide a client-side state management
                4) Both provide huge support for React native frameworks

                In this blog, we have listed all the pros and cons of both state management solutions. It will help web developers to choose the best one for their next project. Before discussing this, we have compared both Redux and Mobx based on some parameters as given below:
                Read more →
              • React benefits: A blessing for Businesses?

                  Launched in 2013, React has been successfully used to develop 1,004,124 websites in the past 6 years. The Javascript library React JS is known for giving simple programming experience and improved performance.

                  It was released by Facebook to resolve the issues of coding and maintenance with their ads. It was developed with an intention to increase and manage Facebook ads traffic. React has successfully delivered the expected outcomes throughout its journey.
                  Read more →
                • Angular: The Best Building Companion for Interactive apps

                    Do you know there were 5 million apps in 2019? Out of these millions of apps, only a few are able to perform. There are many reasons for this but a major factor is the interactivity of an app.

                    No matter which product you are trying to sell, customers choose the one which allows them to get involved. Interactive apps are in demand for a long time. Are you wondering how can you make an interactive app?

                    The first thing which comes to our mind when we talk about interactive apps is the concept of single page application. This is because SPAs are known for their capacity to interact with the user by reloading some page elements dynamically depending upon the interaction by the user.
                    Read more →
                  • Cracking Reduce Concept In Just 10 Minutes

                      Being a developer, I love to code especially in JavaScript. As per my experience, using reduce function is one of the toughest tasks in JS. Let me first elaborate on the Reduce concept!

                      In Wikipedia, it has many names viz.


                      It is a function that folds a list into any data type. It's all about breaking a structure down into a single value. It's like folding a box! With reduce, you can turn an array [1,2,3,4,5] into the number 15 by adding them all up.
                      Read more →
                    • How To Implement JavaScript Utility Functions Using Reduce?

                        When it comes to code in JavaScript, developers found reduce function as one of the toughest concepts to crack. According to Wikipedia, Reduce has multiple names viz. Accumulate, Fold, Compress and Aggregate. These names clearly indicate the meaning & working of reduce function. The idea behind this is to break down a structure into a single value. Hence, Reduce can be defined as a function which converts a list into any data type.

                        For example, you can reduce an array [5,4,3,2,1] into the value 15 by just adding them.

                        Reduce function keeps developers away from using loop in order to fold a list into a single value.

                        In this blog, you will learn ways to implement well-known functions using reduce as already done by developers in top software development company.

                        I have listed out 10 JavaScript utility functions recreated using reduce function. So, check out below these functions:-

                        • Map

                        Parameters used

                        array (to transform list of items), transform Function (is a function used to run on each element)


                        By using the given transformFunction, each element in the given array get transformed and returns new array of items.

                        How to implement?

                        const map = (transformFunction, array1) =>
                          array1.reduce((newArray1, xyz) => 
                        	return newArray1;

                        Use case:

                        const double = (x) => x * 2;
                        const reverseString = (string) =>
                        map(double, [200, 300, 400]);
                        Output: [400, 600, 800]
                        map(reverseString, ['Hello Alka', 'I love cooking']);
                        // ['alkA olleH', ‘gnikooc evol I']
                        Read more →