Обновить
23.64

Node.JS *

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

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

Создание пустого проекта с помощью NestJS-mod

Время на прочтение12 мин
Количество просмотров1.1K

После многих лет написания различных проектов на NestJS и Angular, я решил переписать группу проектов из репозитория https://github.com/rucken и использовать текущий стиль кодирования, он не сильно поменялся, просто стало меньше однотипного кода.

Разработку основного fullstack-бойлерплейта для фронтенд и бэкэнд без бизнес функционала буду вести в отдельной организации "NestJS-mod" (https://github.com/nestjs-mod).

Читать далее

Настраиваем аутентификацию по SMS и через мессенджеры для самых мобильных пользователей

Время на прочтение7 мин
Количество просмотров6.1K

Привет, Хабр! Меня зовут Екатерина Саяпина, я Product Owner личного кабинета платформы МТС Exolve. В разных проектах я вижу одну и ту же ошибку: разработчики пытаются внедрить как можно больше разных методов аутентификации. В результате падает безопасность, пользователям сложнее ориентироваться, а разработчикам — управлять и поддерживать продукт.

В этой статье я объясню отличие аутентификации от авторизации, идентификации от верификации и опишу два простых варианта ее реализации с использованием node.js: по SMS и через Telegram.

Читать далее

AstroJS проекты в monorepo с помощью npm workspaces

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

image


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


В этом случае полезно иметь монорепу, и я это сделаю без внешних зависимостей только с помощью npm workspaces.

Читать дальше →

Почему новый процесс в Node порождается так медленно?

Время на прочтение10 мин
Количество просмотров2.3K

Мы в Val Town выполняем ваш код в процессах Deno. Недавно мы заметили, что под нагрузкой отдельно взятый Node-сервер Val Town не может породить более 40 процессов. На протяжении 30% процессорного времени главный поток остаётся заблокирован вызовами к spawn. Почему так медленно? Можно ли как-нибудь ускорить эту работу?

Читать далее

Процесс, который продолжал умирать

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

В этой статье я изложил суть своего выступления, которое состоялось в рамках проводимой нашей компанией образовательной программы «Lunch n' Learn».

Если вас просто интересует, как искать утечки памяти в Node, переходите сразу к Части 2 (но тогда вы упустите всю невероятную предысторию).

Это рассказ об умершем процессе и о наших злоключениях в попытке найти его убийцу с целью призвать негодяя к правосудию. Если говорить точнее, то этот процесс продолжал умирать циклически, но такая картина нарушает проводимую мной аналогию, поэтому попрошу вас не придавать этому большого значения. Наша история начинается с периодического возникновения ошибки 502 Bad Gateway — загадки, которую предстояло разрешить.
Читать дальше →

Текстовые квесты… на Telegram

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров6.9K
Давным-давно, около полугода назад, мне в голову пришла интересная идея: а не запустить ли текстовые квесты из "Космических рейнджеров" под управлением Telegram-бота? Скажу сразу, что как и всё с упоминанием "Dagaz" в заголовке, проект полностью бесплатный, с открытыми исходными кодами и MIT-лицензией. Если вы неравнодушны к теме, всё ещё помните неповторимую атмосферу легендарной игры или любите играть в текстовые квесты, просто кликните по картинке в начале этой статьи и перейдите в уютный Telegram. В том же случае, если вам как и мне гораздо более интересны технические подробности, добро пожаловать в мою статью…
Читать дальше →

Куча таймеров в node.js

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

А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.

Читать далее

Создание простейшего back-end на Node.js с использованием PostgreSQL

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

Сегодня мы продемонстрируем как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.

Почему именно Node.js и PostgreSQL? Node.js имеет хорошую скорость и асинхронность, а PostgreSQL, в свою очередь, является мощной и надежной СУБД.

Вместе они создают идеальный тандем для создания качественных приложений.

Читать далее

Museum, настольное приложение на javascript для смены обоев

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

Статья о том: как мне пришла в голову идея создать настольное приложение на electron и node.js для отображения картин известных художников как обои рабочего стола; с какими трудностями столкнулся; как решал процесс сборки приложения на node.js для конечного пользователя.

Читать далее

Проект «Solar Future» или передача данных с Arduino на веб-интерфейс через GSM-сеть

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

Опыт создания приложения c использованием JS для мониторинга солнечной панели и управления электрической нагрузкой.

Читать далее

Payload и опыт взаимодействия с ним

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

Привет! Меня зовут Сергей, я ведущий разработчик в Lad. В этой статье речь пойдет об опыте работы с Payload.

В нашей компании мы использовали Payload для создания быстрых прототипов и MVP-проектов. Payload мы выбрали как весьма гибкий и интересный инструмент,  предоставляющий большой функционал из коробки, админ-панель и базовую работу с пользователями.

Читать далее

Video-streaming в Raspberry PI + WebRTC — победа?

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

Я занимаюсь разработкой роботов (как хобби) уже долгое время, и столкнулся с проблемой передачи видео через интернет со своего Raspberry PI 4 и Raspberry PI zero.

Сначала идея была в реализации WebRTC на node js, про что я написал в этой статье. Как было написано, проблема заключалась в высокой загрузке процессора.

Читать далее

HTTP <AntexGate> Modbus конвертор Linux

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

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

Итак статья для тех, кто столкнулся с задачей преобразовать Modbus RTU TCP в протокол HTTP, который уже можно вытянуть на любую красочную web морду либо другой сервис.

Читать далее

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

Как сделать приложение на NestJS, которое можно будет поддерживать спустя годы

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

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

Читать далее

Управление зависимостями в Javascript заходит на новый виток? Работа с ES модулями без сборщиков

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

Изначально эта статья задумывалась, как рассказ о различиях и назначении полей dependencies, devDependencies и peerDependencies в package.json. Эту тему выбрали ребята в моем телеграм-канале, кстати подписывайтесь, если еще не. Однако, когда я посмотрел количество контента на эту тему, то понял, что его достаточно даже в русском сегменте. При этом я прочитал одну статью, которая показалась мне очень хорошей, а также там были мысли на тему будущего управления зависимостями.

В итоге, я решил кратко пересказать вышеупомянутую статью, чтобы лучше самому усвоить тему, а также набросать проект по управлению зависимостями прямо на клиенте, через ES Modules. Так что вы можете прочитать либо оригинальную и полную статью у автора, либо сокращенную версию в первой половине этой статьи. А разбор работы ESM будет во второй половине.

Читать далее

Новый микрофронтенд за 20 минут вместо часа: как работает система автоматической сборки

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

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

Чтобы ускорить сборку, разработали систему из шаблона и CLI утилиты. Теперь новый микрофронтенд со всей обвязкой создается за 20 минут. В статье — подробное решение для тех, кто захочет повторить.

Читать далее

Как я развиваю свое приложение для хранения прочитанных книг?

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

Всем привет! Полгода назад я выпустил свое приложение для хранения прочитанных книг BookDesk: Читательский дневник. В этом материале хочу поделиться с вами своими мыслями, статистикой и, в целом, как обстоят дела с приложением.

Читать далее

Квест на Node.js — борьба с утечкой памяти. От диагностики до решения

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

Всем привет! Меня зовут Артём и я backend-разработчик компании SimbirSoft. На протяжении восьми лет я работаю на Node.js. Сегодня хочу поделиться опытом поиска утечек памяти при gRPC-вызовах в Node.js + Nest.js. В частности, речь пойдет об отладке утечки памяти при взаимодействии между микросервисами. Статья будет полезна backend-разработчикам, которые работают с Node.js и gRPC.

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

Одной из задач, которую ставил перед нами клиент,  был поиск и устранение утечки памяти при работе микросервисов. Задача была открыта уже давно, но не было четкого понимания, как ее решать. Судя по описанию, было несколько API, при вызове которых отделы DevOps и QA наблюдали сильный рост памяти при мониторинге системы и тестировании соответственно. В дополнении к REST API присутствовали gRPC-методы.

Читать далее

Бекпорт на примере Node.js v22 и Windows 7

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

Что делать если надо запустить современный софт в устаревшем окружении? Рассказываем о процессе «портирования назад» последней версии Node.js на Windows7.

Погрузиться

Деплоим Next.js приложение через PM2

Время на прочтение3 мин
Количество просмотров6.6K

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

Читать далее

Вклад авторов