Web Stack
4.11K subscribers
834 photos
5 videos
1.8K links
Дайджест web разработчика: статьи, туториалы, практики и полезные инструменты.

Админ: @jem_jem
Реклама: http://bit.ly/2wZeIPj

👉 Дайджест мобильной разработки @mobile_dvlp
Download Telegram
Куда исчезло 400 MiB в Node.js контейнере

Кейс, в котором после перезапуска подов память у одного экземпляра Node.js резко прыгала дискретными шагами и больше не возвращалась. Анализ через /proc и V8 inspector показал, что рост сидит в private dirty anonymous памяти процесса и требует смотреть не только на heap, но и на реальную картину аллокаций в момент нагрузки.

https://frn.sh/pmem/
👍2🤯1🙏1
Скрытая цена копипаста кода в ChatGPT

ИИ ускоряет разработку только на бумаге: исследование METR показало, что опытные разработчики на сложных задачах становятся на 19% медленнее, потому что теряют контекст и тратят время на отладку и уточнения. Главная проблема не в качестве генерации, а в workflow с постоянными переключениями и объяснениями того, что IDE и проект уже знают.

https://dev.to/ziva/the-hidden-cost-of-copy-pasting-code-into-chatgpt-dl2
👍6🙏1💯1
Безопасность Node.js март 2026

Обновления для веток 25.x, 24.x, 22.x и 20.x закрывают несколько уязвимостей в TLS, HTTP обработке, permission model, URL парсинге и HMAC валидации, включая сценарии с DoS, крашем процесса и потенциальной утечкой через timing.

https://nodejs.org/en/blog/vulnerability/march-2026-security-releases
👍2💯1
Разработка серверных приложений на Vite через плагин vavite

vavite позволяет использовать Vite как транспайлер и бандлер для серверного кода, упрощая разработку и сборку SSR и не только SSR сценариев. Подключайте плагин в vite.config, создавайте entry.server.ts и получайте быстрый dev с HMR, а в production запускайте сервер отдельно.

https://github.com/cyco130/vavite
👍1
Как с помощью ИИ превращать макеты Figma в production код

ИИ сам по себе не генерирует код в рамках дизайн системы, поэтому сделали MCP, который описывает компоненты, токены и правила доступности в машинном виде, и агентский пайплайн на LangGraph, который пошагово конвертирует Figma в готовые компоненты без ручной правки.

https://engineering.monday.com/how-we-use-ai-to-turn-figma-designs-into-production-code/
❤1🔥1💩1
Бесплатный онлайн анализатор логов в браузере

Открывайте лог файлы до 10GB+ прямо в браузере без загрузки, с приватностью и быстрым поиском. Есть форматирование в JSON и агрегация ошибок для удобной диагностики.

https://www.logvoyager.cc/
❤2👍1🔥1💯1
Визуализатор event loop для JavaScript

Интерактивная визуализация микрозадач, макрозадач и порядка выполнения в браузере, которая позволяет быстрее понять асинхронность. Отлично подходит для отладки и обучения, когда нужно увидеть реальную очередность без догадок.

https://event-loop-visualizer-ruby.vercel.app/
❤3👍2
Reatom: ультимативный менеджер состояния и логики для виджетов и SPA

Reatom дает реактивное управление состоянием без прокси, с атомами и computed, а также мощными эффектами для async с отменой, ретраями и кэшированием. Подходит для небольших виджетов и больших приложений, поддерживает расширения и TypeScript, а ядро весит около 2 KB gzipped.

https://github.com/reatom/reatom
🔥5👍2❤1
Wakaru: разбор минифицированных JavaScript бандлов на модули

Wakaru помогает восстановить структуру production-кода: распаковывает бандлы, возвращает имена и импорты с поддержкой source map, а также пытается восстановить транспиляцию/минфикацию.

https://github.com/pionxzh/wakaru
🔥4👍3❤1
Релиз pnpm 11.1: подписи audit, gh-префикс и новые флаги для CI

Добавлены audit signatures для проверки ECDSA-подписей registry, а также поддержка установки пакетов из GitHub Packages через встроенный gh: префикс и алиасы named registries в pnpm-workspace.yaml.

https://github.com/pnpm/pnpm/releases/tag/v11.1.0
1❤5🔥1
Blue: компиляция JavaScript в нативные бинарники

Blue компилирует ваш JS в C++ и собирает самостоятельный нативный исполняемый файл: нативные окна, файловая система и HTTP-серверы без Electron и без Node.js во время выполнения.

https://bluejs.dev/
👍3😁3🤯3❤1
Почему состояние ломает архитектуру приложений

Состояние в приложении это данные, которые влияют на его поведение: авторизация пользователя, текст в редакторе, выполненные задачи воркера, записи в базе. Сложность не в том, что состояние нужно хранить, а в том, что его трудно держать корректным, когда запросы идут параллельно, серверов становится больше, часть машин падает, а код постоянно меняется. Совет делать приложение stateless обычно означает не отказ от состояния, а вынос важного состояния туда, где его проще сохранять и восстанавливать. Для веб-разработчика это напоминание, что нужно заранее понимать, где живут данные, кто ими владеет и что произойдет, если они станут недоступны.

https://blog.bytebytego.com/p/why-state-is-the-hardest-thing-in
👍3🤔2
Как собрать AI-конструктор приложений на Next.js

Разбирается архитектура AI app builder’а, который по текстовому описанию собирает приложение в изолированном sandbox, показывает live preview, ведёт версии через Git и публикует результат без запуска агента на основном сервере.

https://www.freecodecamp.org/news/build-your-own-ai-app-builder-with-next-js-aws-and-sandboxes/
❤4
Генератор shadcn-графиков для Next.js

Инструмент позволяет быстро собрать график для Next.js и shadcn/ui без ручной возни с Recharts. Он генерирует готовый TSX-компонент с темой, tooltip, legend и адаптацией под светлую и тёмную тему, а данные можно либо зашить в компонент, либо передавать с сервера как prop.

https://www.freecodecamp.org/news/how-to-add-shadcn-ui-charts-to-nextjs/
👍2🔥2🎉2
Перестраиваем e-commerce на Next.js и Symfony

Разбор того, как живую e-commerce-платформу перенесли с legacy-архитектуры на связку Next.js и Symfony без остановки бизнеса. Переход понадобился из-за роста каталога, интеграций, требований к SEO и производительности, а также из-за того, что старое приложение стало слишком тесно связывать все процессы в одном месте.

https://habr.com/ru/articles/1089854/
🤯4👍2
Как Express проводит запрос через middleware

Express пропускает запросы через цепочку middleware, и это помогает выносить общие вещи вроде логина, парсинга JSON и проверки прав из роутов в отдельные функции. Если middleware не вызывает next(), запрос останавливается на нём; если вызывает, Express идёт дальше по цепочке.

https://dev.to/aryangupta9680/how-express-middleware-works-g1l
👍4❤3🔥1
TanStack Charts: типизированная библиотека для графиков на SVG и Canvas

TanStack Charts — это типизированная библиотека для построения графиков на SVG и Canvas, которая помогает собирать диаграммы из mark, scales, transforms и interactions без лишнего веса в бандле.

В React-версии базовый line chart занимает 32,1 kB gzip, а Canvas можно подключать точечно для тяжёлых сцен, сохраняя оси, tooltip, фокус и responsive-логику на одной схеме данных.

https://tanstack.com/charts/latest
👍3❤2
Почему LLM хуже замечают информацию в середине промпта

LLM могут иметь слепую зону для информации, которая находится в середине длинного промпта, даже если она явно есть во входных данных. На практике это значит, что при длинных документах, истории чата или результатах из tool calls модель чаще цепляется за начало и конец, а важная деталь в середине может быть проигнорирована.

https://blog.bytebytego.com/p/the-llm-blindspot-why-models-forget
👍4🤔2
REST API для задач на Node.js и Express

Разбор того, как собрать backend для менеджера задач на Node.js и Express: регистрация и логин, JWT-авторизация, CRUD для задач, валидация входных данных и проверка эндпоинтов через Postman или Thunder Client.

https://dev.to/saiprasanna/building-a-task-management-rest-api-with-nodejs-and-expressjs-61a
❤2👍2
Границы в софте: навык, который сильнее влияет на архитектуру, чем кажется

Граница в системе отделяет внутреннюю логику приложения от всего внешнего и удерживает вместе правила, ответственность и детали их применения. Через неё части системы общаются только по понятному пути, поэтому именно выбор границ определяет, что должно жить вместе, а что лучше разнести.

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

https://blog.bytebytego.com/p/how-software-boundaries-are-the-most
❤3👍2