Содержание

Технология

Node.js

Node.js запускает JavaScript и TypeScript на сервере. Я использую его для API, фоновых задач и серверов реального времени, в том числе для авторитетного игрового сервера, который держит одно общее состояние на всю комнату игроков

Тип
Технология
Официальный сайт
nodejs.org
В моей работе
Проекты 1 · Инструменты 1 · Услуги 3
Опубликовано

Где я её применяю

Проекты

QRuma: игры для одного большого экрана, где телефон — геймпад

QRuma запускает игры для компании на одном большом экране: игроки сканируют QR-код, и телефон становится геймпадом без установки. Проект вырос из VibeCatter

Инструменты

Конструктор квиза: свои вопросы для Quiz Battle

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

Услуги

Разработка MVP: от идеи до работающего продукта

Разработка MVP на заказ: объём, UX, дизайн, фронтенд, бэкенд, AI и запуск — силами одного сеньора, который сам был основателем и CTO

Услуги

Технический директор (CTO) на аутсорсе для стартапа

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

Услуги

AI для бизнеса: агенты, чат-боты и автоматизация

Разработка AI для бизнеса: AI-агенты, чат-боты на ваших данных, автоматизация с помощью ИИ, голос и видео — внутри работающего продукта

Что такое Node.js и что я на нём делаю?

Node.js держит много открытых соединений с небольшими накладными расходами — именно это нужно продуктам реального времени. А ещё сервер и интерфейс пишутся на одном языке и с одним набором типов

Основные факты

Тип
серверная среда выполнения JavaScript на движке V8 ·
Модель
асинхронная, управляемая событиями ·

Как я применяю Node.js

  • Авторитетный игровой сервер. В моей мультиплеерной платформе Node.js с Express и Socket.IO — единственный источник истины: телефоны отправляют ввод, сервер применяет его до 60 раз в секунду и отправляет состояние на большой экран. Телефон не может сам решить, что набрал очки. Кейс платформы.
  • API и фоновые задачи. Бэкенды моих продуктов: вход, платежи, уведомления, аналитика и задачи по расписанию, например еженедельный отчёт в Telegram.
  • Эксплуатация. На моём собственном сервере процессы Node.js работают под PM2, и новый релиз должен пройти проверки работоспособности, прежде чем получит трафик.

Когда я выбираю Node.js и его ограничения

Node.js — мой выбор по умолчанию для API и серверов реального времени: на нём быстро разрабатывать, он хорошо держит много простаивающих соединений и использует общие типы с фронтендом.

Его слабое место — тяжёлые вычисления: долгий расчёт блокирует все остальные запросы в том же процессе. Такую работу я выношу в отдельный воркер или в сервис на другом языке. Для кода машинного обучения я беру Python: нужные библиотеки есть именно там.

Работает вместе с

Источники

  1. About Node.js — OpenJS Foundation ·

Контакты

Есть идея? Давайте воплотим её