RSSAmplifier

Blog

StackFull.dev: just dev stuffs

A collection of articles on algorithms, software development and system design. Also contains occasional dev rants.

stackfull.devRSS feed ↗10 posts

Latest posts

Implementing virtual scroll for web from scratch, in less than 150 lines of code

What is virtual scroll ? Virtual scroll (also called virtualization or windowing) is a technique used to efficiently render large lists in web applications — without loading everything into the DOM at once. Instead of rendering 1,000+ items, you only...

Graph data structure in Typescript

The graph data structure is a fundamental concept in computer science, and it is used in various domains such as social networks, transportation systems, and computer networks. A graph is a collection of nodes connected by edges, where each node repr...

Heaps in JavaScript

So far we've looked at implementation of tree data structure and some of it's variants such as trie. In this post, we'll dive into heaps. These are also referred to as priority queues. Introduction Heap is a variant of tree data structure, with two a...

Trie in Javascript: the Data Structure behind Autocomplete

We've already covered the basics of tree data structure in three posts. If you haven't gone through those yet, I would strongly going through the introductory post at the very least. Introduction Trie is a variation of tree data structure. It's also ...

HTTP Refresher: Things You Should Know About HTTP

HTTP(Hyper Text Transfer Protocol) is one of many protocols used for transferring data (think of html pages, text, images, videos and much more) across machines. There are other application layer protocols like FTP, SMTP, DHCP etc. HTTP was invente...

Design patterns in Javascript: Publish-Subscribe or PubSub

What's a design pattern in software engineering? It's a general repeatable solution to a commonly occurring problem in software design. In this article, we'll be looking at one of such common design patterns and see how it can be put to use in real w...

Applying tree traversal algorithms to DOM

We've looked through few binary tree traversal techniques so far: 1- Traversing through the binary tree using recursive and iterative algorithms 2- Traversing through the binary tree using parent pointers In this article, we'll put those learnings to...

Memoizing async functions in Javascript

Memoization is a useful concept. It helps avoid time taking or expensive calculations after it's been done once. Applying memoization to a synchronous function is relatively straightforward. This article aims to introduce the overall concept behind m...

Tree: efficient traversal with parent pointer

In the first part of this series we looked at recursive and iterative approaches for traversing through a binary tree. If you haven't looked through it yet, I highly recommend you to check it out first. I'll wait here, I promise ;) In real life app...

Tree data structure in JavaScript

Tree is an interesting data structure. It has wide variety of applications in all sorts of fields. For example: DOM is a tree data structure Directory and files in our OS can be represented as trees A family hierarchy can be represented as a tree....

StackFull.dev: just dev stuffs · RSS Amplifier