Frontend & Web Dev, Marketing, SEO, GEO | HI Web
15.2K subscribers
474 photos
16 videos
51 files
95 links
• Guides on HTML, CSS, JavaScript, React
• Free Figma templates
• Tips on UI/UX design
• Career advice
• Portfolio tips, GitHub help, and soft skills for devs
• Live projects, coding challenges, tools, and more

For all inquiries contact @haterobots
Download Telegram
📯 Memory Management in JavaScript with WeakRef and FinalizationRegistry

Today, we’re diving into the topic of memory management in JavaScript—but not in the traditional sense of garbage collection. Instead, we'll explore the powerful capabilities of WeakRef and FinalizationRegistry. These tools give developers control over weak references and asynchronous object finalization, allowing for more refined and efficient memory handling.
👍83
Free Figma Template: Auto service

🧠 Difficulty: 🥕🥕

#Figma #Template
👍64
👑 How to create Shapes with Inner Curves using CSS Mask

Naming those shapes is not that easy, same as creating them using CSS. Most of the time we reach for many elements/pseudo-elements and we try to stack them in a way to simulate the curvature. It’s a bit hacky, not flexible and it’s a lot of magic numbers everywhere! I will show you how to create those CSS shapes using one element and a flexible code that you can easily reuse.
👍74🔥3
Free Figma Template: VR Club

🧠 Difficulty: 🥕🥕🥕🥕

#Figma #Template
7👍6
🦾 Five Ways to Lazy Load Images for Better Website Performance

Images have become one of the most used types of content in modern web applications. Although using background images improves the application’s look and feel, increasing image sizes can significantly impact application performance.
7👍1
Free Figma Template: Crypto trading

🧠 Difficulty: 🥕🥕

#Figma #Template
7👍6
👽 How to control a React component with the URL

"Can we make this screen shareable via the URL?"

It's a common feature request. Surprisingly, it also leads to one of the most common causes of bugs in React applications.
9👍1
💥 New scroll badge in DevTools: Find scrollable elements faster

Debugging scroll-related issues just got easier with DevTools' new scroll badge! This post explains what scrollable elements are, why they can be difficult to find, and how this new feature helps you quickly locate them. We'll also take you behind the scenes to see how we developed the scroll badge.
👍76
🪴 Come to the light-dark() Side

You’d be forgiven for thinking coding up both a dark and a light mode at once is a lot of work. You have to remember @media queries based on prefers-color-scheme as well as extra complications that arise when letting visitors choose whether they want light or dark mode separately from the OS setting. And let’s not forget the color palette itself! Switching from a “light” mode to a “dark” mode may involve new variations to get the right amount of contrast for an accessible experience.
👍85
💠 Migrating from Webpack and react-scripts to Vite: The Path to Fast and Lightweight React

Hello everyone! For a long time, my projects were built using Webpack. While powerful, Webpack often felt like a challenge to configure. Recently, my colleagues have been raving about Vite — a lightweight and fast tool for building web applications. Curious to try it out, I encountered some interesting discoveries and challenges, which I’ll share in this article. I hope my experience will help you make a decision and simplify your migration process.
🔥7👍2
⛅️ Meet the New Safe Assignment Operator (?=) in JavaScript

Modern JavaScript development often encounters tasks involving asynchronous operations and error handling. Typically, try-catch and async-await constructs are used for these purposes. However, they can bloat the code and make it harder to read. To address this issue, a new safe assignment operator ?= has been proposed, which significantly simplifies error handling and improves code readability. In this article, we’ll explore how this operator works, its features, and the benefits it offers developers.
13👍3👎1
This media is not supported in your browser
VIEW IN TELEGRAM
🪡 Exploring Playful Context-Aware Animations for Fixed Elements

The other day, I was browsing a nicely designed “About” page, and, like many other sites, it had the familiar pattern of a fixed logo at the top while scrolling. This is quite common, but sometimes the logo ends up overlapping with the text, making things a bit hard to read. You might see this as a quirk of brutalist design, but it got me thinking: what if we hide the logo during those moments when it intersects with the text?
8👍3
Free Figma Template: Real estate

🧠 Difficulty: 🥕🥕🥕

#Figma #Template
11👍5👏1
This media is not supported in your browser
VIEW IN TELEGRAM
⭐️CSS Tip!⭐️

To create an inverted :hover effect, you can use mix-blend-mode with custom :hover properties.

button > span {
left: calc(var(--x, 0) * 1px);
top: calc(var(--y, 0) * 1px);
mix-blend-mode: difference;
}



The cool thing is that using mix-blend-mode acts as a color inverter, which works well with monochrome controls.

As for how to move this code to JavaScript?


const UPDATE = ({target, x, y }) => {
const bounds = target.getBoundingClientRect()
target .style.setProperty('--x', x - bounds.left)
target .style.setProperty('--y', y - bounds .top)
}

const BTNS = document.querySelectorAll('button')
BTNS.forEach(BTN => BTN.addEventListener('pointermove', UPDATE))




button:is(:hover, :focus-visible) {
--active: 1;
}
button span {
transform: translate(-50%, -50%) scale(calc(var(--active, 0) * 3);
transition: transform 0.25s;
}
🔥15👍124👌1
🤳 How to Validate Forms in React and React Native Using Yup and Formik

Validation is a key part of development, regardless of what programming language you’re writing. Developers should always be validating user input, API parameters, and retrieved values.
11👍5
Free Figma Template: MYEL

🧠 Difficulty: 🥕🥕

#Figma #Template
8👍3
This media is not supported in your browser
VIEW IN TELEGRAM
reveal.js is an open source HTML presentation framework. It enables anyone with a web browser to create beautiful presentations for free.
13👍1🔥1
What are you running this code for and why?

Write the answer in the comments 🔻

Answer:

31
31

🔍 Explanation:

Creating the person1 object: The person1 object is created with properties name and age.
Assigning person2 = person1: This does not create a copy of the person1 object but instead creates a reference to the same object in memory. As a result, both person1 and person2 point to the same object.
Modifying the age property of person2: Changing person2.age also affects person1.age because both identifiers refer to the same object.
Outputting person1.age and person2.age: Both values will be 31 because the modification to person2.age also altered person1.age.
👍152🔥2👌1
🤠 GDevelop is a full-featured, no-code, open-source game development software. You can build 2D, 3D and multiplayer games for mobile (iOS, Android), desktop and the web. GDevelop is fast and easy to use: the game logic is built up using an intuitive and powerful event-based system and reusable behaviors.
👍13🔥1