Как стать автором
Обновить
19.99

Node.JS *

Среда для запуска JavaScript-приложений

Сначала показывать
Порог рейтинга
Уровень сложности

Я знаю, что ты думал в прошлый дейлик

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров1.9K

На входе — обычный push. На выходе — коммит, улучшенный с помощью LLM, сохранённый в векторной базе, доступный для поиска и семантического анализа. Пишем простой MCP-сервер для трекинга изменений ваших проектов.

Читать далее

Новости

SSG своими руками

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров3.2K

Привет, Хабр!

Сегодня я хочу поделиться с вами руководством, как реализовать Static Site Generation (SSG) в React без использования сторонних фреймворков, таких как Next.js, TanStack Start, React Router и им подобных. Сразу оговорюсь: я не считаю их чем-то «плохим» и не агитирую против их применения. Всё гораздо проще: иногда по тем или иным причинам нет возможности использовать эти инструменты, или самостоятельная реализация оказывается предпочтительнее из-за количества изменений в кодовой базе.

Если вам интересна тема стратегий рендеринга веб-приложений, то прошу под кат.

Читать далее

Профилирование Node.js приложения с помощью Pyroscope (без автоинструментирования)

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.1K

Pyroscope — это мощный инструмент непрерывного профилирования, созданный для мониторинга производительности приложений в реальном времени. В этой статье мы рассмотрим, как быстро развернуть Pyroscope, подключить к нему Node.js приложение и проанализировать поведение кода без использования Grafana Alloy.

Читать далее

Как мобильное приложение для ВодоходЪ вырастило средний чек на 15%

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров830

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

Читать далее

Агрегатор Telegram барахолок с нуля. Технический разбор бэкенда и проблем

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров1.6K

Привет, Хабр!

Начиная думать о следующем пет-проекте, мне хотелось решить какую-нибудь проблему, которая болит не только мне, но и людям вокруг. Взгляд пал на барахолки в телеграм чатах Грузии = потребность в поиске нужных вещей там без постоянного мониторинга десятка групп. Казалось бы, не так и сложно, но на деле я столкнулся с весьма интересными подводными камнями, о решении которых и хотелось бы тут рассказать.

Статья — технический разбор моей попытки построить сеть каналов‑барахолок в Telegram, которая включала бы в себя все объявления уже существующих и устранила фактор хаоса (спам, коммерция, мусорные сообщения). А так же поверх — бота с подпиской на объявления по ключевыем словам.

Читать далее

Пишем тесты в транзакциях вместе с MySQL

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.1K

Хочу поведать о своей библиотеке для написания тестов в транзакция при работе с MySQL.

Я люблю писать тесты для своего кода, но при этом не люблю писать моки и всю необходимую для них обвязку. Особенно это касается базы данных ибо как правило замокать вызовы внешних сервисов и очереди сообщений, еще не так сложно, а вот с БД все гораздо сложнее, ведь взаимодействие с ней обычно довольно «богатое». И это ведет к тому, что приходится писать много хрупких и утомительных моков, и при этом сами запросы к БД не покрываются тестами (а там зачастую могут таиться ошибки связанные с некорректными запросами или ошибками миграции схемы).

Читать далее

ReCAPTCHA Enterprise: подробный разбор способы распознавания и варианты обхода, какие решатели капчи существуют

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров2.3K

Современные сервисы (вебсайты) повсеместно ставят для защиты капчу, усложняя жизнь разработчикам, SEO-специалистам и автоматизаторам (хотя изначально цель не в том, чтобы насолить автоматизаторам, а в том, чтобы минимизировать чрезмерную нагрузку на ресурс от таких вот ребят). Среди большого количества капч особняком стоит Google reCAPTCHA Enterprise – это одна из самых продвинутых систем защиты от ботов в этой линейке.

Читать далее

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть 2. Запускаем CI

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.8K

Список необходимых инструментов.

В прошлый раз мы остановились на том, что получили в свое распоряжение сервер – операционную систему внутри контейнера, которая автоматически стартует, в ответ на указанные действия в репозитории. В нашем случае – пока что на событие пуш.

И на этом сервере, мы можем выполнять любой набор команд для автоматизации.🫡

Но самый важный момент на этом этапе – какие настройки должны быть на этом сервере? Какие программы, пакеты или библиотеки, должны быть установлены? В конце концов, какую операционную систему использовать? ⚠️

Мы уже определили набор команд, которые хотим запускать. Давайте разберемся, что нам нужно для их успешного выполнения? Это будет вторым важным и сложным на первых порах моментом, который следует разобрать.

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

eslint . –fix

npm run build

Если попробовать перечислить, то получится следующий список

Читать далее

Как обрабатывать сделки Bitrix24 с помощью Flask и Node.js

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.1K

Привет, Хабр!

Сегодня мы будем строить сервис для автоматической обработки сделок в Bitrix24, используя Flask и Node.js.

Читать далее

Лучшие статьи Хабра в марте 2025 года

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров2.9K

Снова приветствую вас на ежемесячном дайджесте! Цель - разобраться, чем жил Хабр в марте 2025: какие темы вызвали жаркие споры, а какие прошли незамеченными.

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

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

Читать далее

CI/CD для чайников — разберитесь, и начните наконец-то автоматизировать рутину в разработке. Часть1. Введение

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров24K

Всем привет. Наверняка каждый, кто так или иначе связан с IT сферой, слышал модную аббревиатуру CI/CD. Везде мы слышим про необходимость ее использования, преимущества автоматизации процессов и т.д.

В вакансиях все чаще требуется опыт работы с одним из инструментов в этой инфраструктуре – Jenkins, Travis, AWS, Gitlab CI/CD.

⚠️Я предлагаю вам посмотреть на этот процесс, глазами простого разработчика. Чем ему может помочь автоматизация. Что в конечно итоге скрывается под этой аббревиатурой, и как уже начать получать дивиденды в своей ежедневной рабочей практике.

Первые шаги

Мы рассмотрим внедрение инструментов автоматизации в приложение, построенное на базе React. В целом разберем именно основные подходы и моменты, на которые стоит обратить внимание в самом начале.

В целом, это будет актуально для любого стека.
Чаще всего я использую для хранения кодовой базы и групповой работе над проектами Gitlab. Очень кстати, что эта площадка предоставляет инструментарий CI/CD.

Я пытался пару лет подступиться к этому вопросу. Стильно, модно, молодежно. Да, дает кучу преимуществ. Но все попытки переварить официальную документацию, заканчивались неудачей. А видео уроки или материалы в общем доступе – чаще всего давали рецепт автоматизации какого-то конкретного кейса, который либо частично, либо полностью отличался от моего приложения.

Мне не хватало именно взгляда на основные шаги – что, зачем и как мы делаем. А уже потом реализации практических задач.

CI – continuous integration

Что же скрывается за термином "непрерывной интеграция". Когда мы работаем над созданием программного продукта – в одиночку, или в рамках команды, мы стараемся добавить в наш проект, несколько строк кода. Новый функционал, исправление или доработки. Суть не особо важна. В конечно счете – либо появляется новый код, либо появляются изменения в старом. И нам нужно убедиться, что эти новые изменения, не содержат ошибок, которые могут вызвать проблемы или неработоспособность приложения. ⛔️

Читать далее

Календарь тренировок — когда пет-проект чуть больше to-do листа

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.8K

В декабре 2023 я впервые задумался о похудении. Тогда при росте 194 см я весил 116 кг. Раньше я только играл в мини-футбол, вообще не следил за едой и даже не заглядывал в спортзал.

Начал нормально питаться, поменял привычки, добавил силовые тренировки, к сентябрю 2024 скинул около 30 кг. Это был рекорд по минимальному весу.

Сейчас, через полгода, вешу 89 кг. Оказалось, что нарастить мышцы намного труднее, чем избавиться от жира. Надеюсь, что эти +3 кг в основном мышцы. Почему так: теперь могу подтянуться 11 раз вместо 9, и на фото видны изменения — делаю такие сравнения каждые пару месяцев.

Читать далее

Как 9.3 уязвимость ждала открытия 3 года

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5.3K

В крупнейшем JavaScript фреймворке, Next.js, была найдена критическая уязвимость 9.3/10, на исправление которой Vercel потребовалось 13 дней.

Читать далее

Ближайшие события

Разбираем Pino: как работает самый быстрый логер для Node.js

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров4.5K

Pino — один из самых быстрых логгеров для Node.js, но как он устроен внутри? В этой статье мы углубимся в низкоуровневые механизмы: разберём, как работают транспорты, чем отличается multistream от pipeline, и как настроить логирование без потери производительности. Вы узнаете, как использовать child loggers, маскировать данные с redact и избегать типичных проблем. Этот материал для тех, кто хочет понять Pino на фундаментальном уровне и применять его с максимальной эффективностью.

Читать далее

Мышление за пределами кода: почему я написал книгу, которой мне самому не хватало

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров2.5K

Привет, меня зовут Андрей, и я написал книгу.

Нет, не о синтаксисе и не про очередной набор «лучших практик».
А о том, что часто остаётся за кадром — в рефлексии, в мыслях после проектов, в спорах между «пишем быстро» и «делаем правильно».

Читать далее

16 NPM-пакетов, о которых должен знать каждый Node.js-разработчик

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров8.8K

В этой статье мы рассмотрим 16 обязательных для любого Node.js‑разработчика NPM‑пакетов. Мы подробно расскажем о них, включая их ключевые особенности, как их установить и как именно вы можете использовать их в своих проектах для улучшения ваших рабочих процессов.

Читать далее

Топ парсеров и API-сервисов сбора данных: сравнение скорости, масштабируемости и обхода защит — парсеры на максималках

Уровень сложностиПростой
Время на прочтение23 мин
Количество просмотров11K

Автоматический сбор данных (парсинг, или web scraping) стал неотъемлемой практикой для разработчиков, аналитиков и автоматизаторов. С его помощью получают массовую информацию с сайтов – от цен конкурентов и отзывов до контента соцсетей​. Для этого разработано множество “парсеров” – библиотек, фреймворков и облачных сервисов, которые позволяют извлекать веб-данные программно. Одни решения требуются для быстрого парсинга статичных страниц, другие – для обхода сложной JavaScript-навигации, третьи – для получения данных через API. 

В этой статье я рассмотрю топ инструментов для парсинга – как открытых (Open Source) библиотек, так и коммерческих SaaS/API-сервисов – и сравню их по ключевым метрикам.

Читать далее

От идеи до деплоя: как поднять приложение на Cloudflare Workers

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.2K

В предыдущей статье мы обсудили плюсы и минусы использования воркеров для cloud-native разработки. Сегодня же мы настроим и задеплоим полноценное приложение с фронтом, бэком, базой данных, горизонтальным мастшабированием, http/3, капчей и бесплатным поддоменом менее, чем за час.

Итоговый результат можно увидеть тут (только через VPN).

Читать далее

DOM-Scope: создание искусственных областей видимости и управление идентификаторами элементов

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров470

В процессе работы с HTML-документами часто возникает необходимость получить доступ к конкретным элементам DOM. Обычно это делается с помощью уникальных идентификаторов, которые присваиваются нужным элементам. Однако существует вероятность, что в большом документе может оказаться несколько элементов с одинаковыми идентификаторами, что может привести к путанице.

Чтобы избежать этой проблемы, я разработал библиотеку dom-scope, которая позволяет создавать искусственные области видимости (скоупы) внутри DOM. Я хочу поделиться своим решением с сообществом Хабра.

Читать далее

Дзен и публикация картинок

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров991

Привет, Хабр! Сегодня я хотел бы поговорить с тобой о проблеме публикации картинок. Зачем вообще об этом говорить? Ежедневно миллионы людей публикуют миллионы, или даже, миллиарды изображений, что тут можно обсуждать? Наверняка, для веб-разработчика, тем более, опытного - это вообще никакая не проблема.

Эх, как бы не так.
1
23 ...