MaiDeveloper

Introduction to Cross Site Request Forgery (CSRF)

Cross-Site Request Forgery (CSRF) is a type of attack that causes an authorized user to do undesirable activities on a web application. An attacker can deceive users of a web application into doing activities of the attacker's choosing using social engineering techniques.

How to Traverse DOM Elements

There is a traversal API that allows us to find structurally related elements of the document; it treats a document as a tree of element objects. We can access these traversal API by referring to a specific element's parent, children, and siblings properties.

Introduction to Browser Custom Events

We can use client-side JavaScript's event API to define and dispatch our events using CustomEvent. Assume our application needs to conduct a long computation or a network request on a regular basis, and the other functionality or user interface is unavailable while these operations are in progress.

Symmetric Tree in JavaScript

Given the root of a binary tree, check whether it is a mirror of itself (i.e., symmetric around its center).

Palindrome Linked List in JavaScript

Given the head of a singly linked list, return true if it is a palindrome.

Move Zeroes in JavaScript

Given an integer array nums, move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note that you must do this in-place without making a copy of the array.

Decode Ways In JavaScript

A message containing letters from A-Z can be encoded into numbers using the mapping. To decode an encoded message, all the digits must be grouped then mapped back into letters using the reverse of the mapping above (there may be multiple ways).

Number of Islands in JavaScript

Given an m x n 2D binary grid, grid which represents a map of '1's (land) and '0's (water), return the number of islands.

Introduction to stack data structure in JavaScript

A stack is an abstract data type that stores an ordered collection of items which follow first in last out (FILO) or last in first out (LIFO) principle; with two principal operations: push, which adds an item to the stack, and pop, which removes the most recently added item.

Dijkstra's Shortest Path Algorithm

Dijkstra's algorithm is an algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks. It was conceived by computer scientist Edsger W. Dijkstra in 1956 and published three years later. The algorithm exists in many variants.

Autocomplete / Suggestion / Typeahead Search using Trie Data Structure and Algorithm

Autocomplete or suggestion or typeahead offers a number of possible values while typing. I am going to solve this problem using trie data structure and algorithm.

Introduction to Web Worker API

Web Worker API is a JavaScript web API for running multiple tasks simultaneously without affecting the performance of the apps.

Introduction to Web Beacon API

The Beacon API is a JavaScript web API for sending data from the browser to the web server without expecting to get a response. It is used to send analytics, diagnostics, and logging data which doesn't need a response.

Unique Path III in JavaScript

On a 2-dimensional grid, there are 4 types of squares. Return the number of 4-directional walks from the starting square to the ending square, that walk over every non-obstacle square exactly once.

Largest Rectangle in Histogram in JavaScript

Given n non-negative integers representing the histogram's bar height where the width of each bar is 1, find the area of largest rectangle in the histogram.

How to calculate Euclidean Distance? How to measure the distance between two points?

Calculate the Euclidean Distance for one dimensional, two dimensional, three dimensional in JavaScript. In mathematics, the Euclidean distance or Euclidean metric is the "ordinary" straight-line distance between two points in Euclidean space.

Verifying an Alien Dictionary in JavaScript

In an alien language, surprisingly they also use english lowercase letters, but possibly in a different order. The order of the alphabet is some permutation of lowercase letters.

Longest Palindromic Substring in JavaScript

Given a string, find the longest palindromic substring. We going to iterate each character in the string; and within that character, we expand and look for the longest palindrome. As we keep iterating, we only keep the longest palindrome.

Clock Angle in JavaScript

Given two integers, an hour and a minute, write a function to calculate the angle between the two hands on a clock representing that time.

Knife Customization

This is the app that I wrote for Master Cutlery. You can build your own knife with this knife customization app. You get to choose handle material, bolster, box, and pouch. The visual appearance and the price of the knife will be changed based on your configuration.