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

Node.JS *

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

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

Как сделать робота с нуля. С чего начать

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 5.2K
JavaScript *Node.JS *Разработка робототехники *Разработка на Raspberry Pi *Робототехника
Из песочницы

Я разрабатываю роботов и меня часто спрашивают — «как сделать робота», «где ты находишь информацию, какие ресурсы используешь»?

Если вы не знаете с чего начать и хотите сделать собственного робота — эта статья для вас — в ней я постараюсь объяснить процесс, а также расскажу какие должны быть первые шаги.

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Комментарии 11

Новости

Неравный бой — Tinkoff эквайринг. Рекуррентные платежи

Уровень сложности Средний
Время на прочтение 7 мин
Количество просмотров 3.9K
Платежные системы *Node.JS *TypeScript *
Кейс
Из песочницы

Цель данной статьи:

1. Помочь разработчикам в интеграции

2. Привлечь внимание команды Tinkoff на проблемы связанные с эксплуатацией их API

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 13

Ethereum Contract ABI Specification. Взаимодействие с контрактом

Уровень сложности Средний
Время на прочтение 11 мин
Количество просмотров 621
JavaScript *Программирование *Node.JS *Solidity *Криптовалюты
Туториал

В данной статье я хочу познакомить вас с тем, как осуществляется кодирование данных в транзакции в соответствии с Contract ABI Specification. Мы вручную разберём весь процесс кодирования, создадим контракт и произведём вызов его методов. В конце я покажу как при помощи Contract ABI создать объект-оболочку через web3.js, и через него вызывать методы контракта.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

RSC с нуля. Часть 1: серверные компоненты

Уровень сложности Сложный
Время на прочтение 32 мин
Количество просмотров 3.3K
Разработка веб-сайтов *JavaScript *Node.JS *ReactJS *
Туториал
Перевод


В этом техническом "глубоком погружении" (deep dive) мы с нуля реализуем очень простую версию серверных компонентов React.


Данный туториал будет состоять из трех частей (написана пока только эта).


Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, связанным с разработкой веб-приложений.

Читать дальше →
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 5

Истории

Телеграм-боты на NodeJS

Уровень сложности Простой
Время на прочтение 29 мин
Количество просмотров 5K
JavaScript *Node.JS *
Туториал
Recovery mode

Кратко расписал об основных методах для работы с телеграм-ботами на NodeJS: текстовые сообщения, видео, фото и аудио-сообщения, контакты, геолокация, платежная система и проверка подписки на канал.

Читать
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 4

Избавляемся от предупреждений и уязвимостей при установке пакетов с помощью yarn

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 957
Разработка веб-сайтов *JavaScript *Node.JS *Angular *TypeScript *
Туториал

В публикации речь идет о warnings и vulnerabilities при установке библиотек с помощью yarn и о том, как от них избавиться. Я рассмотрел несколько случаев, приведенных ниже, но решения можно применять и к другим, схожим ситуациям:

Warnings типа:

has incorrect peer dependency

has unmet peer dependency

Vulnerabilities:

Prototype pollution in webpack loader-utils

loader-utils is vulnerable to Regular Expression Denial of Service (ReDoS)

Crash in HeaderParser in dicer        

Читать далее
Рейтинг 0
Комментарии 0

Подключаемся к Ethereum Testnet используя только web3.js и консоль

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 1K
JavaScript *Программирование *Node.JS *Криптовалюты
Туториал

В этой статье я покажу как взаимодействовать с публичным тестовым Ethereum блокчейном при помощи только библиотеки web3.js и терминала. Ethereum Testnet это уже приближенный к реальной сети Mainnet блокчейн со множеством нод и независимыми аккаунтами. Мы научимся пополнять баланс тестовыми Ether при помощи Faucet, а так же находить информацию об аккаунтах и транзакциях в обозревателе блокчейна Etherscan. Всю ту же информацию мы получим и при помощи консоли. На всякий случай: в посте будет много картинок.

Читать далее
Всего голосов 1: ↑1 и ↓0 +1
Комментарии 0

Свой NPM репозитарий Verdaccio + GitLab + Docker

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.8K
Разработка веб-сайтов *JavaScript *Node.JS *DevOps *VueJS *
Из песочницы

Требовалось кешировать используемые в разных проектах NPM пакеты (+ хранить свои пакеты) на отдельном сервере.

Было решено делать это с помощью репозитария Verdaccio (по нему есть достаточно хорошая офф. дока), крутится это все должно в Docker, а разворачиваться на отдельном сервере через GitLab CI/CD.

Т.к. реализация данной схемы заняла у меня некоторое время (Хотелось бы и по меньше), решил написать короткий туториал по этой теме, с описание нюансов, которые для меня казались не очевидными.

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 8

Состояние Node.js Performance в 2023 году

Время на прочтение 25 мин
Количество просмотров 3.2K
Блог компании OTUS Node.JS *
Перевод

На дворе 2023 год, и мы выпустили Node.js v20. Это значительное достижение, и цель этой статьи — использовать научную оценку состояния производительности Node.js.

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

Цель этой статьи — предоставить сравнительный анализ различных версий Node.js. Она подчеркивает улучшения и недостатки, а также дает представление о причинах этих изменений, не проводя никаких сравнений с другими рантаймами JavaScript.

Читать далее
Всего голосов 14: ↑13 и ↓1 +12
Комментарии 0

Как сделать автодеплой ui-kit на npm с помощью ci/cd gitlab

Уровень сложности Средний
Время на прочтение 4 мин
Количество просмотров 2K
JavaScript *Программирование *Git *Node.JS *
Из песочницы

Как я сделал удобный автодеплой ui-kit на npm с помощью pipeline's gitlab.

Что удалось сделать?

Автоматическое обновление версии пакета при пуше изменений.

Автоматический деплой новой версии на npm.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 6

Создаём, подписываем и отправляем Ethereum транзакцию при помощи web3.js и Ganache

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 731
JavaScript *Программирование *Node.JS *Криптовалюты
Туториал

В предыдущей статье я рассказал как установить окружение для ознакомления с библиотекой web3.js. Тогда мы использовали ethereum-блокчейн Ganache и библиотеку Truffle. В данной статье я покажу как формировать ethereum-транзакцию используя только библиотеку web3.js и Ganache, без использования библиотеки Truffle. Мы сформируем транзакцию вручную, выполним её подписание и отправим в блокчейн. Посмотрим на тело сериализованной и подписанной транзакции в том виде, в котором она передаётся в ethereum-блокчейн (raw transaction).

Читать далее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 2

Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 3K
Разработка веб-сайтов *JavaScript *Node.JS *TypeScript *
Туториал

Существует множество библиотек для настройки алиасов в Node.js, таких как alias-hq и tsconfig-paths. Однако однажды, изучая документацию Node.js, я обнаружил возможность настройки алиасов без использования сторонних библиотек. Более того, данный подход позволяет использовать алиасы без сборки кода. Знакомо ли вам поле imports в package.json? В этой статье мы рассмотрим, что такое Node.js Subpath Imports, узнаем о тонкостях настройки и разберемся с поддержкой в актуальных инструментах разработки.

Читать далее
Всего голосов 21: ↑21 и ↓0 +21
Комментарии 5

Полное руководство по логированию в Node.js с помощью Pino

Уровень сложности Простой
Время на прочтение 37 мин
Количество просмотров 3K
Node.JS *
Туториал
Из песочницы
Перевод

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

Pino — это мощная платформа ведения логов для Node.js, обладающая молниеносной скоростью и широкими возможностями. Фактически именно скорость Pino и завоевала ему место логгера по-умолчанию в open-source веб-сервере Fastify. Также Pino способен очень просто интегрироваться с другими Node.js-фреймворками, что делает его лучшим выбором для всех разработчиков, ищущих надежное и гибкое решение для ведения логов.

Читать далее
Всего голосов 18: ↑17 и ↓1 +16
Комментарии 1

Кэш в JavaScript: не все Map'ы одинаково полезны

Уровень сложности Простой
Время на прочтение 2 мин
Количество просмотров 4.7K
Блог компании Тензор Высокая производительность *JavaScript *Программирование *Node.JS *
Кейс

При разработке приложений регулярно возникает задача кэширования каких-то данных, которые из хранилища должны читаться много чаще, чем писаться. Давайте рассмотрим на примере простого теста, когда и на каком механизме эффективнее организовать его для JavaScript-приложения - на Map или на Object.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 15

Сравнительный анализ производительности популярных JS-фреймворков — Express.js, Koa.js и Fastify

Время на прочтение 8 мин
Количество просмотров 1.6K
Блог компании OTUS Node.JS *
Перевод

Допустим, у вас есть идея нового проекта, который обязательно завирусится, как только он увидит свет. Однако вы не можете решить, какой же бэкенд-фреймворк вам стоит использовать. Не нужно отчаиваться. В этой статье мы рассмотрим три популярных Node.js фреймворка (Express.js, Koa.js, Fastify) и сравним их производительность, чтобы вы могли решить, какой из них лучше подходит для вашего проекта. Для замеров производительности мы будем использовать серверы с двумя простыми конечными точками. Первая конечная точка будет возвращать пустой ответ. Вторая – вычислит ряд Фибоначчи в зависимости от входных данных, которые мы предоставим, а затем вернет последовательность. Файлы конфигурации, используемые в этой статье, вы можете найти в этом репозитории. Перед бенчмаркингом давайте более подробно изучим наши фреймворки.

Читать далее
Всего голосов 15: ↑9 и ↓6 +3
Комментарии 3

Из лягушек в автоматизаторы — мое решение

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 4.5K
Ненормальное программирование *Open source *JavaScript *Node.JS *
Из песочницы

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

Проект находится в открытом доступе и распространяется по лицензии MIT. К сожалению, он так и не дорос до широкой публики, по причине того, что у меня не остается времени на его разработку.

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

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

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Комментарии 9

Трассировка запросов в Node.js

Время на прочтение 9 мин
Количество просмотров 2.4K
Блог компании OTUS Node.JS *
Перевод

Существует расхожее мнение, что мы, как разработчики программного обеспечения, тратим 90% нашего времени на отладку и только 10% непосредственно на написание кода. Конечно, это соотношение слишком преувеличено! Но это правда, что отладка занимает значительную часть нашего рабочего времени, особенно в эпоху расцвета микросервисных архитектур. На сегодняшний день уже никого не удивишь тем, что на наших производственных серверах одновременно работают сотни или даже тысячи микросервисов.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Документирование API сервисов с помощью Swagger на примере фреймворков Express.js и Gin

Уровень сложности Средний
Время на прочтение 41 мин
Количество просмотров 7.9K
JavaScript *Node.JS *API *Go *

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

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

Основное внимание в статье будет уделено автоматизации процесса создания документации API сервисов, которые разрабатываются с помощью фреймворков Express.js и Gin, используя подходящий для этой задачи инструмент - Swagger.

Читать далее
Всего голосов 5: ↑3 и ↓2 +1
Комментарии 4

Один из способов ускорения компиляции TypeScript

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 4.8K
Node.JS *TypeScript *
Туториал

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

Некоторые библиотеки предоставляют много возможностей, из которых в вашем проекте используется от силы пара процентов. В бандл сборки они не входят благодаря tree-shaking, но жрут ресурсы во время компиляции: процессор и память.

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

Читать далее
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 21

Как общаться с ChatGPT с помощью голосовых сообщений в Telegram

Уровень сложности Средний
Время на прочтение 9 мин
Количество просмотров 12K
Блог компании Selectel Мессенджеры *Node.JS *API *Искусственный интеллект
Туториал

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

В этой статье делюсь пошаговой инструкцией, как реализовать ChatGPT Telegram-бота на NodeJS и задеплоить его на виртуальный сервер. Подробности под катом!
Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Комментарии 10

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

Работа