Category : javascript

javascript
Чем заменить Lodash. Реальные примеры

Всем, привет. Меня зовут Виталий Киреев и я руковожу исследованиями и разработкой в IT-компании. Компания существует уже много лет и в разработке накопилось довольно много Legacy-кода. Мы регулярно проводим аудит на предмет использования устаревших библиотек и меняем их, если в этом есть необходимость. В этой статье я расскажу о практических кейсах, с которыми мы столкнулись при замене широко известной библиотеки Lodash для Javascript. Зачем менять Lodash?Сразу оговорюсь, что на Хабре есть оче…

  • среда, 6 августа 2025 г. в 00:00:05
javascript
Паттерны современного Node.js (2025)

Node.js претерпел впечатляющее преобразование с момента своего появления. Если вы пишете на Node.js уже несколько лет, то, вероятно, сами наблюдали эту эволюцию - от эпохи колбэков и повсеместного использования CommonJS до современного, чистого и стандартизированного подхода к разработке.Изменения затронули не только внешний вид - это фундаментальный сдвиг в самом подходе к серверной разработке на JavaScript. Современный Node.js опирается на веб-стандарты, снижает зависимость от внешних библиот…

  • вторник, 5 августа 2025 г. в 00:00:06
javascript
Пока, dual packaging: в каком формате публиковать npm-библиотеки

Уже 10 лет в JS-экосистеме воюют два формата модулей: CommonJS и ES Modules. Чтобы и получить плюшки ESM, и не распугать пользователей, npm-пакеты часто используют dual packaging: собирают код в оба формата. Это решает одну проблему, но создает несколько новых:Мы собираем наш код 2 раза (а хотелось бы вообще не собирать).Настроить двойную сборку не супер сложно, но все таки сложнее, чем вообще не настраивать.Мы публикуем в 2 раза больше кода (и потом жалуемся на жирые node_modules)dual package …

  • вторник, 5 августа 2025 г. в 00:00:05
javascript
Что такое инкрементальная гидратация в Angular

Если вы когда-либо запускали SSR в Angular, вы наверняка сталкивались с этим парадоксом: страница вроде бы загружается молниеносно, но ощущается медленной. Контент есть, кнопки на месте — а кликаешь по ним, и в ответ тишина. Почему? Потому что браузер всё ещё оживляет интерфейс — запускает JavaScript, подключает обработчики, восстанавливает состояние. Это и есть гидратация, и в классическом исполнении она не так уж и быстра.Angular давно умеет рендерить страницы на сервере, но только с недавних…

  • вторник, 5 августа 2025 г. в 00:00:04
javascript
Интерактивная визуализация спортивных коэффициентов: что удалось, а что нет

Потянул live-данные с mygameodds co, собрал real-time графики на D3.js, столкнулся с диким хаосом в структуре данных, решил через нормализацию, но провалился с адаптивом.ЦельПостроить интерактивный дашборд, визуализирующий изменение спортивных коэффициентов в реальном времени. Аналог систем мониторинга, только вместо метрик — лайв-кэфы с букмекерского API.АрхитектураИсточник данных: mygameodds.coСтек:D3.js (визуализация)WebSocket (стриминг)TypeScript (вся логика)Vite + React (обвязка, рендер)Р…

  • вторник, 5 августа 2025 г. в 00:00:02
javascript
Почему стоит использовать Tagged Unions при разработке на TypeScript

👋 Привет! Меня зовут Александр, я работаю фронтенд-разработчиком в компании «МегаФон». Сегодня я хочу поговорить на тему Tagged Unions (размеченных объединений) и объяснить, почему они — ваш секретный инструмент для написания надежного TypeScript-кода.Улучшение типизации в TypeScriptВ динамично развивающемся мире веб-разработки создание надежного, масштабируемого и легко поддерживаемого программного обеспечения является ключевой задачей. TypeScript, будучи статически типизированным суперсетом J…

  • вторник, 5 августа 2025 г. в 00:00:02
javascript
Альтернативный способ хранения скриншотов в Playwright и способ их обновления

ВступлениеПривет! Меня зовут Вячеслав, я инженер по автоматизации тестирования в компании ROWI.Tech.В ходе автоматизации тестирования пользовательских интерфейсов зачастую используется такой подход как визуальное тестирование. Он позволяет поддерживать стабильность и отсутствие ошибок в отображении страниц.  Одним из инструментов, предоставляющих возможность автоматизации данного вида тестирования, является Playwright. В этой статье я расскажу о работе с визуальным тестированием в рамках упомян…

  • понедельник, 4 августа 2025 г. в 00:00:04
javascript
Изучаем Go: руководство для JavaScript-разработчиков. Часть 1

После пяти лет работы JavaScript-разработчиком, занимаясь как фронтендом, так и бэкендом, я провел последний год, осваивая Go для серверной разработки. За это время мне пришлось переосмыслить многие вещи. Различия в синтаксисе, базовых принципах, подходах к организации кода и, конечно, в средах выполнения — все это довольно сильно влияет не только на производительность приложения, но и на эффективность разработчика.Интерес к Go в JavaScript-сообществе тоже заметно вырос. Особенно после новости …

  • воскресенье, 3 августа 2025 г. в 00:00:03
javascript
Пилим стартап, часть 2.5. Мини-гайд по Claude Code, причесываем UI

Да, я убрал из заголовка "за выходные", потому что проект чутка растянулся. Но идёт весело! У него и веб-версия теперь есть: https://mini.qyp.aiНапомню: я давно хотел пощупать Tauri v2, и новомодные фреймворки для построения AI-агентов (ai-sdk / mastra / llamaindex).Идея простая: десктопное приложение, дешборд на весь экран, справа интерфейс чата. Просим ИИ вывести на дешборд какую-то информацию в духе "сколько новых юзеров за последнюю неделю" - ИИ пишет код виджета, и размещае…

  • суббота, 2 августа 2025 г. в 00:00:08