Soup in black and white, logo

ProgrammingSoup

Concise Guide to Advanced React

路 5 min 馃搩

Render props, context, fragments, HOCs, portals, refs, and controlled components are all considered to be advanced React. This article concisely goes through them with examples.

Networking Fundamentals for Web Optimization

路 10 min 馃摌

Optimizing web applications is not only about tweaking code. A great deal of optimizing is about defusing the limitations of the World Wide Web. This article takes a closer look at just that.

Vital Parts for Writing Great CSS

路 20 min 馃摎

Do you get CSS anxiety? Somethings in CSS can lead to hours of frustration - if not known. This article focuses on things that'll likely cause frustration in your encounters with CSS.

Browser Rendering: JS + DOM + CSSOM

路 20 min 馃摎

Structuring your HTML-documents correctly and knowing how to use JS to interact with the DOM and CSSOM is essential as a Web Developer. This article looks at how a browser renders a page to cover these things.

Introduction to TypeScript

路 30 min 馃摎

TypeScript lets us write JavaScript with types, but TS is more than that. It also gives us new features and a well-built compiler. Read this article to learn TS in 2020.

Learning the Docker Basics 馃惓

路 30 min 馃摎

Tired of copy-pasting Docker commands? The basics of Docker are containers, images, volumes, and the compose tool. This article helps you learn Docker basics.

JavaScript Design Patterns

路 10 min 馃摌

JavaScript developers should know about design patterns. This article looks at what a design pattern is and how to implement three common patterns in JavaScript.

JavaScript Testing with React

路 10 min 馃摌

Testing JavaScript should be a joyful experience. Let's cover static testing, unit testing, integration testing, end-to-end testing, and how to test a React app.

Redux Fundamentals

路 10 min 馃摌

Redux is a state manager. Before we start working with Redux, we should know what an action, action creator, reducer, and middleware are. In this article, we'll look at that.

JavaScript Event Handlers

路 5 min 馃搩

Event Handlers in JavaScript are more enjoyable to work with when you know how to use Bubbling, Capturing, Delegation, and the Event Object correctly. So let's learn them.

React Hooks Essentials

路 5 min 馃搩

Give your React function components state with React Hooks by learning the essentials like useState, useEffect, and how to create Custom Hooks.

JavaScript: Iterators and Generators

路 5 min 馃搩

With an iterator in JavaScript, we can, for example, iterate through a sequence of values, create iterables, and control generators. Let's look at iterators and generators.

JavaScript Coercion

路 5 min 馃搩

Type Coercion in JavaScript can be implicit or explicit. Most JS-developers use coercion daily without knowing it. Knowing coercion can save you from lots of headaches.

Objects and Prototypes in JavaScript

路 10 min 馃摌

JavaScript supports prototype-based object orientation, and an object in JavaScript is made up of properties. Prototypes allow us to not having to create classes.

The 'this' Keyword in JavaScript

路 5 min 馃搩

In JavaScript, 'this' is determined based on how we call a function. JavaScript has four rules for 'this' but arrow functions, strangely enough, follow none of them.

JavaScript Variable Scope

路 5 min 馃搩

Scope is about the accessibility of declared identifiers. JavaScript has two main scopes, global and local. Let's look at scoping and hoisting in JavaScript.

Is JavaScript Interpreted or Compiled?

路 1 min 馃搩

Is Javascript a compiled or interpreted programming language? You might be surprised to find out that JavaScript engines use a JIT (just-in-time) compilation.

Stack and Queue in JavaScript

路 10 min 馃摌

A Stack and Queue are both well-known data structures with an O(1) runtime for insert and delete. So, how do we implement Stacks and Queues in Javascript?

Trees in Computer Science and JavaScript

路 20 min 馃摎

Tree Terminology, Binary Trees, and Tree Traversals are things programmers should know. We'll look at that, followed by an implementation of a Binary Search Tree in Javascript.

How to Find All Paths Between Two Nodes

路 5 min 馃搩

Finding all paths between two vertices in a graph can be a tricky challenge. By using Depth First Search, we can get all paths between two nodes in a graph.

Algorithm Analysis Introduction

路 10 min 馃摌

Analysis of algorithms helps us improve our code or pick the right algorithms. This article gives you an introduction so you can start analysing your algorithms.

The Difference Between URI and URL

路 5 min 馃搩

URLs are URIs, therefore, asking what separates them is confusing. Instead, we should ask 'what is a URI?', this article will clear that up.

How to Test Your Custom Server in Next.js

路 5 min 馃搩

Get started with testing your server in Next.js. Find out how you can set up tests and create tests for both your custom server and serverless routes in Next.js.

Java Cryptography Introduction

路 10 min 馃摌

Learn the basics of cryptography in Java and how to use the Java Cryptography API. Learn what keys, certificates, keystores, and signatures are and how to create them.

Multithreaded Programming in Java

路 10 min 馃摌

Multithreading can be used to increase the performance of your application. The cost is increased complexity. Find out how you in Java can use multithreading.