This media is not supported in your browser
VIEW IN TELEGRAM
Совет для инженеров по проектированию интерфейсов:
Не блокируйте ввод при достижении лимита символов. Блокируйте отправку.
Дайте пользователям закончить свою мысль.
@WebDev_Plus
Не блокируйте ввод при достижении лимита символов. Блокируйте отправку.
Дайте пользователям закончить свою мысль.
@WebDev_Plus
⚡️ Валидация строковых паттернов с помощью template literal types в TypeScript
#TypeScript
@WebDev_Plus
#TypeScript
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Open-source библиотека motion-эффектов — Kinetics теперь содержит 99 анимаций.
- CSS + React версия
- Промпт-версия для вашего AI-кодинг-агента
http://kinetics.colorion.co
@WebDev_Plus
- CSS + React версия
- Промпт-версия для вашего AI-кодинг-агента
http://kinetics.colorion.co
@WebDev_Plus
Распространённые стратегии балансировки нагрузки:
- Round Robin (Круговой): Запросы отправляются серверам последовательно в повторяющемся цикле.
- IP Hash (Хеш IP): Использует IP-адрес клиента для постоянной маршрутизации запросов к одному и тому же серверу.
- Least Connections (Наименьшее число соединений): Новый трафик направляется на сервер с наименьшим количеством активных сессий.
- Least Response Time (Наименьшее время отклика): Выбирается сервер, который в данный момент отвечает быстрее всего.
- Least Bandwidth (Наименьшая пропускная способность): Маршрутизирует трафик на сервер с наименьшей сетевой нагрузкой.
Основная цель проста: обеспечить скорость, доступность и устойчивость приложений.
@WebDev_Plus
- Round Robin (Круговой): Запросы отправляются серверам последовательно в повторяющемся цикле.
- IP Hash (Хеш IP): Использует IP-адрес клиента для постоянной маршрутизации запросов к одному и тому же серверу.
- Least Connections (Наименьшее число соединений): Новый трафик направляется на сервер с наименьшим количеством активных сессий.
- Least Response Time (Наименьшее время отклика): Выбирается сервер, который в данный момент отвечает быстрее всего.
- Least Bandwidth (Наименьшая пропускная способность): Маршрутизирует трафик на сервер с наименьшей сетевой нагрузкой.
Основная цель проста: обеспечить скорость, доступность и устойчивость приложений.
@WebDev_Plus
Совет: используйте разные favicon для окружений dev, preview и prod.
Так вы сможете с первого взгляда отличать вкладки браузера друг от друга и не окажетесь в ситуации, когда случайно открыли prod и пытаетесь понять, почему ваши изменения в коде «не применились».
Чтобы сделать это в Next.js, поместите
Никаких дополнительных маршрутов; в
@WebDev_Plus
Так вы сможете с первого взгляда отличать вкладки браузера друг от друга и не окажетесь в ситуации, когда случайно открыли prod и пытаетесь понять, почему ваши изменения в коде «не применились».
Чтобы сделать это в Next.js, поместите
favicon.ico, favicon.preview.ico и favicon.development.ico в папку public/, а затем переписывайте только запросы к /favicon.ico, если VERCEL_ENV не равен production.Никаких дополнительных маршрутов; в
production ничего делать не нужно (no-op).@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Нативный
По умолчанию ширина
@WebDev_Plus
<select>, который сам подстраивается под ширину выбранного варианта — в одну строчку CSS:select {
field-sizing: content;
}По умолчанию ширина
select определяется самой длинной опцией. field-sizing: content заставляет элемент подстраиваться под текущий выбранный вариант. Работает в Chrome 125+, Edge 125+, Safari 17.4+.@WebDev_Plus
Появился новый набор готовых блоков таблиц данных для React на базе shadcn.
В состав входят фасетные фильтры, сортировка и бесконечная прокрутка, палитра команд для фильтрации по сочетанию ⌘K, поддержка хранения состояния в URL через nuqs или zustand, а также серверные хелперы для Drizzle (в документации есть пример интеграции с supabase).
Кроме того, проект включает AI-функции: фильтрацию на естественном языке и отдельный skill для AI-агентов.
Документация: http://logs.run/docs
https://github.com/openstatusHQ/data-table-filters
@WebDev_Plus
В состав входят фасетные фильтры, сортировка и бесконечная прокрутка, палитра команд для фильтрации по сочетанию ⌘K, поддержка хранения состояния в URL через nuqs или zustand, а также серверные хелперы для Drizzle (в документации есть пример интеграции с supabase).
Кроме того, проект включает AI-функции: фильтрацию на естественном языке и отдельный skill для AI-агентов.
Документация: http://logs.run/docs
https://github.com/openstatusHQ/data-table-filters
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Хотите убрать эффект «резиновой» прокрутки (bounce) в веб-приложении? Достаточно добавить всего одну строку CSS:
Свойство
@WebDev_Plus
html,
body {
overscroll-behavior-y: none;
}
Свойство
overscroll-behavior-y: none отключает вертикальный bounce-эффект при достижении верхней или нижней границы страницы, делая поведение веб-приложения более нативным и предсказуемым, особенно на мобильных устройствах.@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Название сайта говорит само за себя: F*ckSignups.
Это библиотека, в которой собрано более 170 open-source инструментов, работающих прямо в браузере — без регистрации, без электронной почты и без отслеживания.
Если вас раздражает необходимость регистрироваться, чтобы просто попробовать какой-либо инструмент, этот сайт определенно стоит добавить в закладки.
@WebDev_Plus
Это библиотека, в которой собрано более 170 open-source инструментов, работающих прямо в браузере — без регистрации, без электронной почты и без отслеживания.
Если вас раздражает необходимость регистрироваться, чтобы просто попробовать какой-либо инструмент, этот сайт определенно стоит добавить в закладки.
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Этот open-source проект просто зверь: Meetily.
Он расшифровывает и суммирует ваши встречи с помощью ИИ.
Но вся обработка выполняется локально — без загрузки аудио на какие-либо серверы. Полностью бесплатно, на 100% конфиденциально и всего за несколько секунд.
→ https://github.com/Zackriya-Solutions/meetily
@WebDev_Plus
Он расшифровывает и суммирует ваши встречи с помощью ИИ.
Но вся обработка выполняется локально — без загрузки аудио на какие-либо серверы. Полностью бесплатно, на 100% конфиденциально и всего за несколько секунд.
→ https://github.com/Zackriya-Solutions/meetily
@WebDev_Plus
Chrome 150 теперь доступен в стабильном релизе! Вот основные нововведения для разработчиков в этой версии:
→ https://goo.gle/3TcjMwm
🔠 CSS
⌨️ Атрибут
🎨 CSS
@WebDev_Plus
→ https://goo.gle/3TcjMwm
🔠 CSS
text-fit: автоматически масштабирует текст так, чтобы он идеально вписывался по ширине в контейнер — без каких-либо динамических вычислений на JavaScript.⌨️ Атрибут
focusgroup: позволяет декларативно добавить навигацию с помощью клавиш со стрелками и запоминание последнего сфокусированного элемента для составных виджетов, избавляя от необходимости использовать громоздкие скрипты с техникой roving tabindex.🎨 CSS
background-clip: border-area: позволяет обрезать фон непосредственно по области границы, благодаря чему можно создавать нативные градиентные рамки без обходных решений с использованием border-image.@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
Этот эффект можно реализовать, используя только CSS, объединив псевдоклассы `:has()` и `:not()`:
Проще говоря:
> Если внутри
@WebDev_Plus
.menu:has(.item:hover) .item:not(:hover) {
filter: blur(8px);
}Проще говоря:
> Если внутри
.menu есть элемент, на который наведен курсор, применить размытие ко всем остальным элементам, которые в данный момент не находятся под курсором.@WebDev_Plus
Vecel представила Native SDK
Набор инструментов для разработки нативных приложений.
Native SDK поддерживает горячую перезагрузку, использует разметку в сочетании с Zig, обеспечивает мгновенный запуск приложений и работает на macOS, Windows и Linux.
В его основе — собственный GPU-движок, созданный с нуля. Также в SDK входят встроенная дизайн-система и темы оформления, а также поддержка пользовательских компонентов и дизайн-токенов.
Создаём собственное ПО.👏
@WebDev_Plus
Набор инструментов для разработки нативных приложений.
Native SDK поддерживает горячую перезагрузку, использует разметку в сочетании с Zig, обеспечивает мгновенный запуск приложений и работает на macOS, Windows и Linux.
В его основе — собственный GPU-движок, созданный с нуля. Также в SDK входят встроенная дизайн-система и темы оформления, а также поддержка пользовательских компонентов и дизайн-токенов.
Создаём собственное ПО.
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
Шпаргалка по командам Docker 🐳
Базовые команды
Управление контейнерами
Управление образами
Просмотр информации и логов
Тома и сети
Docker Compose
Очистка
Другие полезные команды
@WebDev_Plus
Базовые команды
docker --version — показать версию Docker.docker version — показать версии Docker Client и Docker Server.docker info — вывести информацию о системе Docker.docker help — показать список доступных команд.docker — открыть справку по Docker CLI.Управление контейнерами
docker run image — создать и запустить контейнер.docker run -d image — запустить контейнер в фоновом режиме.docker run -it image — запустить контейнер в интерактивном режиме.docker ps — показать запущенные контейнеры.docker ps -a — показать все контейнеры.docker start container_id — запустить остановленный контейнер.docker stop container_id — остановить контейнер.docker restart container_id — перезапустить контейнер.docker pause container_id — приостановить контейнер.docker unpause container_id — возобновить работу контейнера.docker rm container_id — удалить контейнер.Управление образами
docker images — показать локальные образы.docker pull image — скачать образ из реестра.docker push image — загрузить образ в реестр.docker build -t image . — собрать образ из Dockerfile.docker tag image new_tag — создать новый тег для образа.docker rmi image — удалить образ.docker image prune — удалить неиспользуемые (dangling) образы.Просмотр информации и логов
docker logs container_id — показать логи контейнера.docker logs -f container_id — отслеживать логи в реальном времени.docker inspect container_id — вывести подробную информацию о контейнере.docker stats — показать текущее потребление ресурсов контейнерами.docker top container_id — вывести список процессов внутри контейнера.docker exec -it container_id bash — открыть Bash внутри контейнера.docker exec -it container_id sh — открыть Shell внутри контейнера.Тома и сети
docker volume ls — показать список томов.docker volume create — создать том.docker volume rm volume_id — удалить том.docker network ls — показать список сетей.docker network create network — создать сеть.docker network connect network container_id — подключить контейнер к сети.docker network disconnect network container_id — отключить контейнер от сети.Docker Compose
docker compose up — запустить сервисы.docker compose up -d — запустить сервисы в фоновом режиме.docker compose down — остановить и удалить сервисы.docker compose restart — перезапустить сервисы.docker compose logs — показать логи сервисов.docker compose ps — показать контейнеры Compose.docker compose build — собрать образы для Compose.Очистка
docker system prune — удалить все неиспользуемые ресурсы.docker container prune — удалить остановленные контейнеры.docker image prune — удалить неиспользуемые образы.docker volume prune — удалить неиспользуемые тома.docker network prune — удалить неиспользуемые сети.Другие полезные команды
docker login — войти в Docker Hub.docker logout — выйти из Docker Hub.docker save image > image.tar — сохранить образ в архив.docker load < image.tar — загрузить образ из архива.docker cp container:file host — скопировать файл из контейнера на хост.docker commit container_id image — создать образ на основе контейнера.docker history image — показать историю слоёв образа.@WebDev_Plus
Новый навык /apple-design поможет применять принципы дизайна Apple на практике
Появился новый навык /apple-design, основанный на материалах конференции WWDC от Apple. Его автор изучил лучшие доклады о дизайне и собрал 17 ключевых принципов дизайна и анимации, которые лежат в основе пользовательского опыта продуктов Apple.
@WebDev_Plus
Появился новый навык /apple-design, основанный на материалах конференции WWDC от Apple. Его автор изучил лучшие доклады о дизайне и собрал 17 ключевых принципов дизайна и анимации, которые лежат в основе пользовательского опыта продуктов Apple.
@WebDev_Plus
GitHub
GitHub - emilkowalski/skills: Skills for Designers and Engineers.
Skills for Designers and Engineers. Contribute to emilkowalski/skills development by creating an account on GitHub.
TypeScript 7.0 официально вышел — и он стал значительно быстрее
Основные улучшения:
- До 16× более высокая производительность на некоторых проектах.
- Параллелизация проверки типов значительно ускоряет сборку на многоядерных процессорах.
- Компилятор и языковой сервер полностью перенесены на Go, что обеспечивает нативную производительность и эффективное использование многопоточности.
Новые возможности для управления параллелизмом:
-
-
-
По данным команды TypeScript, типичный прирост производительности при полной сборке составляет 8–12×, а при увеличении числа воркеров (например,
@WebDev_Plus
Основные улучшения:
- До 16× более высокая производительность на некоторых проектах.
- Параллелизация проверки типов значительно ускоряет сборку на многоядерных процессорах.
- Компилятор и языковой сервер полностью перенесены на Go, что обеспечивает нативную производительность и эффективное использование многопоточности.
Новые возможности для управления параллелизмом:
-
--checkers — задает количество параллельных воркеров для проверки типов.-
--builders — позволяет параллельно собирать проекты при использовании --build.-
--singleThreaded — отключает многопоточность для отладки или работы в средах с ограниченными ресурсами. По данным команды TypeScript, типичный прирост производительности при полной сборке составляет 8–12×, а при увеличении числа воркеров (например,
--checkers 8) на некоторых крупных кодовых базах достигает 16,7×. @WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
> Создавать стильные терминальные интерфейсы стало гораздо проще 🤯
Termcn — это, по сути, shadcn/ui для терминальных приложений. Это бесплатная open-source коллекция красиво оформленных UI-компонентов для терминала, которые можно просто копировать и вставлять в проекты на React. Построена на базе Ink и OpenTUI.
→ готовые terminal UI-компоненты по принципу copy-paste
→ построено на Ink и OpenTUI
→ работает с shadcn CLI
→ поддерживает темы, шаблоны и полную кастомизацию
Отличный выбор, если вы разрабатываете CLI-инструменты, AI-агентов или терминальные приложения, которые выглядят так же современно и качественно, как веб-приложения.
Источник : github.com/shadcn-labs/termcn
@WebDev_Plus
Termcn — это, по сути, shadcn/ui для терминальных приложений. Это бесплатная open-source коллекция красиво оформленных UI-компонентов для терминала, которые можно просто копировать и вставлять в проекты на React. Построена на базе Ink и OpenTUI.
→ готовые terminal UI-компоненты по принципу copy-paste
→ построено на Ink и OpenTUI
→ работает с shadcn CLI
→ поддерживает темы, шаблоны и полную кастомизацию
Отличный выбор, если вы разрабатываете CLI-инструменты, AI-агентов или терминальные приложения, которые выглядят так же современно и качественно, как веб-приложения.
Источник : github.com/shadcn-labs/termcn
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
> Google только что представила кое-что действительно впечатляющее.
Речь о LiteRT.js — новом рантайме, который позволяет запускать AI-модели прямо в браузере с использованием WebGPU. Без серверов, без API и с полной обработкой данных локально на устройстве пользователя
По заявлению Google, LiteRT.js обеспечивает более высокую производительность, чем TensorFlow.js и ONNX Runtime Web, благодаря использованию нативного рантайма LiteRT, WebAssembly и аппаратного ускорения через WebGPU (в будущем также появится поддержка WebNN).
→ AI-инференс полностью в браузере
→ аппаратное ускорение через WebGPU
→ без серверов и API
→ данные не покидают устройство пользователя
→ более высокая производительность по сравнению с TensorFlow.js и ONNX Runtime Web
→ совместимость с существующими моделями .tflite и простой путь миграции из PyTorch
GitHub: https://github.com/google-ai-edge/LiteRT/tree/main/litert/js
@WebDev_Plus
Речь о LiteRT.js — новом рантайме, который позволяет запускать AI-модели прямо в браузере с использованием WebGPU. Без серверов, без API и с полной обработкой данных локально на устройстве пользователя
По заявлению Google, LiteRT.js обеспечивает более высокую производительность, чем TensorFlow.js и ONNX Runtime Web, благодаря использованию нативного рантайма LiteRT, WebAssembly и аппаратного ускорения через WebGPU (в будущем также появится поддержка WebNN).
→ AI-инференс полностью в браузере
→ аппаратное ускорение через WebGPU
→ без серверов и API
→ данные не покидают устройство пользователя
→ более высокая производительность по сравнению с TensorFlow.js и ONNX Runtime Web
→ совместимость с существующими моделями .tflite и простой путь миграции из PyTorch
GitHub: https://github.com/google-ai-edge/LiteRT/tree/main/litert/js
@WebDev_Plus