hello.js

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

Wednesday, 23 May, 2018 UTC

JavaScript Tech Interview Exercise 15: Drag and Dropping Cards

JavaScript Tech Interview Exercise 15: Drag and Dropping Cards

We have skipped a couple of exercises that transformed our Pomodoro app into a Kanban board. Tasks 12 – 15 are great exercises for refactoring, and you can get access to them in ES6 in Practice, but they are less optimal as a blog post material. Let ... more


Friday, 18 May, 2018 UTC

An Introduction to Microservices

An Introduction to Microservices

As some of my subscribers might already know, I was busy authoring a JavaScript course on microservices together with Packt Publishing. This kind of cooperation is always interesting, because there are fixed target dates to follow, and I tend to live ... more


Monday, 14 May, 2018 UTC

ES2018 Regular Expression Updates – an Opinionated Summary

ES2018 Regular Expression Updates – an Opinionated Summary

The last few weeks made me think about renaming my book. Because ES6 was ES2015. Of course when I started writing ES6 in Practice, I included those two small ES2016 updates. Then I promised a bonus chapter on ES2017 including the famous async-await update. ... more


Thursday, 10 May, 2018 UTC

Visualizing Regex Execution using Finite State Machines

Visualizing Regex Execution using Finite State Machines

A regular expression is converted into code executed in a virtual machine. This virtual machine runs on the virtual machine of the host language or editor. Abstract models make us understand how regular expressions are executed. Although these models ... more


Tuesday, 8 May, 2018 UTC

JavaScript Tech Interview Exercise 11: Persistence with Local Storage

JavaScript Tech Interview Exercise 11: Persistence with Local Storage

Exercise : Store the state of the application in a local storage. Make sure the application state is reloaded once you refresh the page. Solution : Clone PomodoroTracker2 from my GitHub repository as a starting point. Alternatively, you can use your ... more


Tuesday, 1 May, 2018 UTC

JavaScript Tech Interview Exercise 10: Pomodoro App Markup and Styling Refactoring

JavaScript Tech Interview Exercise 10: Pomodoro App Markup and Styling Refactoring

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


Tuesday, 13 February, 2018 UTC

How Replacing JavaScript Templating Engines with ES6 Template Literals May Cost You Your Job

How Replacing JavaScript Templating Engines with ES6 Template Literals May Cost You Your Job

The article ES6 Strings and Template Literals introduced you to the syntax of ES6 strings and template literals. However, if you wanted to use ES6 template literals for microtemplating, the article itself does not help you. In this article, you will ... more


Wednesday, 7 February, 2018 UTC

JavaScript Tech Interview Exercise 9: Event Delegation in a Pomodoro App

JavaScript Tech Interview Exercise 9: Event Delegation in a Pomodoro App

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


Thursday, 1 February, 2018 UTC

JavaScript Tech Interview Exercise 8: Video Player

JavaScript Tech Interview Exercise 8: Video Player

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, 22 January, 2018 UTC

JavaScript Tech Interview Exercise 7: Painting on an HTML5 Canvas

JavaScript Tech Interview Exercise 7: Painting on an HTML5 Canvas

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


Thursday, 18 January, 2018 UTC

Binary Trees, Recursion, Tail Call Optimization in JavaScript

Binary Trees, Recursion, Tail Call Optimization in JavaScript

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


Thursday, 11 January, 2018 UTC

JavaScript Theory Quiz – Crack the ES6 Interview

JavaScript Theory Quiz – Crack the ES6 Interview

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


Tuesday, 9 January, 2018 UTC

JavaScript Tech Interview Exercise 5: Connect-4 Solver in ES6

JavaScript Tech Interview Exercise 5: Connect-4 Solver in ES6

This interview question is also available as a video on my Youtube channel. 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 ... more


Wednesday, 3 January, 2018 UTC

Strings and Template Literals in ES6

Strings and Template Literals in ES6

It is time to have a look at string manipulation and template literals. There has been a shift in the trends of web development in the last ten years that moves the responsibility of rendering from the server side to the client side. Therefore, the HTML ... more


Saturday, 30 December, 2017 UTC

Ten JavaScript Theory Questions – The ES6 Quiz

Ten JavaScript Theory Questions – The ES6 Quiz

There are countless questions your interviewers may ask when it comes to how JavaScript works. The idea behind asking these questions is to assess whether you have recent experience in writing JavaScript code. Some more clueless interviewers tend to ... more


Monday, 25 December, 2017 UTC

Regular Expressions in PHP

Regular Expressions in PHP

This blog has been about JavaScript so far. However, with the topic of regular expressions, we are diving in more deep waters. As a refresher, some other languages will also surface on our horizon. In this post, we will get started with writing and testing ... more


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