WebDev+ | Веб-разработка
前往频道在 Telegram
Присоединяйтесь к нашему каналу и погрузитесь в мир веб-разработки Связь: @devmangx
显示更多8 068
订阅者
-224 小时
-257 天
-11330 天
帖子存档
ngrok появился в Portless.
Теперь можно публиковать локальные сервисы через интернет, сохраняя постоянные
.localhost URL.
@WebDev_PlusЕсли знаешь Laravel, но хочешь перейти на Go, этот проект может сильно упростить жизнь.
Goravel — веб-фреймворк для Go, который повторяет многие привычные подходы и соглашения Laravel.
Что есть из коробки:
→ Artisan Console для CLI-команд и автоматизации
→ аутентификация через JWT и сессии
→ ORM с model factories для тестов
→ поддержка gRPC-серверов и клиентов
Идея довольно простая: вместо того чтобы учить новый фреймворк с нуля, можно использовать знакомые паттерны Laravel в экосистеме Go
Для PHP-разработчиков выглядит как один из самых комфортных способов зайти в Go без полного переписывания привычного мышления.
https://github.com/goravel/goravel
@WebDev_Plus
Chrome 149 вышел, и в нём наконец-то появилась одна из самых ожидаемых CSS-фич.
Теперь можно стилизовать промежутки (gaps) в CSS Grid и Flexbox.
Это значит, что многие макеты, которые раньше требовали лишних обёрток, псевдоэлементов или хитрых костылей, теперь можно собрать чистым CSS.
Например, внешний вид календаря теперь легко реализуется через CSS Grid с оформленными промежутками между ячейками.
Автор подготовил статью на ICS MEDIA, где разбирает новую возможность, а также приложил демо и исходный код.
Очередной небольшой CSS-апдейт, который убирает ещё один класс фронтенд-костылей.
@WebDev_Plus
👀 React Compiler на Rust: свежий апдейт
Кратко:
• Rust-версия компилятора выдаёт результат, который на 99.9% совпадает с оригинальной реализацией
• Команда уверена в стабильности и планирует влить PR в ближайшие недели
• Уже можно тестировать локально
• Команда Oxc уже работает над интеграцией, есть черновик PR
Похоже, React Compiler скоро получит полноценную Rust-реализацию, что может ускорить сборку и упростить интеграцию с современной экосистемой JavaScript-инструментов.
@WebDev_Plus
Наткнулся на очень годный File Tree-компонент 🌳
Trees — open-source файловое дерево для приложений, которым нужен проводник уровня IDE.
Из коробки есть:
• поиск по файлам
• drag-and-drop
• выделение файлов и папок
• Git-статусы
• горячие клавиши
• всё, что обычно ожидаешь от нормального файлового проводника
Подходит для редакторов кода, девтулзов, файловых менеджеров и любых приложений, где нужно современное дерево файлов.
Выглядит настолько отполированным, будто его вытащили из готовой IDE, а не из очередного npm-пакета.
@WebDev_Plus
Мой набор JavaScript-библиотек, без которых уже сложно представить разработку:
🛡 zod → валидация схем и типобезопасная проверка данных
📅 date-fns → работа с датами без боли и лишнего веса
📊 tanstack-table → мощные и гибкие таблицы для React
🔐 better-auth → аутентификация пользователей без лишней возни
🎞 motion → анимации на JavaScript с современным API
🔤 fontsource → подключение веб-шрифтов прямо через npm
📈 chart.js → доступные и удобные HTML5-графики
🐻 zustand → простое глобальное управление состоянием
🖱 pragmatic-drag-and-drop → drag-and-drop от команды Atlassian
⌨️ hotkeys-js → горячие клавиши и клавиатурные шорткаты
@WebDev_Plus
Кейс большой frontend-миграции от ВКонтакте. Команда перевела ключевые разделы vk.com на SPA. В итоге получили ускорение первой отрисовки страницы на 25% и ускорение среднего времени перехода между разделами в 3,5 раза.
Переход был плавным: снаружи все привычно, внутри — новая платформа
https://www.cnews.ru/news/line/2026-06-03_vkontakte_obnovila_veb-platformu
@WebDev_Plus
Design Engineering Tip
Попробуйте делать
textarea, которая растёт вместе с контентом, вместо вложенного скролла внутри поля.
Так пользователю проще писать длинный текст, а форму легче просматривать целиком.
CSS:
textarea {
field-sizing: content;
}
Маленькая деталь, но UX сразу становится приятнее.
@WebDev_Plusnpm install новый месяц
npm install возможности
Цитата с верой
@WebDev_PlusОткрой X.
Выполни этот JavaScript в консоли браузера:
s = document.createElement("style");
s.innerHTML = "*{font-family:comic sans ms!important}";
document.head.append(s);
Наслаждайся.
@WebDev_PlusЕсли хотите, чтобы Claude нормально делал вам слайды, не используйте Claude Design.
Используйте Reveal.js. - https://github.com/hakimel/reveal.js
Пусть Claude генерирует презентации как обычные HTML + Markdown-файлы.
Это намного приятнее:
→ слайды лежат в коде
→ их легко редактировать
→ можно хранить в Git
→ можно версионировать
→ можно быстро менять структуру
→ можно деплоить как обычную веб-страницу
Вместо того чтобы возиться с визуальным редактором, вы просто описываете, какую презентацию хотите получить, а Claude собирает её как фронтенд-проект.
Для разработчиков это ощущается естественнее.
Слайды становятся не «файлом презентации», а частью нормального рабочего процесса.
@WebDev_Plus
#Laravel Tip
Автоматическое удаление записей из коробки 🪄
Иногда нужно автоматически удалять устаревшие записи из базы данных. Многие для этого пишут собственные Artisan-команды и настраивают cron-задачи.
В Laravel для таких случаев уже есть готовое решение — трейт
Prunable.
Достаточно определить условие, какие записи считаются устаревшими:
use Illuminate\Database\Eloquent\Prunable;
class Flight extends Model
{
use Prunable;
public function prunable(): Builder
{
return static::where('created_at', '<=', now()->subMonth());
}
}
После этого Laravel сможет автоматически находить и удалять подходящие записи через команду:
php artisan model:prune
Можно добавить её в планировщик задач и больше не думать об очистке старых данных.
Меньше кастомного кода. Меньше поддержки. Больше встроенных возможностей Laravel.
@WebDev_PlusБлин... Этот визуальный инспектор для React просто шикарен 😍
React Trace от скромного разраба — это инспектор для разработки, который помогает находить React-компоненты, определять их исходные файлы и быстро разбираться в структуре приложения.
→ визуально инспектировать React-компоненты
→ мгновенно переходить к исходному коду компонента
→ понимать иерархию компонентов
→ передавать контекст компонента в AI-инструменты для программирования, такие как OpenCode
С ним отладка и навигация по крупным React-кодовым базам становятся намного проще :)
Исходник 🔗: http://github.com/buzinas/react-trace
@WebDev_Plus
⚡️Типобезопасная работа с формами множественного числа с помощью
Intl.PluralRules и отображаемого типа (mapped type)
@WebDev_PlusНа Stepik вышла программа «Фундамент DevOps»
Это комплексная программа из 4 практических курсов по ключевым технологиям современного DevOps: Linux, Git, Docker и Kubernetes.
Вы последовательно пройдёте путь от работы в Linux и Git до контейнеризации приложений и управления ими в Kubernetes.
Что вы изучите:
• уверенную работу в Linux и терминале • Git и контроль версий в реальных проектах • Docker и контейнеризацию приложений • Kubernetes и оркестрацию контейнеров • основы сетей, безопасности и хранения данных • автоматизацию задач и диагностику инфраструктуры ... и многому другомуВсе знания закрепляются на практике с помощью заданий с автопроверкой. Материал подаётся понятным языком, шаг за шагом, с большим количеством примеров, схем и демонстраций. После прохождения вы получите сертификат, который можно добавить в резюме. Отдельно курсы стоят 16 600 ₽, но в составе программы доступны всего за 7 990 ₽: открыть на Stepik
Можно сделать sticky-navbar, который меняется при скролле, на чистом CSS — без JS и библиотек анимаций.
header {
container-type: scroll-state;
position: sticky;
top: 0;
}
@container scroll-state(stuck: top) {
.nav-bar {
max-width: 56rem;
border-radius: 0.75rem;
background: rgb(255 255 255 / 0.92);
}
}
Теперь браузер сам понимает, когда sticky-элемент «прилип» к верхней границе, и всё срабатывает через один container query.
Пока доступно только в Chromium-браузерах — без Firefox и Safari, что, конечно, обидно.
@WebDev_PlusПодготовьте свой сайт к взаимодействию с ИИ-агентами с помощью Lighthouse → https://goo.gle/3ReK3JD
Если вы хотите, чтобы ИИ-агенты действительно корректно работали с вашим сайтом, новый экспериментальный аудит в Lighthouse позволяет проверить:
- Обнаруживаемость сайта для ИИ-агентов
- Интеграцию с WebMCP
Доступность для ИИ-систем
#GoogleIO
@WebDev_Plus
Наконец-то это происходит
npm планирует по умолчанию блокировать
postinstall-скрипты в одном из будущих релизов.
В ближайшее время (через поэтапный rollout) пользователи, скорее всего, начнут сначала получать предупреждения.
Ссылка на implementation PR для первой фазы: https://github.com/npm/cli/pull/9360
Ссылка на RFC с описанием всех связанных изменений и трёхфазного плана rollout’а:
https://github.com/npm/rfcs/pull/868
Сейчас смержена только Phase 1 для npm v11.16, А вот настоящее блокирование по умолчанию планируется уже в npm v12 (Phase 2), и PR для этого ещё только готовится.
@WebDev_PlusСегодня узнал, что zsh умеет вызывать функцию для несуществующих команд. Поэтому если добавить это в
.zshrc, можно буквально писать prompt’ы прямо в терминал:
command_not_found_handler() {
codex "$*"
return $?
}
Теперь любая неизвестная команда будет автоматически отправляться в Codex.
Это не очень хорошая идея.
@WebDev_Plus