hello.js

var please = require('share');
console.log('thank you');

Sunday, 24 December, 2017 UTC

JavaScript Tech Interview Exercise 2: Binary Gap Exercise in Codility

JavaScript Tech Interview Exercise 2: Binary Gap Exercise in Codility

Exercise: Suppose a positive integer N is given. Determine the binary representation of N , and find the longest subsequence of form 10*1 in this representation, where 0* stands for any number of zeros in the sequence. Examples: 11 , 101 , 1001 , 10001 ... more


Wednesday, 20 December, 2017 UTC

Regular Expressions in JavaScript

Regular Expressions in JavaScript

It is very easy to experiment with JavaScript regular expressions, as JavaScript is accessible in all browsers. I will use the Chrome Developer Tools to execute regular expressions. The > symbol denotes an input. The return value and console logs ... more


Monday, 18 December, 2017 UTC

JavaScript Tech Interview Exercise 1 – Writing an Array Extension

JavaScript Tech Interview Exercise 1 – Writing an Array Extension

You might not know about me that I have conducted tech interviews with over 500 software developers from more than twenty countries with the objective of identifying and hiring the best talent. I have also been in the candidate position, interviewing ... more


Monday, 11 December, 2017 UTC

An Introduction to Regular Expressions – Why Most People Can’t Read Regex

An Introduction to Regular Expressions – Why Most People Can’t Read Regex

I still remember my doomed encounters with regular expressions back when I tried to learn them. In fact, I took pride in not using regular expressions. I always found a long workaround, a code snippet that was quite long. I projected and blamed my own ... more


Tuesday, 31 October, 2017 UTC

ES6 Promises – Quick Start Guide

ES6 Promises – Quick Start Guide

Promises represent the eventual result of an asynchronous operation. They give us a way to handle asynchronous processing in a more synchronous fashion. A promise represents a value we can handle in the future, with the following guarantees: promises ... more


Monday, 30 October, 2017 UTC

What’s new in React 16.0?

What’s new in React 16.0?

Not too long ago, React made a jump from version 0.14 to 15.0. Following this major jump, the first major version update has arrived. Let’s examine what surprises React 16.0 holds for us. Gentlemen, Start Your Engines! Facebook claims they have completely ... more


Friday, 17 March, 2017 UTC

Container Components and Stateless Functional Components in React

Container Components and Stateless Functional Components in React

In the article Building a Chat Component in React and ES6, we learned a way to create React components: import React from 'react'; class SimpleComponent extends React.Component { render() { return ( <div>{this.props.message}</div> ); } } ... more


Tuesday, 28 February, 2017 UTC

Creating Controlled Components in React

Creating Controlled Components in React

In this short article, you will get a chance to learn what controlled components are and why they are beneficial. Suppose a component has an input field with a value depending on the state of the component. The default value of the component is placed ... more


Thursday, 16 February, 2017 UTC

ES6 Proxies in Practice

ES6 Proxies in Practice

A proxy is an object that wraps an object or a function and monitors access to the wrapped item, a.k.a. the target . We use proxies for the intention of blocking direct access to the target function or object. The proxy object has some traps , handling ... more


Saturday, 11 February, 2017 UTC

How to Shatter Magic Numbers in Software Testing

How to Shatter Magic Numbers in Software Testing

Bread is made by mixing ingredients of more or less fixed proportions. There is a tolerance around these proportions defined by the quality standards. This level of tolerance ensures that the quality of the mix stays the same regardless of the environmental ... more


Wednesday, 1 February, 2017 UTC

Video Tutorial – ES6 Arrow Functions with 3 Exercises

Video Tutorial – ES6 Arrow Functions with 3 Exercises

In this article, I will introduce my new Youtube channel with two videos. Both videos are from ES6 in Practice. By watching these short videos, you can learn about Arrow Functions, and you can also put theory into practice by solving three exercises. ... more


Monday, 23 January, 2017 UTC

Understanding the Console API in JavaScript – 7 Tips for Smoother Debugging

Understanding the Console API in JavaScript – 7 Tips for Smoother Debugging

Many JavaScript developers only use the console.log statement for the purpose of finding out more about how their application works. In this article, you will learn that the console API contains many powerful methods that will significantly improve your ... more


Thursday, 5 January, 2017 UTC

Use ESLint Like a Pro with ES6 and React

Use ESLint Like a Pro with ES6 and React

In this article, we will extend our application setup with linting. If you have not read my article on setting up a JavaScript application with React, I highly recommend reading it first. Setting Up ESLint ESLint helps us catch mistakes by enforcing ... more


Tuesday, 27 December, 2016 UTC

The Reflect API of ES6

The Reflect API of ES6

Reflection in a programming language is the act of inspecting, dynamically calling, and modifying classes, objects, properties, and methods. In other words, reflection is the ability of the programming language to reflect on the structure of the code. ... more


Wednesday, 21 December, 2016 UTC

ES6 Symbols and its Use Cases

ES6 Symbols and its Use Cases

This article is a section from the course ES6 in Practice. I created this course during the last couple of months, because there is an evident need for a resource that helps JavaScript developers put theory into practice. This course won’t waste your ... more


Tuesday, 13 December, 2016 UTC

Building a chat component in React and ES6

Building a chat component in React and ES6

This is the third part of the React-Redux series. In the first part, we introduced React and Redux. Although there was no code in the article, clarifying the concepts is still important. In the second part, we set up the development environment with ... more


Monday, 28 November, 2016 UTC

ES6 Iterators and Generators – 6 exercises and solutions

ES6 Iterators and Generators – 6 exercises and solutions

This article is a section from the workbook of ES6 in Practice. I created this course during the last couple of months, because there is an evident need for a resource that helps JavaScript developers put theory into practice. This course won’t waste ... more


Thursday, 24 November, 2016 UTC

ES6 Iterators and Generators in Practice

ES6 Iterators and Generators in Practice

This article is a section from the course ES6 in Practice. I created this course during the last couple of months, because there is an evident need for a resource that helps JavaScript developers put theory into practice. This course won’t waste your ... more


Tuesday, 25 October, 2016 UTC

Step by Step Environment Setup of the React Developer – No Legacy, 2016 Standards

Step by Step Environment Setup of the React Developer – No Legacy, 2016 Standards

Written on October 25th, 2016. No updates have been applied to the step by step application setup. This paragraph will always reflect the actuality of the article. I recently started reviewing React applications of many software developers, who just ... more


Wednesday, 12 October, 2016 UTC

New Tutorial Series: Building a Web-Application using React and Redux

New Tutorial Series: Building a Web-Application using React and Redux

This is the first article in the series on developing maintainable Web-Applications with React and Redux. The goal of this series is to give you a fully up to date view on how to create a web application, sticking to the highest standards, and using ... more


Thursday, 29 September, 2016 UTC

The Developer’s Edge – Double Your Career Speed with Soft-Skills

The Developer’s Edge – Double Your Career Speed with Soft-Skills

In last week’s article, I presented the new path to you. I also announced a concluding article about soft-skill, leadership, and career topics. These topics will be continued on my new website, devcareermastery.com. Dev Career Mastery Many people are ... more


Wednesday, 21 September, 2016 UTC

The New Path – Lessons Learned This Year

The New Path – Lessons Learned This Year

In this article, I will share my future plans with you about this tech blog. People who like to work with ES6, React, Redux, automated testing, and acceptance testing with Selenium, will like the new path. You will soon read about what this path will ... more


Sunday, 13 September, 2015 UTC

Introduction to Immutable.js

Introduction to Immutable.js

Most developers emphasize immutability when dealing with functional programming. Code written in functional style is testable, because the functions operate on data treated as immutable. In practice though, I see this principle violated from time to ... more


Sunday, 6 September, 2015 UTC

Are JavaScript Comments Useless?

Are JavaScript Comments Useless?

Should I write comments in my code? Should I avoid them at all costs? Should I use them sparingly? When developing software, all developers have their view on how and when to use comments. This article will reflect my opinion, not the ultimate truth. ... more


Friday, 14 August, 2015 UTC

Functional and Object Oriented Programming with Higher Order Functions

Functional and Object Oriented Programming with Higher Order Functions

A higher order function is a function whose argument list or return value includes a function. Knowledge about higher order functions is essential when writing programs both in functional and in object oriented style. Why is functional programming good? ... more


Sunday, 9 August, 2015 UTC

JavaScript Debugging Tips and Tricks

JavaScript Debugging Tips and Tricks

Following the previous post about principles of debugging web applications, it is time to explore JavaScript debugging in practice. Browser Developer Tools My personal favorite is the Chrome Developer Tools. Safari and Firefox don’t match the high standards ... more


Saturday, 25 July, 2015 UTC

Cloning Objects in JavaScript

Cloning Objects in JavaScript

JavaScript made its way from being a toy language for simple animations to becoming a language for client side and server side web application development. Some generic concepts also made their way to the JavaScript world and developers become more and ... more


Sunday, 19 July, 2015 UTC

Understand Value and Reference Types in JavaScript

Understand Value and Reference Types in JavaScript

JavaScript does not give you full access to your data structures in memory. However, reference types still exist in the language. Mixing value and reference types comes with unwanted side-effects and bugs. Understanding the difference between value and ... more


Sunday, 12 July, 2015 UTC

My 8 Step Code Review Process

My 8 Step Code Review Process

Developing and maintaining web applications requires code changes of excellent quality. When a team develops an application for years, team members lose track of some updates. Developers tend to make more mistakes when touching code they are not familiar ... more