Search
Write a publication
Pull to refresh

All streams

Show first
Rating limit
Level of difficulty

Crafting Enhanced Dropdown Interactions with Svelte: Constructing an Advanced Dropdown Component with Svelte

Level of difficultyMedium
Reading time3 min
Views823

In the realm of frontend development, the quest for enhancing user interaction remains a constant pursuit. Developers, inspired by innovation, often seek solutions to refine components for a seamless user experience. Today, we delve into the construction of an advanced dropdown component using Svelte — a framework known for its simplicity and effectiveness.

Read more

A short guide to UX writing and its role in UX design

Level of difficultyMedium
Reading time5 min
Views1.1K

UX writing is an essential part of UX design, which plays a huge role in providing qualitative user experience. The job of a UX writer is to compose texts for a digital product, which can be of two types: microcopy (labels, buttons, notifications and other small notes) and macrocopy (larger texts like written content on pages, instructions, information sheets). UX writing helps users easily navigate through the product, perform various tasks and get all the necessary information.

Read more

Exploring VALID/READY protocol, pipelines and experimenting with flow control using an HDL training tool

Level of difficultyMedium
Reading time1 min
Views1.8K

Ссылка на русскую версию / link to Russian version

Understanding valid/ready protocol is extremely important for every microarchitect.

Valid/ready is one of the main protocols used to organise flow-control inside a logic block as well as on inter-block (SoC) level.

In the last lesson, we explored FIFO buffer using hdlgadgets - human-in-the-loop HDL training tool.

This time we will take two FIFO buffers (which form a pipeline with valid/ready handshakes) and will experiment with it by changing flow-control logic of the pipeline.

We will show that valid/ready is not only a mechanism for transferring data from one FIFO queue to another, but also a method for organizing various kinds of logical functionality between queues.

If you have not worked with valid/ready protocol before, you will be surprised how easy it is to achieve desired functionality of the design by simply writing couple of lines of Verilog code in the handshaking logic block between two FIFOs.

Read further and watch the video

Game economy design of Premium games through the example of a 4X strategy on PC

Level of difficultyMedium
Reading time9 min
Views1.5K

How to design an economy for your game? The answer to this question might require a series of lectures or articles. The fundamental difference in the approach is based, first of all, on monetization model: F2P or B2P. The second thing that defines the approach to developing an economy system is game genre. This article reviews the case of designing the game economy for a B2P (premium) game, which doesn’t involve earning on microtransactions.

Read more

Top 10 Best Free Partition Manager Software for Windows PC/Laptop

Level of difficultyMedium
Reading time12 min
Views13K

If you are searching for free partition manager software for your Windows PC, then Download the Top and best Partition Manager Software on Windows PC/Laptop.

It is a software program that lets us create, delete, shrink, expand, split, or merge partitions on our hard drives or other storage devices. Without extra software, a hard drive will be partitioned into Windows. But we can’t resize or combine them without any extra help.

The important aspect of owning a PC is to manage your hard-drive partitions very effectively. Based on categories, it divides data to allow people. For example, you can keep your multimedia files, work folders, and your programs in different partitions and install them on your system drive.

If you use your PC to double or triple-boot into various operating systems as a power user. Your SSD or HDD must be divided into smaller partitions; otherwise, it is impossible.

In 2020, in managing software partitions effectively. We help you with Windows and Linux by compiling a list of the best free partition software. So let’s read more to get the free partition manager Windows 10/8/7.

Read more

React — Higher Order Components (HOC)

Level of difficultyMedium
Reading time5 min
Views4.7K

In the ever-evolving realm of web development, mastering advanced concepts is essential for creating robust and flexible applications. In this article, we'll delve into one of these foundational React concepts: Higher-Order Components, commonly known as HOCs. 

Whether you're a seasoned developer seeking advanced techniques or a curious beginner eager to learn, we'll walk through the creation and application of HOCs step by step. Get ready to enrich your development toolkit with this powerful approach while discovering how to enhance the readability, reusability, and maintainability of your code.

Learn it

High-performance network library using C++20 coroutines

Level of difficultyMedium
Reading time17 min
Views22K

Asynchronous programming is commonly employed for efficient implementation of network interactions in C++. The essence of this approach lies in the fact that the results of socket read/write functions are not immediately available but become accessible after some time. This approach allows for loading the processor with useful work during the wait for data. Various implementations of this approach exist, such as callbacks, actors, future/promise, coroutines. In C++, these implementations are available as libraries from third-party developers or can be implemented independently.

Coroutines are the most challenging to implement as they require writing platform-dependent code. However, the recent version of the C++ 20 language standard introduces support for coroutines at the compiler and standard library levels. Coroutines are functions that can suspend their execution, preserving their state, and later return to that state to resume the function's work. The compiler automatically creates a checkpoint with the coroutine's state.

For a comprehensive understanding of C++ 20 coroutines, refer to this article. Below, we examine a code example using coroutines and describe important points applied during implementation.

Read more

React Custom Hook: useTimeout

Level of difficultyMedium
Reading time2 min
Views2.4K

One of the significant advantages of this custom hook is that it ensures the callback function remains up to date even if it changes during component re-renders. By using a useRef to store the callback reference, the hook guarantees that the latest version of the function is always called.

Read more

React Custom Hook: useStorage

Level of difficultyMedium
Reading time3 min
Views2.5K

One of the key advantages of this custom hook is its simplicity. You can use it to store any type of data, such as strings, numbers, or even complex objects, with just a few lines of code. Additionally, useStorage handles the serialization and deserialization of data for you, so you don't have to worry about converting values to and from JSON.

Read more

The art of prioritization in product management

Level of difficultyMedium
Reading time7 min
Views6.7K

Product management runs on choices. What to develop next, what to put on hold, and what to discard altogether. Getting these choices right steers products toward success. It's more than just a list; it's understanding needs, managing resources, and aligning with the company vision. Prioritization is, without a doubt, a major skill for any product manager.

For most of us, the daily challenge is juggling plenty of tasks, features, and stakeholder requests. But not all demands carry the same weight. It's easy to get swayed by the loudest voice in the room or the most recent email in the inbox, but these aren't necessarily what the product or the users need most urgently.

To get it right in product management, we need the right tools and approaches. Let's see what it takes to nail prioritization.

Key challenges in prioritization

As I noted before, in product management, facing various and often unpredictable challenges is part of the job. However, deciding which tasks to prioritize can be especially confusing, and here are a few factors to consider.

1. Changing customer demands: Customers are the heart of any product, and their needs and desires can evolve rapidly. One day, a feature might be all the rage; the next, it's old news. For instance, a messaging app might find its users clamoring for dark mode due to its increasing popularity across platforms. Adapting to these shifting demands requires constant observation and a readiness to pivot.

2. Evolving market trends: The broader market can influence product decisions as much as individual user feedback. If there's a sudden surge in voice-activated technologies, products that don't incorporate voice features might find themselves left behind. Staying attuned to the market means continuous research and the agility to tweak your product roadmap accordingly.

Read more

React Custom Hook: useStateWithValidation

Level of difficultyMedium
Reading time2 min
Views1.7K

One of the key advantages of this custom hook is its flexibility. You can pass any validation function that suits your specific requirements. Whether it's checking the length of a string, ensuring a numeric value falls within a certain range, or performing more complex validations, useStateWithValidation has got you covered.

Read more

React Custom Hook: useStateWithHistory

Level of difficultyMedium
Reading time3 min
Views2.1K

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 "useStateWithHistory" hook, one of the many carefully crafted hooks available in the collection of React custom hooks.

Read more

React + Three.js. Creating your own 3D shooter. Part 1

Level of difficultyMedium
Reading time30 min
Views8.5K

Hello, dear users of the IT world!

In the era of active development of web technologies and interactive applications, 3D-graphics is becoming more and more relevant and in demand. But how to create a 3D application without losing the advantages of web development? In this article, we will look at how to combine the power of Three.js with the flexibility of React to create your own game right in the browser.

This article will introduce you to the React Three Fiber library and teach you how to create interactive 3D games.

Read more

React Custom Hook: useScript

Level of difficultyMedium
Reading time2 min
Views2.8K

useScript can be used in various scenarios. For instance, you can load external libraries like jQuery, enabling you to harness its powerful functionalities without adding bulk to your bundle. Additionally, you can load analytics scripts, social media widgets, or any other script necessary for your application's dynamic behavior.

Read more

React Custom Hook: useRenderCount

Level of difficultyMedium
Reading time2 min
Views1.6K

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

React Custom Hook: usePrevious

Level of difficultyMedium
Reading time2 min
Views8.6K

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

React Custom Hook: useOnScreen

Level of difficultyMedium
Reading time2 min
Views3.5K

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