WebDev+ | Веб-разработка
8.3K subscribers
508 photos
242 videos
10 files
703 links
Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки

Связь: @devmangx
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Вышла версия 1.5 популярного React-компонента для карт

Теперь разработчики могут работать с 3D-картами, использовать SSR, строить маршруты между двумя точками и рисовать собственные геометрические фигуры прямо на карте.

Проект продолжает активно развиваться и становится ещё удобнее для интеграции в современные веб-приложения.

Подробнее: react-google-maps1.5

@WebDev_Plus
3
Занес классную находку для тех, кто учит JS и любит MMORPG. Deepest World — браузерная песочница, где ты пишешь бота на JavaScript, а он уже сам фармит, крафтит и чистит данжи. Игра в раннем доступе и бесплатна. 🤩

Поиграть: https://deepestworld.com/

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
1
freeCodeCamp выкатил ежедневные задачи по программированию. Решать их можно прямо в мобильном приложении или в /learn

Это отличный способ прокачать навыки: можно тренироваться параллельно с прохождением курса или просто для практики на каждый день.

Сегодняшний челендж — валидатор IPv4. Попробуйте решить

Подробнее тут

@WebDev_Plus
3
This media is not supported in your browser
VIEW IN TELEGRAM
Подогнал классную находку для веб-разработчиков

Cursor Effects — набор ретро-эффектов курсора с кучей вариаций. Бесплатно, open source, и встраивается в проект буквально за пару строк кода.

Мгновенно добавляет сайту креатива и выделяет его среди остальных :)

github.com/tholman/cursor-effects

@WebDev_Plus
5
Сохраняй себе 5 топовых тулз для веб-разработчиков

Эти штуки реально ускоряют работу, делают код чище и экономят время. Полезный набор, который стоит держать под рукой.

SVG Flag Icons — nucleoapp.com/svg-flag-icons

EmbedPDF — embedpdf.com

FliiipBook — fliiipbook.com

use-mcp — github.com/modelcontextprotocol/use-mcp

DayPicker — daypicker.dev

Пригодятся в любом проекте

@WebDev_Plus
👍52
This media is not supported in your browser
VIEW IN TELEGRAM
Большинство разработчиков об этом даже не догадываются… любую веб-страницу можно превратить в текстовый редактор одной строкой JavaScript

Просто вбей в консоль браузера:

document.designMode = "on";


И сразу получаешь страницу, где весь контент можно редактировать. Можно включать и выключать этот режим в любой момент, работает во всех популярных браузерах — Chrome, Firefox, Safari, Edge.

Удобно для быстрых мокапов, теста идей по UI или просто чтобы поиграться.

Напоминание: некоторые из самых мощных фич в технике годами лежат прямо на поверхности 🙂

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
😁43👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь выучить React, Svelte, Vue или Angular?

Вот страница, где сравнивается синтаксис всех четырёх фреймворков. Если уже знаешь один, то легко разберёшься в другом:

http://component-party.pages.dev

@WebDev_Plus
👍4
ml5.js — это библиотека машинного обучения для JavaScript, которая даёт доступ к ML-моделям прямо в браузере. С её помощью можно не только использовать готовые модели, но и обучать нейросети локально.

В этом курсе ты узнаешь, как работать с ml5.js, и закрепишь навыки на практике, собирая реальные проекты

@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь создавать лучшие анимации для своего сайта или приложения? Вот 12 принципов, которым нужно следовать:

① Эластичность: деформация для передачи веса и гибкости
② Антиципация: подготовка пользователя перед действием
③ Сцена: привлечение внимания к важному
④ Действие: покадровая анимация или ключевые позы
⑤ Непрерывность: ничего не останавливается и не начинается резко
⑥ Плавность: плавные входы и выходы
⑦ Арки: плавные движения для большего реализма
⑧ Контекст: детали, поддерживающие основное действие
⑨ Время: правильная продолжительность для плавности или скованности
⑩ Преувеличение: акценты для лучшего донесения идеи
⑪ Объем: добавление согласованности, глубины и реализма
⑫ Привлекательность: приятные, запоминающиеся анимации с характером

Вот полная статья с примерами: 12 принципов анимации

@WebDev_Plus
7🔥3👍2😁1
Чит-лист неизменяемых альтернатив 9 методов, изменяющих массивы в JavaScript

@WebDev_Plus
4
This media is not supported in your browser
VIEW IN TELEGRAM
Animate UI только что выпустила свою версию 1.0

✓ React, TypeScript, Tailwind CSS и Motion
✓ Полностью настраиваемая
✓ 170 анимированных иконок

Открытый исходный код: https://github.com/imskyleen/animate-ui

@WebDev_Plus
👍4🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
Чувак создал супер-производительный CSV-редактор, полностью на HTML canvas

Инструмент масштабируется под гигабайты данных и работает, как Excel. Мгновенно обрабатывает огромные файлы с максимальной производительностью. 🎉

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
1🍌1
Эргономика мобильных интерфейсов

Важные кнопки, меню и CTA стоит располагать в «зелёной зоне», а верх лучше оставлять для второстепенных элементов.

@WebDev_Plus
👌92👍1
Как отцентрировать элемент с абсолютным позиционированием?

Использовать auto-margin вместе с width/height?
top/left в комбинации с translate?

В современном CSS можно просто использовать place-self: center

@WebDev_Plus
👍7
Как работает DNS?

Если вы веб-разработчик или DevOps-инженер, важно понимать, что происходит, когда вы вводите в браузере https://website.com и нажимаете Enter.

Первое, что нужно сделать, — это перевести текстовый домен в машинный числовой IP-адрес. Этим занимается DNS-сервер, который работает как телефонная книга в интернете.

Под капотом участвуют четыре типа серверов: recursive resolver, root name server, TLD name server и authoritative name server.

1. DNS Resolver

Когда вы вводите https://website.com, запрос сначала отправляется на DNS Resolver. Этот сервер общается с другими DNS-серверами, чтобы найти нужный IP-адрес.

2. Root Name Server

DNS Resolver обращается к Root-серверам (их 13), которыми управляют разные организации и делегированы ICANN. Они обрабатывают запросы для TLD (доменных зон верхнего уровня).

Если Root-сервер не находит запись в своих зонах, он указывает на сервер имен для нужного TLD, например .com.

3. TLD Server

Далее DNS Resolver опрашивает TLD-сервер, который возвращает IP авторитетного сервера домена.

4. Authoritative Name Server

После запроса к авторитетному серверу домена тот возвращает IP адрес исходного сервера. На финальном этапе DNS Resolver передаёт этот IP клиенту, и браузер использует его, чтобы загрузить страницу.

Кэширование

Чтобы ускорить загрузку, DNS-записи могут храниться в кэше на разных уровнях:

- браузер,
- ОС,
- роутер,
- провайдер.

Если IP есть в кэше, поиск через DNS Resolver не выполняется, что экономит время.

Подробнее: Что происходит, когда вы вводите URL

@WebDev_Plus
1
Шпаргалка по самым важным методам объекта в JS

// Получает собственные ключи объекта
Object.keys({ a: 1, b: 2 })
// → ["a", "b"]

// Получает значения свойств объекта
Object.values({ a: 1, b: 2 })
// → [1, 2]

// Преобразует объект в массив пар [ключ, значение]
Object.entries({ a: 1, b: 2 })
// → [["a", 1], ["b", 2]]

// Преобразует пары [ключ, значение] обратно в объект
Object.fromEntries([["a", 1], ["b", 2]])
// → { a: 1, b: 2 }

// Копирует свойства одного или нескольких объектов
Object.assign({}, { a: 1 }, { b: 2 })
// → { a: 1, b: 2 }

// Замораживает объект (изменения запрещены)
const obj = { a: 1 }
Object.freeze(obj)
obj.a = 2
// → { a: 1 }

// Запечатывает объект (нельзя добавлять или удалять свойства)
const user = { name: "Ana" }
Object.seal(user)
delete user.name // игнорируется
user.age = 30 // игнорируется
// user → { name: "Ana" }

// Проверяет, является ли свойство собственным (не унаследованным)
Object.hasOwn({ a: 1 }, "a")
// → true


👉 Гайды по JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
5
This media is not supported in your browser
VIEW IN TELEGRAM
Разработчики тратят на чтение кода больше времени, чем на его написание

Вот лайфхак:

I. Открой любой репозиторий
II. Замени .com на .dev в URL
III. Просматривай код прямо в VS Code

Кодь с удовольствием 😁

@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
11
This media is not supported in your browser
VIEW IN TELEGRAM
Некоторые React-разработчики думают, что для использования тултипов нужно ставить библиотеку через npm install. Это не так

Для иконок-кнопок можно просто использовать комбинацию атрибута title и текста для скринридеров с классом sr-only из
tailwindcss. В итоге вы получите нативный тултип для лейбла и одновременно улучшите доступность (a11y).

Нюанс: не стоит злоупотреблять атрибутом title для элементов, у которых уже есть лейбл! Я использую его только для интерактивных элементов без лейбла (иконки-кнопки) или для элементов, где текст может обрезаться троеточием (например, ссылки в навигации).

@WebDev_Plus
1👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Брось каплю дождя в любую точку и проследи её путь до океана.

Неожиданно увлекательный и познавательный сайт.

Источник: river-runner-global.samlearner.com

@WebDev_Plus
4
This media is not supported in your browser
VIEW IN TELEGRAM
Новый сайт posthog просто крутой

Создаётся ощущение, что ты пользуешься полноценной операционной системой прямо в браузере.

Особенно радует, когда компании проявляют креатив и добавляют интересные фишки в свои продукты, вместо того чтобы придерживаться скучных стандартных шаблонов :)

@WebDev_Plus
6🔥3