Algobook
- The developer's handbook
mode-switch

Tutorials and free software

Articles, tutorials and free software

Latest posts

Dependency injection using decorators in TypeScript-thumbnailDependency injection using decorators in TypeScriptA cool tutorial about how we can use decorators to implement dependency injection in TypeScript, from scratch.
Fri Feb 23 2024
Create a Scheduler annotation in TypeScript-thumbnailCreate a Scheduler annotation in TypeScriptA short (but fun) tutorial on how we can create a scheduler annotation in TypeScript. We will use decorators to implement it.
Fri Feb 23 2024
Implement a web API framework with Decorators in TypeScript-thumbnailImplement a web API framework with Decorators in TypeScriptIn this tutorial, we will create a custom made web framework in TypeScript using Decorators and Express. The result will be a simple version of Nest.js.
Thu Feb 22 2024
Implement a sudoku validator in TypeScript-thumbnailImplement a sudoku validator in TypeScriptIn this tutorial, we will implement a sudoku validator in TypeScript. We will check if a sudoku is valid or not. And as a bonus, we will also implement a 'sudoku generator' that will create a valid sudoku game.
Fri Feb 09 2024
Thread pools in Java using ExecutorService-thumbnailThread pools in Java using ExecutorServiceA quick guide on how to use thread pools in Java using ExecutorService with examples.
Thu Feb 01 2024
Using websockets in a Java Spring Boot application-thumbnailUsing websockets in a Java Spring Boot applicationA guide on how to add websockets to your Java Spring Boot application, and connect to it through StompJs in a simple React client app.
Sat Jan 06 2024
Send payload in DELETE request using RestTemplate in Spring Boot-thumbnailSend payload in DELETE request using RestTemplate in Spring BootIn this short guide we will show how to send a payload in a DELETE request using RestTemplate in Spring Boot.
Thu Dec 28 2023
Pass in a function as an argument in Java-thumbnailPass in a function as an argument in JavaIn this guide we will show how to pass in a custom function as an argument in Java.
Wed Dec 20 2023
How to cache data in your Java Spring application-thumbnailHow to cache data in your Java Spring applicationIn this tutorial, we will demonstrate how to cache data in your Java Spring Boot application. We will use the @Cacheable annotation and as a bonus, we will show how to flush the cash on a schedule.
Sun Dec 03 2023
Use React with Fastly-thumbnailUse React with FastlyA short guide on how to setup a react app with create react app using Fastly.
Thu Oct 19 2023
Delete single entity by id in GCP Datastore-thumbnailDelete single entity by id in GCP DatastoreQuick guide on how to delete a single entity by id in GCP Datastore. We will use NodeJs for this tutorial.
Wed Oct 04 2023
Simple AI for predicting heart failure-thumbnailSimple AI for predicting heart failureGuide to use machine learning and data from Kaggle to train a model to predict heart failure. We will use Tensorflow and Python.
Fri Sep 29 2023
Loss functions in machine learning-thumbnailLoss functions in machine learningArticle about loss functions in machine learning. We will go through what a loss function is, and also why we are using it in our machine learning models.
Thu Sep 28 2023
Predict stock prices using machine learning-thumbnailPredict stock prices using machine learningA guide on how to use historical stock data in order to try to predict the future price. Tensorflow, Python and Yahoo finance API will be used in this guide.
Wed Sep 27 2023
Kill processes based on ports using Python-thumbnailKill processes based on ports using PythonA short guide on how to kill processes based on their tcp port using Python
Sat Sep 09 2023
Quicksort algorithm in JavaScript-thumbnailQuicksort algorithm in JavaScriptA tutorial on how to implement the known algorithm, quicksort, in JavaScript using recursive programming.
Mon Aug 21 2023
Merge sort algorithm in JavaScript-thumbnailMerge sort algorithm in JavaScriptA tutorial on how to implement the known algorithm, merge sort, in JavaScript using recursive programming.
Mon Aug 14 2023
Binary trees JavaScript-thumbnailBinary trees JavaScriptGuide and implementation of binary trees in JavaScript with functions for inserting nodes, deleting and print the tree and nodes.
Sat Aug 12 2023
Event loop in JavaScript-thumbnailEvent loop in JavaScriptArticle about the event loop in JavaScript. In depth guide on how it works, and why it exists.
Wed Aug 09 2023
Block requests in Chrome-thumbnailBlock requests in ChromeA short guide on how to block requests using devtools in Chrome
Tue Aug 08 2023
Binary conversion in JavaScript-thumbnailBinary conversion in JavaScriptTutorial on how to convert binary nunmber to decimal and decimal to binary number
Sun Jul 09 2023
How to use interceptors with axios in JavaScript-thumbnailHow to use interceptors with axios in JavaScriptTutorial on how to use interceptors with axios in JavaScript. Interceptors are great when we want to apply common request configs in one place and not duplicate the code.
Thu Jul 06 2023
Disable zoom on mobile web applications when input is focused-thumbnailDisable zoom on mobile web applications when input is focusedSolution for how to remove the auto zoom on a mobile devices when inputs get focused.
Tue Jun 27 2023
Currying in JavaScript-thumbnailCurrying in JavaScriptArticle about currying in JavaScript. Examples and explanations about the concept.
Sun Jun 25 2023
Webcam component in React for taking photos that can be downloaded or sent to an API-thumbnailWebcam component in React for taking photos that can be downloaded or sent to an APIA tutorial on how we can create a component that accesses the webcam and take photos. We will make the image downloadable and prepare it to be added to form data to POST it to an API.
Wed Jun 21 2023
Update state in React for objects and arrays-thumbnailUpdate state in React for objects and arraysA guide on how to work with objects and arrays in React states. We will remove, add and update enitities in the state and explain the cause of mutation in React states.
Thu Jun 15 2023
Implement an add to cart feature in React-thumbnailImplement an add to cart feature in ReactA tutorial on how to implement an add to cart feature for a webshop, using React, context API and JavaScript
Wed Jun 14 2023
How to add Next.js to an existing React application-thumbnailHow to add Next.js to an existing React applicationArticle about how to add Next.js to an existing React application created with create-react-app.
Sat Jun 10 2023
Public folder not found in Next.js with Docker-thumbnailPublic folder not found in Next.js with DockerA short guide on how to solve the issue when Next.js cannot find the public folder after project been built with Docker.
Sat Jun 10 2023
Set title and description dynamically in Next.js App router-thumbnailSet title and description dynamically in Next.js App routerA short tutorial on how to set title and description on each page in Next.js from the App router
Fri Jun 09 2023
Fetch data from API in Next.js App router-thumbnailFetch data from API in Next.js App routerQuick guide on how to fetch data from an API in Next.js from the App router
Fri Jun 09 2023
How to convert fraction to percentage in JavaScript-thumbnailHow to convert fraction to percentage in JavaScriptQuick tutorial on how to convert fractions to percentage in JavaScript
Tue Jun 06 2023
Convert shoe sizes in JavaScript-thumbnailConvert shoe sizes in JavaScriptA tutorial on how we can convert shoe sizes in JavaScript. We will transform millimeter or inches to EU/US/UK sizes
Mon Jun 05 2023
How to create a quit smoking calculator in JavaScript-thumbnailHow to create a quit smoking calculator in JavaScriptA short tutorial on how we can create a calculator for why people should stop smoking. We will calculate the total cost per year, smokes per year and also how much money that can be saved
Mon Jun 05 2023
Create a QR code generator in React-thumbnailCreate a QR code generator in ReactA tutorial on how to build a QR code generator in React using a free API from Algobook.
Sun Jun 04 2023
New Array.prototype functions in JavaScript 2023-thumbnailNew Array.prototype functions in JavaScript 2023A guide on new functions in arrays in JavaScript. We will take a look at toReversed, toSpliced, toSorted, with, findLastIndex and findLast.
Sat Jun 03 2023
How to use an imported image as file in form data in Javascript-thumbnailHow to use an imported image as file in form data in JavascriptA short tutorial on how we can use an imported image file as a blob in our form data to post to our API.
Fri Jun 02 2023
How to create and decode QR codes in NodeJs-thumbnailHow to create and decode QR codes in NodeJsIn this tutorial, we will show how we can create QR codes using NodeJs and also how to decode already created QR codes.
Fri Jun 02 2023
Introduction to web scraping with Puppeteer-thumbnailIntroduction to web scraping with PuppeteerA guide on how to scrape a website using Puppeteer. We will see how we can retrieve the content of https://react.dev and print in the console.
Tue May 30 2023
How I got approved for Adsense in less than two months-thumbnailHow I got approved for Adsense in less than two monthsIn this article, I will share how I got my approval for showing Adsense ads in my less than two month old website.
Tue May 30 2023
Create a JSON object from a TypeScript class and reverse-thumbnailCreate a JSON object from a TypeScript class and reverseIn this tutorial, we will create a function in our TypeScript class that will generate a JSON representation of our class and then we will reverse it by allowing our class being initialized by a JSON string.
Mon May 29 2023
Tabs component in React with icon support-thumbnailTabs component in React with icon supportIn this tutorial we will create a Tabs component that we can use in our application for showing different type of content.
Sun May 28 2023
Build a full stack application with React and NodeJs-thumbnailBuild a full stack application with React and NodeJsA tutorial on how to build a simple full stack application with React in the client side and NodeJs in the backend.
Sat May 27 2023
How to get historical sport events in JavaScript-thumbnailHow to get historical sport events in JavaScriptA tutorial on how we can retrieve winners of historical sport events in JavaScript for free. We will utilize our own free Sport winner API in this article.
Fri May 26 2023
Converting time in JavaScript-thumbnailConverting time in JavaScriptToday we will learn how we can convert time in JavaScript. We will work with seconds, minutes and hours.
Wed May 24 2023
Converting length in JavaScript-thumbnailConverting length in JavaScriptIn this guide, we will convert some length units in JavaScript. We will cover both the metric and the imperial systems.
Wed May 24 2023
Callbacks in JavaScript - explanation and examples-thumbnailCallbacks in JavaScript - explanation and examplesWhat is a callback function? How does it work? In this tutorial, we will explain and show some examples in JavaScript.
Wed May 24 2023
How to make pages in React scroll to top automatically-thumbnailHow to make pages in React scroll to top automaticallyA short tutorial on how we can make our pages always scroll to the top once navigated to. We will create a custom hook that we can implement in our pages.
Tue May 23 2023
Create a contact us form in React with email integration using a free API-thumbnailCreate a contact us form in React with email integration using a free APIA tutorial on how we can create a contact us form with just using React with a 100% free Email API integration.
Tue May 23 2023
How to convert a text file and its content to a JSON file with correct structure-thumbnailHow to convert a text file and its content to a JSON file with correct structureA guide on how to create a JSON file from a txt file in NodeJs. We will also make sure that the content is formatted in correct JSON format.
Tue May 23 2023
How to build your JavaScript to a public lib on npmjs.com-thumbnailHow to build your JavaScript to a public lib on npmjs.comA complete guide on how we can create a library in JavaScript and transpile it to production ready code and publish to npmjs.com. We will cover how to set babel up, package.json and also make it support TypeScript.
Mon May 22 2023
How to send email in NodeJs with Gmail - using nodemailer-thumbnailHow to send email in NodeJs with Gmail - using nodemailerA guide on how to use Gmail and Google OAuth 2.0 to send emails with NodeJs and nodemailer.
Mon May 22 2023
How to send email in NodeJs with a Yahoo mail using nodemailer-thumbnailHow to send email in NodeJs with a Yahoo mail using nodemailerA tutorial on how to send emails in NodeJs using nodemailer. Our sender email will be a Yahoo address and we will cover how to authenticate using app passwords.
Sun May 21 2023
Create a responsive sidebar menu in React with a visibility toggle-thumbnailCreate a responsive sidebar menu in React with a visibility toggleA tutorial on how to create a responsive sidebar in React with icons, links, visibility toggle and a slide in animation. We will also share example how to get it to work with react router dom using NavLinks.
Fri May 19 2023
A react component for displaying Adsense ads-thumbnailA react component for displaying Adsense adsA guide on how we can create a component in react for displaying ads from Adsense
Fri May 19 2023
How to achieve a typing animation on a text-thumbnailHow to achieve a typing animation on a textA short tutorial on how to achieve a typing animation effect on a text, using css and React.
Fri May 19 2023
How to use React router v6 - render child routes with outlet-thumbnailHow to use React router v6 - render child routes with outletA tutorial on how we can render child routes with react router dom v6. We will add a header, footer and a page container which will change depending on child route.
Thu May 18 2023
Create API tester component in React with JSON response code block-thumbnailCreate API tester component in React with JSON response code blockA tutorial on how to create a component in React which can test an API and show the JSON response in a nice formatted container.
Tue May 16 2023
How to time our code execution in JavaScript-thumbnailHow to time our code execution in JavaScriptA short guide on how we can time our code execution with the built in function in JavaScript, console.time and console.timeEnd
Tue May 16 2023
Fast and easy way to secure your Node express API using Helmet-thumbnailFast and easy way to secure your Node express API using HelmetA quick guide on how to secure a Node express API with helmet.
Tue May 16 2023
How to call an async function in useEffect hook-thumbnailHow to call an async function in useEffect hookA short example of how to call an async operation in useEffect hook in React.
Mon May 15 2023
How to get previous render value in React - useRef-thumbnailHow to get previous render value in React - useRefA tutorial on how we can get a previous render value in React using useRef hook. We will create a custom hook called usePrevious that we can reuse across our project.
Mon May 15 2023
useCallback hook in React-thumbnailuseCallback hook in ReactA guide on how useCallback works in React.
Mon May 15 2023
useMemo hook in React-thumbnailuseMemo hook in ReactA guide on how useMemo works in React.
Mon May 15 2023
Async await vs Promise in JavaScript-thumbnailAsync await vs Promise in JavaScriptAn article on the difference between async await and promise in JavaScript. We will show examples of both in real life scenarios.
Mon May 15 2023
Check if a word is a palindrome in JavaScript-thumbnailCheck if a word is a palindrome in JavaScriptIn this short tutorial, we will check if a word is a palindrome. We will solve it using plain JavaScript.
Sun May 14 2023
Function for reversing a string in JavaScript-thumbnailFunction for reversing a string in JavaScriptA short guide on how we can create a function for reversing a string in JavaScript
Sun May 14 2023
Dark mode theme toggling in a React application-thumbnailDark mode theme toggling in a React applicationA guide on how to achieve dark mode theme in a React application with a toggle. We will use React context to solve the problem.
Sun May 14 2023
Caesar algorithm - Encrypt and decrypt-thumbnailCaesar algorithm - Encrypt and decryptIn this guide we will use the Caesar cipher to encrypt and decrypt messages in JavaScript.
Sun May 14 2023
Find prime numbers in JavaScript-thumbnailFind prime numbers in JavaScriptA short demonstration on how we create an algorithm for finding prime numbers in JavaScript
Sun May 14 2023
A free API for hashing passwords-thumbnailA free API for hashing passwordsA short tutorial on how we can use a free API to hash and compare passwords for our applications user management
Sun May 14 2023
Check if two dates are on the same day in JavaScript-thumbnailCheck if two dates are on the same day in JavaScriptTutorial of how we can check if two dates are on the same day, or if it is tomorrow, in plain JavaScript without any external libs.
Sat May 13 2023
Hash passwords in NodeJs using bcrypt-thumbnailHash passwords in NodeJs using bcryptA tutorial on how to use bcrypt in NodeJs to hash passwords and compare them afterwards.
Fri May 12 2023
How to flatten an array in JavaScript-thumbnailHow to flatten an array in JavaScriptAn article on how we can flatten arrays in JavaScript. We will show both arrays with just numbers but also arrays of objects. We will use Array.prototype.flat() in this guide.
Fri May 12 2023
Free city API tutorial-thumbnailFree city API tutorialA tutorial on how to retrieve information about a city on a free API
Fri May 12 2023
UseEffect hook in React - mount, unmount and prop changes-thumbnailUseEffect hook in React - mount, unmount and prop changesA guide on how useEffect hook works. This guide will cover when component mounts, unmounts and also when properties are changing.
Thu May 11 2023
How to programatically format JSON in JavaScript-thumbnailHow to programatically format JSON in JavaScriptA short guide on how we can programatically format a JSON object in JavaScript to beautify our output.
Thu May 11 2023
File input onChange not called second time the file is chosen-thumbnailFile input onChange not called second time the file is chosenA short guide on how to solve the issue when the same file is selected twice with a file input in React
Wed May 10 2023
Want to see all our available guides and tutorials?All postsLooking for your next cool feature?Software