Обновить
128K+

Node.JS *

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

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

12 слов вместо номера телефона: как мы сделали мессенджер невидимым для файрволов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели4.3K

BIP39 вместо номера телефона, ECDH P-256 + AES-256-GCM, non-extractable CryptoKey, трафик неотличимый от HTTPS. Как это устроено, что сломалось в процессе и почему некоторые решения были болезненными.

Читать далее

Новости

Node.js → Rust: 5-10x ускорение без знания Rust

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.8K

На своём MacBook M4 я не замечал проблем. Два скрипта на Node.js 18 собирали информацию по проекту, обходили файлы, считали строки, агрегировали данные и отрабатывали за пару секунд. Жить можно.

А потом на созвоне коллега расшарил экран. У него удалённый рабочий стол, Intel Core i5-1035G1, 8 ГБ RAM. Он запустил тот же скрипт, и мы оба смотрели на терминал восемь секунд. В тишине.

Читать далее

project-graph-mcp: навигация по проекту для ИИ-агента

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

Мы написали project-graph-mcp - MCP-сервер для структурного анализа кода. Агент работает зная полную архитектуру проекта, не тратя на это лишние токены. Сервер строит граф зависимостей и отдает минифицированный JSON.

Читать далее

OpenClaw на русском — как я перевёл интерфейс, не трогая исходники

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

Хотите OpenClaw на русском? Официальной локализации нет и не планируется. Я написал перевод OpenClaw на русский через reverse proxy — прослойка инжектит JS-оверлей в HTML, переводит интерфейс через MutationObserver и не трогает ни строчки в исходниках. Обновления OpenClaw не ломают перевод. Рассказываю архитектуру, код и грабли.

Подробнее

Max.ru Bot API: Пишем своего бота для обратной связи. Часть 1. MVP

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.5K

Привет, Хабр! С выходом платформы MAX у разработчиков появилось новое игровое поле. Пока комьюнити спорит о шансах на победу в гонке мессенджеров, маркетологи уже начали переливать туда трафик.

Самая типовая задача для бизнеса сейчас — бот обратной связи. В Telegram эту нишу давно занял Olgram, а вот в Max — чистый лист. Давайте вместе напишем свой аналог. Это отличный кейс, чтобы разобраться с новым API, не углубляясь в лишнюю инфраструктуру.

Стек: Почему все оказалось проще, чем кажется

Для MVP (Minimum Viable Product) мы будем использовать Node.js и официальную библиотеку @maxhub/max-bot-api.

Читать далее

Проектирование бесплатного API с пользовательскими данными: почему я отказался от jsonplaceholder

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели5.8K

Я периодически провожу технические интервью и смотрю pet-проекты кандидатов.

И почти всегда вижу одну и ту же картину:

Используется localStorage или заглушки вроде jsonplaceholder.

Я прекрасно понимаю, почему так происходит:

Читать далее

Бекэнд на fastify для няшных котят (aura8)

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

Мы разработали приложение, где пользователь может свайпать картинки, и с учетом лайков пользователя мы генерируем новые картинки. Ниже рассказ, с чем интересным мы столкнулись во время разработки этого приложения.

Читать далее

ONYX: self-hosted мессенджер с LAN-режимом — история одного инди-проекта

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.6K

Когда смотришь на существующие self-hosted мессенджеры, часто видишь одно из двух: либо сложную инфраструктуру, которую непросто развернуть (Matrix/Synapse), либо минимализм без шифрования. ONYX — это попытка найти середину: простой в развёртывании сервер, полноценное E2E-шифрование и режим работы в локальной сети без интернета вообще.

Читать далее

Как скачать Интернет?

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

Шутка в тему по памяти не помню откуда:

- Слушай, а можно как-нибудь дома накачать интернет, а потом по дороге его использовать?

Да, заголовок желтушный. Но какие времена, такие и потребности.

Если отвечать на вопрос в общем виде, то для людей технически подкованных ответ очевиден. Никак, на то это глобальная сеть.

Но есть та часть ресурсов в Интернет, которые можно предварительно скачать и использовать также как и оригинал.

Читать далее

Пайплайны, bounce-back и cron для ИИ-агентов на одной подписке Google AI

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

Важный момент: agent-pool - это MCP-сервер, который работает и в IDE, и внутри самого Gemini CLI. Воркер может сам делегировать задачи дальше - создавать подгруппы и запускать своих воркеров. На этом строится вся фрактальная оркестрация.

Читать далее

AbortController в Node.js: отмена чего угодно

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

Пока асинхронный код в Node.js работает штатно, про отмену операций обычно не вспоминают. Но как только запрос зависает, клиент разрывает соединение, а фоновая задача продолжает тратить ресурсы, выясняется, что без внятного механизма остановки всё это быстро превращается в источник лишней нагрузки и трудноуловимых ошибок. В этой статье разбираем, как AbortController решает эту проблему в Node.js, где он уже реально применим и как встроить поддержку отмены в собственный код без лишней магии.

Читать далее

Как я превратил Android-смартфоны в распределенную сеть мониторинга (и спас свои нервы)

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

Меня зовут Виталий, я из команды ArcaneGaming.
Сегодня я хочу рассказать вам о своем пет-проекте, который немного вышел из-под контроля и превратился в полноценный продукт.
Встречайте - Snuffer!

😫 С чего всё началось?
Знаете это чувство, когда вам пишет клиент (или, что еще хуже, мама):

Читать далее

Веб-графика, которая вредит: что разработчики делают не так

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели10K

Обратимся к статистике: по данным с https://httparchive.org/ за последние 6 лет средний размер веб-страницы значительно увеличился. Если в декабре 2019 года средний вес десктопной веб-страницы составлял 1,9 МБ, то сейчас он уже 2,9 МБ для десктопа и 2,6 МБ для мобильных устройств. Это рост на 50% за 6 лет, причём изображения составляют до 40% общего веса страницы.

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

Просматривая недавно пул-реквест, я заметил, что туда добавили новые изображения. Меня удивил выбор формата: для картинок без прозрачности использовали PNG. Это кажется избыточным, так как для многоцветных изображений лучше подходят форматы вроде JPEG, которые весят меньше.

Я решил провести эксперимент: оптимизировал и переконвертировал изображения в JPEG, WebP и AVIF, сохранив качество на глаз неотличимым от оригинала.

Читать далее

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

Как я избавился от 502 при деплое Next.js: PM2 reload, подводные камни и сравнение с Kubernetes

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели7.1K

Каждый пуш в main — и ты зажмуриваешься на 2 минуты: 502 или пронесло? Знакомо? Сотни разработчиков сталкиваются с этим при деплое Next.js на VPS. Решение — буквально замена одной команды и удаление одной строки. В статье: конкретный рецепт zero-downtime с PM2 cluster mode, две главные ловушки (restart vs reload и rm -rf .next), расчёт сэкономленных денег, и честное сравнение с Kubernetes.

К рецепту без 502

Три года в одиночку: как я строил бэкенд-фреймворк поверх Next.js и что из этого вышло

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели7.1K

Почти три года я в одиночку строил бэкенд-фреймворк поверх Next.js App Router. По дороге мой ишью закрыл создатель C#, синтаксис подсказал Copilot, а три пакета-адаптера пришлось убить. Рассказываю, что вышло и какие грабли собрал.

Читать далее

Безошибочная работа с Kafka из Node js. Часть 1 Продьюсер

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели4.4K

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

Предполагается, что читатель имеет базовое представление о Kafka (раздел "Общие термины" поможет освежить информацию) и функционале библиотеки KafkaJS.

В первой части разбираются аспекты, связанные с публикацией сообщений.

Читать далее

Разработка через капсулы. Капсульный фреймворк: как мы упаковали архитектуру в ДНК проектов

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели4.5K

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

В этой части перейдём от теории к практике. Я покажу, как мы создавали собственный капсульный фреймворк для микросервисов, что закладывали в его основу и как он стал ДНК наших проектов.

Читать далее

Как выжать максимум из подписки Google AI: параллельные агенты и кросс-модельный консенсус

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели7.5K

Всем привет! У многих из нас куплена максимальная подписка на Google AI Ultra - правда же? Да, она стоит не копейки - по акции первые 3 месяца обходятся в $124.99/мес, а потом ценник подрастает. Но мы заставим ее отработать каждый цент.

Читать далее

Запускаем MarkText на FreeBSD

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

Очередная история из тяжкой жизни пользователей BSD или что делать, когда нужная программа ненавидит вашу операционную систему.

В помощь начинающему, продолжающему и заканчивающему автору.

Читать далее

10 причин попробовать Effect TS/Основы Effect TS

Уровень сложностиСредний
Время на прочтение23 мин
Охват и читатели6.2K

Effect-фреймворк, который никого не может оставить равнодушным. Читая комментарии к другим постам, я заметил, что добрая часть хабра считает, что эффект это избыточно сложная и не особо нужная технология. В своей статье я обозначаю 10 причин, почему эту технологию стоит попробовать, даже если вы дико предвзятый разработчик, а также даю экскурс по базам фреймворка.

Читать далее
1
23 ...