Pull to refresh
3.5

Visual programming *

All about trying to visualize programming

Show first
Rating limit
Level of difficulty

React Custom Hook: useRenderCount

Level of difficulty Medium
Reading time 2 min
Views 338
Digest

One of the major advantages of using useRenderCount is its simplicity. By abstracting the logic into a reusable hook, you can easily integrate it into any component without cluttering your codebase. Additionally, it provides a clear and concise way to monitor render behavior, which can be crucial for performance optimization and debugging.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 0

React Custom Hook: usePrevious

Level of difficulty Medium
Reading time 2 min
Views 696
Digest

This custom hook can be a game-changer in various scenarios. For instance, you can utilize usePrevious to compare and visualize changes in data, track state transitions, or implement undo/redo functionality. Additionally, it can be valuable in form handling, animations, and any situation where having access to the previous value is crucial for your application's logic.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 0

React Custom Hook: useOnScreen

Level of difficulty Medium
Reading time 2 min
Views 1.3K
Digest

One of the key advantages of useOnScreen is its simplicity. With just a few lines of code, you can detect if an element is visible and respond accordingly. This can be immensely useful in scenarios where you want to trigger animations, lazy load images, or load additional content as the user scrolls.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 1

React Custom Hook: useOnlineStatus

Level of difficulty Medium
Reading time 2 min
Views 961
Digest

One of the main advantages of "useOnlineStatus" is its simplicity. By importing and using this hook in your component, you can effortlessly access the online status of the user. The hook internally uses the "navigator.onLine" property to determine the initial online status and dynamically updates it whenever the user's connectivity changes.

Read more
Rating 0
Comments 0

React Custom Hook: useMediaQuery

Level of difficulty Medium
Reading time 2 min
Views 769
Digest

One of the key advantages of this custom hook is its simplicity and reusability. With just a few lines of code, you can effortlessly implement responsive behavior throughout your application. Whether you need to conditionally render components, apply specific styles, or trigger different functionality based on screen size, useMediaQuery has got you covered.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 0

React Custom Hook: useLongPress

Level of difficulty Medium
Reading time 2 min
Views 806
Digest

One of the key advantages of useLongPress is its simplicity. By utilizing this hook, developers can easily define a long-press action on any element in their React application. With just a few lines of code, the hook takes care of handling the intricacies of tracking the long-press duration and triggering the associated callback function.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 0

React Custom Hook: useGeolocation

Level of difficulty Medium
Reading time 2 min
Views 1.2K
Digest

One of the key advantages of useGeolocation is its simplicity. By encapsulating the complex logic required for geolocation access and handling, this hook provides a clean and reusable solution. The hook automatically handles the loading state, updating it when geolocation data is being fetched, and sets the error state if any issues arise during the process.

Read more
Total votes 3: ↑2 and ↓1 +1
Comments 0

React Custom Hook: useFetch

Level of difficulty Medium
Reading time 2 min
Views 1.5K
Digest

One of the key advantages of useFetch is its simplicity. By abstracting away the fetch logic into a reusable hook, developers can quickly and effortlessly make HTTP requests and handle responses without repetitive boilerplate code. With just a few lines, useFetch handles the network request, parses the JSON response, and provides the resulting data.

Read more
Total votes 3: ↑0 and ↓3 -3
Comments 0

React Custom Hook: useEventListener

Level of difficulty Medium
Reading time 2 min
Views 966
Digest

The useEventListener hook is a versatile tool that can be used in a wide range of scenarios. Whether you need to capture keyboard events, listen for scroll events, or interact with user input, this hook has got you covered. Its simplicity and elegance make it an ideal choice for any React project, from small-scale applications to large-scale enterprise solutions.

Read more
Rating 0
Comments 0

React Custom Hook: useDeepCompareEffect

Level of difficulty Medium
Reading time 3 min
Views 1.3K
Digest

One of the key advantages of useDeepCompareEffect is its ability to prevent unnecessary re-renders. By performing a deep comparison between the current and previous dependencies, the hook intelligently determines if the effect should be triggered, leading to optimized performance in scenarios where shallow comparisons fall short.

Read more
Rating 0
Comments 0

React Custom Hook: useDebugInformation

Level of difficulty Medium
Reading time 3 min
Views 1.5K
Digest

The useDebugInformation hook can be applied in various scenarios. For instance, imagine you're working on a complex form component where certain props trigger updates or affect rendering. By utilizing useDebugInformation, you can easily monitor how these props impact your component's performance and whether unnecessary re-renders are occurring. Additionally, the hook can be invaluable when investigating why a specific component is not updating as expected or when fine-tuning optimizations in a performance-critical application.

Read more
Total votes 4: ↑3 and ↓1 +2
Comments 0

React Custom Hook: useDebounce

Level of difficulty Medium
Reading time 2 min
Views 1.2K
Digest

This custom hook is particularly beneficial in scenarios where you need to handle user input, such as search bars or form fields, where you want to delay the execution of an action until the user has finished typing or interacting. It's also useful for optimizing network requests, ensuring that requests are sent only after the user has stopped typing or selecting options.

Read more
Total votes 5: ↑4 and ↓1 +3
Comments 0

React Custom Hook: useDarkMode

Level of difficulty Medium
Reading time 4 min
Views 1.9K
Digest

One of the main advantages of "useDarkMode" is its simplicity. With just a few lines of code, you can enable dark mode in your React application. By invoking this hook, you'll receive the current dark mode state and a function to toggle it.

The "useDarkMode" hook dynamically updates the HTML body class to apply the "dark-mode" styling whenever dark mode is enabled. This approach ensures consistency across all components without the need for manual class manipulation.

Read more
Total votes 6: ↑4 and ↓2 +2
Comments 0

React Custom Hook: useCopyToClipboard

Level of difficulty Medium
Reading time 2 min
Views 1K
Digest

Copying text to the clipboard in a React application can be a tedious task. To simplify this process, I've created a powerful custom hook called useCopyToClipboard. With just a few lines of code, this hook streamlines the copy-to-clipboard functionality, providing developers with a hassle-free solution.

Read more
Rating 0
Comments 0

React Custom Hook: useCookie

Level of difficulty Medium
Reading time 4 min
Views 1.5K
Digest

One of the key advantages of this custom hook is the ability to update the cookie value. The updateCookie function, returned by useCookie, enables you to modify the value of the cookie. By invoking this function with a new value and optional options, such as expiration or path, you can instantly update the cookie.

Read more
Rating 0
Comments 0

React Custom Hook: useClickOutside

Level of difficulty Medium
Reading time 2 min
Views 1.5K
Digest

The potential applications for useClickOutside are endless. It is particularly useful when implementing modal windows, dropdown menus, or any element that should be closed when a user interacts with anything outside of it. By incorporating useClickOutside, you can enhance the user experience by providing intuitive and efficient interactions.

Read more
Rating 0
Comments 3

React Custom Hook: useArray

Level of difficulty Medium
Reading time 2 min
Views 5.1K
Digest

In this article series, we embark on a journey through the realm of custom React hooks, discovering their immense potential for elevating your development projects. Our focus today is on the "useArray" hook, one of the many carefully crafted hooks available in the collection of React custom hooks.

Read more
Rating 0
Comments 0

Supercharge Your React Projects with Custom Hooks

Level of difficulty Medium
Reading time 42 min
Views 5.1K
Tutorial

In this article, we dive into the world of custom React hooks and explore the incredible potential they hold for supercharging your work projects. With over 20 carefully crafted hooks at your disposal, I personally utilize these hooks in my own work projects, and now I'm excited to share them with you. From enhancing functionality to streamlining workflows, these custom hooks are designed to empower developers and deliver user-friendly experiences. Join us on this journey as we unleash the power of these 20+ hooks and unlock new levels of productivity and innovation in your React projects.

Read more
Total votes 1: ↑1 and ↓0 +1
Comments 2

Riddles of the fast Fourier transform

Reading time 10 min
Views 1.4K
Tutorial

• The method of phase-magnitude interpolation (PMI)

• Accurate measure of frequency, magnitude and phase of signal harmonics

• Detection of resonances

The Fast Fourier Transform (FFT) algorithm is an important tool for analyzing and processing signals of various nature.

It allows to reconstruct magnitude and phase spectrum of a signal into the frequency domain by magnitude sample into the time domain, while the method is computationally optimized with modest memory consumption.

Although there is not losing of any information about the signal during the conversion process (calculations are reversible up to rounding), the algorithm has some peculiarities, which hinder high-precision analysis and fine processing of results further.

The article presents an effective way to overcome such "inconvenient" features of the algorithm.

Read in Russian

Read in English
Rating 0
Comments 0

Authors' contribution